Markdown for Agents — gdy strona mówi do agenta jego językiem
HTML to język internetu zaprojektowany dla przeglądarek i ludzi. Zawiera tagi layoutu, klasy CSS, skrypty JavaScript, nawigację, stopkę, reklamy, komentarze w kodzie. Dla człowieka to niewidoczne — przeglądarka renderuje to w piękną stronę. Dla agenta AI to szum — tysiące tokenów które kosztują czas i pieniądze, a nie wnoszą żadnej informacji.
Cloudflare 12 lutego 2026 roku rozwiązało ten problem elegancko: zamiast zmuszać właścicieli stron do tworzenia osobnych wersji dla agentów — Cloudflare konwertuje HTML na Markdown w czasie rzeczywistym, na poziomie sieci, gdy agent o to poprosi.
Jak to działa technicznie
Mechanizm opiera się na standardowym HTTP content negotiation — mechanizmie który istnieje w protokole HTTP od lat, ale dotąd był używany głównie do negocjowania formatu odpowiedzi między typami mediów.
Agent który chce Markdown zamiast HTML wysyła w nagłówku żądania:
Accept: text/markdown
Cloudflare wykrywa ten nagłówek, pobiera oryginalny HTML ze źródła, konwertuje go na Markdown w czasie rzeczywistym na swoich serwerach brzegowych i zwraca agentowi czystą treść. Dla zwykłego użytkownika w przeglądarce — nic się nie zmienia. Dostaje HTML jak zawsze.
Odpowiedź zawiera dwa dodatkowe nagłówki. x-markdown-tokens mówi agentowi ile tokenów zajmuje odpowiedź — agent może zdecydować czy dokument mieści się w jego oknie kontekstu czy trzeba go podzielić. Content-Signal informuje o polityce właściciela strony wobec AI:
Content-Signal: ai-train=yes, search=yes, ai-input=yes
Ten drugi nagłówek widzisz zresztą na webflux.pl — to jest część ekosystemu który Cloudflare buduje razem z Markdown for Agents.
Ile tokenów oszczędza — liczby które robią wrażenie
Cloudflare podało konkretny przykład na własnym blogu. Ten sam artykuł serwowany jako HTML zajął 16 180 tokenów. Ten sam artykuł serwowany jako Markdown — 3 150 tokenów. To jest redukcja o 80%.
Dlaczego tak duża różnica? Prosty nagłówek w HTML kosztuje 12-15 tokenów. Ten sam nagłówek w Markdown — 3 tokeny. Do tego dochodzi nawigacja, stopka, skrypty, tagi layoutu, atrybuty CSS — wszystko to jest szumem dla agenta który chce tylko treść.
Dla agentów które działają na modelach płatnych per token — to jest bezpośrednia redukcja kosztów. Dla agentów które mają ograniczone okno kontekstu — to jest możliwość przetworzenia znacznie większej ilości treści w jednym zapytaniu. Dla llms-full.txt który agreguje całą zawartość serwisu — to jest różnica między plikiem który mieści się w kontekście a plikiem który go przekracza.
Dlaczego to nie jest cloaking ?
Gdy Cloudflare ogłosiło tę funkcję John Mueller z Google powiedział że serwowanie Markdown agentom to „głupi pomysł” i że LLM-y świetnie radzą sobie z HTML. Pojawiły się też obawy o cloaking — serwowanie innej treści robotom niż ludziom, co jest karalne przez Google.
Cloudflare odpowiedziało że ich implementacja jest fundamentalnie inna od cloakingu z dwóch powodów.
Pierwszy — mechanizm to content negotiation, nie user-agent detection. Cloaking działa tak: serwer sprawdza kto pyta i daje różne odpowiedzi. Markdown for Agents działa tak: klient mówi jaki format preferuje, serwer respektuje preferencję. To jest dokładnie to samo co dzieje się gdy przeglądarka mówi Accept: text/html i dostaje HTML, albo gdy prosi o Accept: application/json i dostaje JSON.
Drugi — konwersja dzieje się na poziomie sieci Cloudflare, nie na poziomie serwera źródłowego. Serwer właściciela strony zawsze zwraca ten sam HTML. Cloudflare konwertuje go po drodze. Treść jest identyczna — zmienia się tylko format.
Jedna rzecz jednak jest ostrożnościowo ważna: header Accept: text/markdown jest przekazywany do serwera źródłowego. Oznacza to że nieuczciwi operatorzy mogliby serwować inny HTML gdy widzą że zapytanie jest od agenta — a Cloudflare by to skonwertował i dostarczył. To jest teoretyczny wektor manipulacji który SEO eksperci sygnalizowali. Cloudflare zapowiedziało że rozważy stripowanie tego nagłówka przed przekazaniem do źródła.
Content Signals — warstwa intencji właściciela
Markdown for Agents jest powiązany z Content Signals — osobnym mechanizmem Cloudflare który pozwala właścicielom stron deklarować jak ich treść może być używana przez AI.
Domyślnie gdy włączasz Markdown for Agents odpowiedzi zawierają:
Content-Signal: ai-train=yes, search=yes, ai-input=yes
Znaczenie: zgadzam się żeby moja treść była używana do trenowania modeli AI, indeksowania przez wyszukiwarki AI i jako input dla agentów. Cloudflare zapowiedziało możliwość definiowania własnych polityk — np. ai-train=no, search=yes, ai-input=yes dla treści których nie chcesz w danych treningowych ale chcesz żeby agenty mogły z niej korzystać w czasie rzeczywistym.
To jest część szerszego ekosystemu kontroli nad tym co agenty mogą robić z Twoją treścią — obok robots.txt i llms.txt.
Kto już to używa i jak włączyć
Claude Code i OpenCode — dwa popularne narzędzia do kodowania AI — wysyłają Accept: text/markdown w każdym żądaniu. To oznacza że strony które mają Markdown for Agents włączone są od razu bardziej efektywne dla tych narzędzi.
Cloudflare obsługuje około 20% internetu. Funkcja jest dostępna w wersji beta bezpłatnie dla planów Pro, Business i Enterprise oraz SSL for SaaS. Włączasz ją w panelu Cloudflare: Dashboard → AI Crawl Control → Markdown for Agents.
Jeśli nie jesteś na Cloudflare — możesz osiągnąć podobny efekt przez własny middleware który sprawdza nagłówek Accept i zwraca Markdown gdy jest text/markdown. Lub przez llms-full.txt który agreguje całą treść w jednym pliku Markdown — agent pobiera go jednorazowo zamiast crawlować każdą stronę osobno.
Związek z agent-readiness
Markdown for Agents jest odpowiedzią na konkretny problem filara 1 — czytelności. Strona może mieć świetny semantyczny HTML i idealną hierarchię nagłówków — ale jeśli agent musi przetworzyć 16 000 tokenów żeby dotrzeć do treści która zajmuje 3 000, to jest marnotrawstwo które przekłada się na realne koszty i ograniczenia.
Razem z llms.txt i llms-full.txt tworzy warstwę infrastrukturalną agent-readiness po stronie serwera — właściciel strony aktywnie ułatwia agentom dostęp do treści zamiast zostawiać im HTML do parsowania.
Pojęcia powiązane w słowniku: llms.txt, llms-full.txt, Context window, AI crawler, Agent discovery, Filar 1 — czytelność
Powiązane artykuły na webflux.pl: Sześć filarów agent-readiness, Agent-readiness jako mapa