Post
Agenci AI czytają sieć i nikt im tego nie ułatwia
Agent AI wchodzi na stronę tak samo jak przeglądarka: wysyła żądanie HTTP i odbiera odpowiedź. Przeglądarka renderuje widok dla człowieka. Agent musi wyłuskać treść z gąszczu znaczników. Nad zachowaniem zewnętrznego agenta nikt nie ma pełnej kontroli, więc liczy się to, co maszyna naprawdę dostaje do przetworzenia. A większość serwisów odpowiada jej: „radź sobie sama”.
Strona dla ludzi ma nawigację, stopkę, baner cookies, skrypty analityczne i polecane artykuły. Strona dla agenta potrzebuje czystego tekstu. Nie trzeba dwóch serwisów, wystarczy wskazać maszynie, że wariant istnieje. To nie ciekawostka techniczna, tylko baza: czyste, maszynowe źródło treści daje fundament pod automatyzację publikacji, precyzyjne SEO i powtarzalny pakiet, który można zaoferować jako usługę.
Trzy nagłówki HTTP
Wymianę formatów załatwia content negotiation oparta na standardowych nagłówkach HTTP.
Pierwszy to Vary: Accept. Informuje pamięć podręczną, że odpowiedź zależy od nagłówka Accept, więc serwer pośredniczący nie może podać wersji HTML klientowi, który prosił o markdown.
Drugi to Content-Type: text/markdown w odpowiedzi tekstowej. Markdown ma własny typ MIME, dlatego nie stosuje się tutaj text/plain ani application/octet-stream.
Trzeci to Link: …; rel="alternate". Działa identycznie jak odnośnik do kanału RSS, przekazując klientowi bezpośredni adres alternatywnego wariantu zasobu.
W praktyce wygląda to tak:
GET /blog/agenci-ai-czytaja-siec/ HTTP/1.1
Accept: text/markdown
HTTP/1.1 200 OK
Content-Type: text/markdown; charset=utf-8
Vary: Accept
Link: </blog/agenci-ai-czytaja-siec.md>; rel="alternate"; type="text/markdown"
X-Robots-Tag: noindex
Nagłówek X-Robots-Tag: noindex ma jasny cel. Wariant markdown ma być publicznie dostępny, ale nie powinien konkurować z wersją HTML w indeksie wyszukiwarki. Dla agenta to żaden problem, bo analizuje nagłówki zamiast polegać na samym indeksie.
Maszynowy opis serwisu
Skąd agent ma wiedzieć, jak odpytać stronę? Rozwiązaniem jest plik manifestu w katalogu głównym serwera. Nazywa się llms.txt i znajduje się w tym samym miejscu, w którym od lat umieszcza się robots.txt.

W moim wydaniu ten plik zawiera:
- jednozdaniowy opis bloga z informacją, że publikuję pod pseudonimem,
- listę najnowszych wpisów z linkami HTML oraz odnośnikami
.md, - zestawienie metod pobierania treści: HTML, bezpośredni plik
.md, negocjacja nagłówkiemAccept, pełny zrzut oraz sitemap, - sekcję z uwagami, w tym zastrzeżenie, że treść ma charakter edukacyjny i nie jest zaproszeniem do testowania cudzych systemów.
Jeden plik definiuje pełną strukturę. Agent nie musi zgadywać konwencji ani testować kilku adresów URL w poszukiwaniu działającego wariantu.
Sprawdź to w pięć sekund
# wariant dla ludzi
curl -sI https://barteq.eu/blog/agenci-ai-czytaja-siec/ | grep -i vary
# wariant dla agentów
curl -s -H 'Accept: text/markdown' \
https://barteq.eu/blog/agenci-ai-czytaja-siec/ | head -5
# bezpośredni adres, bez negocjacji
curl -sI https://barteq.eu/blog/agenci-ai-czytaja-siec.md | grep -i content-type
# manifest
curl -s https://barteq.eu/llms.txt | head -20
Cztery komendy weryfikują konfigurację. Jeżeli trzecie zapytanie zwraca HTML, wariant maszynowy nie został poprawnie wystawiony.
Jedno źródło, dwa opakowania
Częstym błędem jest trzymanie HTML w bazie danych i konwertowanie go do markdownu w locie. Prowadzi to do dwóch generatorów i niespójnych wersji tekstu.
Moje podejście odwraca ten schemat: markdown jest źródłem, a HTML pochodną renderowaną jednorazowo przy publikacji. Wariant .md to dokładnie ten sam plik, z którego powstał HTML, serwowany bajt w bajt. Nie ma czego rozjeżdżać, bo nie ma drugiego generatora.
Fundament pod dalsze narzędzia
Gdy agent nie musi parsować HTML, cytuje precyzyjnie, bez gubienia fragmentów przez wplecione menu, zużywa mniej tokenów i rzadziej generuje błędy interpretacji.
Dla autora to przewidywalny proces. Raz skonfigurowany wariant maszynowy eliminuje rozbieżności między tym, co widzi wyszukiwarka, a tym, co pobiera robot. Obie strony dostają te same dane w dostosowanym formacie. Taki układ to gotowa baza pod automatyczną dystrybucję treści, pozycjonowanie i powtarzalną architekturę, którą przenosisz do kolejnych projektów.
Poprawki: