Jeden z najbardziej kontrowersyjnych momentów w historii agentic web: OpenAI ogłosiło w dokumentacji dla webmasterów że OAI-SearchBot — agent który pobiera strony w odpowiedzi na zapytania użytkowników — nie będzie respektował robots.txt w ten sam sposób co GPTBot.
Argument był następujący: gdy użytkownik bezpośrednio pyta ChatGPT żeby sprawdził konkretną stronę, to jest analogia do człowieka który otwiera przeglądarkę i wchodzi na stronę. Robots.txt mówi automatycznym crawlerom żeby nie przychodzili. Ale użytkownik który kliknął link — nie jest automatycznym crawlerem.
Czy agent działający na wyraźne polecenie użytkownika jest „botem” w sensie robots.txt?
Czym jest user-triggered fetcher
User-triggered fetcher to agent AI który pobiera stronę internetową na bezpośrednie polecenie użytkownika — „sprawdź tę stronę”, „przeczytaj ten artykuł”, „znajdź informacje na tej stronie” — w odróżnieniu od autonomicznego crawlera który indeksuje bez konkretnego polecenia. OpenAI argumentuje że user-triggered fetcher jest analogiczny do przeglądarki użytkownika i nie powinien podlegać ograniczeniom robots.txt tak jak autonomiczny crawler.
Kontrowersja i stanowiska
OpenAI w dokumentacji z 2025 roku: user-triggered fetchers działające na żądanie użytkownika mogą nie respektować Disallow w robots.txt bo są odpowiednikiem przeglądarki inicjowanej przez człowieka.
Krytycy (Electronic Frontier Foundation, wielu właścicieli stron): robots.txt jest umową między właścicielem strony a wszystkimi botami, niezależnie od tego kto inicjuje żądanie. Właściciel strony nie ma możliwości odróżnienia user-triggered request od autonomicznego crawlowania bez Web Bot Auth.
Kompromisowe podejście: Web Bot Auth pozwala właścicielowi strony zweryfikować tożsamość agenta i zdecydować — „wpuszczam zweryfikowanego agenta użytkownika Google, blokuję anonimowe crawlery” — bez polegania wyłącznie na deklaracjach w robots.txt.
Praktyczne implikacje
robots.txt jako jedyna warstwa ochrony jest niewystarczająca gdy user-triggered fetchers jej nie respektują. Właściciel strony który chce kontrolować dostęp musi używać bardziej aktywnych mechanizmów: Web Bot Auth dla weryfikacji tożsamości, AI Crawl Control dla blokowania na poziomie CDN.
Jednocześnie: user-triggered fetcher ma legitymowanego użytkownika za sobą. Całkowite blokowanie może oznaczać że użytkownicy którzy chcą korzystać z AI nie mogą uzyskać dostępu do treści przez agenta — co może być nieintencjonalne.
llms.txt jako sygnał intencji
llms.txt jest próbą rozwiązania tego dylematu przez deklarację intencji zamiast techniczne blokowanie. Właściciel który umieszcza stronę w llms.txt mówi: „chcę być dostępny dla agentów AI i oto co mam”. Właściciel który nie ma llms.txt — nie deklaruje nic w jedną ani drugą stronę.