Jak napsat llms.txt: syntaxe a praktický příklad
llms.txt má jednoduchou strukturu založenou na Markdownu. Podívejte se, jak správně zapsat název webu, jeho popis, sekce a odkazy a jak může vypadat hotový soubor.
Vytvoření souboru llms.txt není složité. Přestože používá Markdown, nejde o dokument, do kterého by bylo potřeba převádět celý web. Jeho úkolem je stručně představit web a nabídnout AI agentům odkazy na místa, kde najdou důležité informace.
Specifikace záměrně používá jednoduchý textový formát. Soubor tak může bez problémů vytvořit provozovatel webu postaveného na PHP, WordPressu, vlastním redakčním systému nebo statickém HTML. Nezáleží na technologii, která stránky na serveru generuje.
Jak vypadá základní llms.txt
Soubor se nejčastěji umisťuje do kořene webu, takže je dostupný například jako https://example.cz/llms.txt. Jedinou povinnou částí je nadpis první úrovně obsahující název webu nebo projektu.
# Example.czTakový soubor sice splňuje minimální požadavek, ale příliš užitečných informací agentovi neposkytne. V praxi je proto vhodné přidat krátké vysvětlení webu a odkazy na jeho nejdůležitější části.
# Example.cz
> Example.cz poskytuje online služby pro podnikatele a malé firmy.
## Služby
- [Přehled služeb](https://example.cz/sluzby/): Nabízené služby a jejich základní popis
- [Ceník](https://example.cz/cenik/): Aktuální ceny a podmínky
## Nápověda
- [Časté dotazy](https://example.cz/faq/): Odpovědi na nejčastější otázky
- [Kontakt](https://example.cz/kontakt/): Kontaktní informace a zákaznická podporaNa tomto příkladu je vidět prakticky celá základní syntaxe llms.txt.
Název a popis webu
První řádek začínající znakem # je hlavní nadpis. Měl by obsahovat jednoznačný název webu, služby nebo projektu:
# Example.czZa ním může následovat stručný popis uvedený znakem >. Jde o Markdown blockquote, který má v llms.txt praktickou roli: poskytne agentovi rychlý kontext, o čem web je.
> Example.cz je katalog ubytovacích zařízení v České republice.Popis není potřeba pojímat jako reklamní slogan. Užitečnější je jednou nebo dvěma větami přesně říct, co web obsahuje a k čemu slouží.
Obsah se rozděluje do sekcí
Další části souboru se organizují pomocí nadpisů druhé úrovně, tedy dvěma znaky ##. Jejich názvy nejsou pevně předepsané a měly by odpovídat skutečnému obsahu webu.
## Produkty
## Služby
## Dokumentace
## NávodyFiremní web tak může mít sekce Služby, Ceník a Podpora, internetový obchod například Kategorie a Informace o nákupu a softwarový projekt Dokumentace, API a Příklady.
Smyslem není mechanicky přepsat celé menu webu. llms.txt má být spíše kurátorovaný rozcestník, který agentovi ukáže, kde hledat informace důležité pro pochopení webu.
Jak správně zapisovat odkazy
Pod jednotlivými sekcemi následuje seznam odkazů. Používá se běžná Markdown syntaxe:
- [Ceník](https://example.cz/cenik/)Za odkaz je možné přidat dvojtečku a krátký popis:
- [Ceník](https://example.cz/cenik/): Aktuální ceny služeb a podmínky používáníPopis není povinný, ale je užitečný. Jazykový model díky němu může lépe poznat, který odkaz má pro konkrétní dotaz smysl otevřít.
Obecný zápis položky je tedy velmi jednoduchý:
- [Název stránky](URL): Volitelný popis obsahuMusí odkazy vést na .md soubory?
Nemusí. To je důležitý rozdíl mezi samotnou syntaxí llms.txt a doporučením poskytovat obsah webu také ve formátu vhodném pro jazykové modely.
Pokud máte běžnou stránku na adrese:
https://example.cz/cenik/můžete na ni z llms.txt normálně odkázat. Totéž platí pro URL jako /kontakt.php, /produkt/123/ nebo jakoukoli jinou veřejně dostupnou adresu. To, zda je stránka na serveru vytvořena v PHP, Pythonu, JavaScriptu nebo jinou technologií, není pro llms.txt podstatné.
Specifikace v2 navíc doporučuje možnost nabídnout důležité stránky také jako čistý Markdown. Vedle běžné stránky tak může existovat například /cenik.md nebo jiná Markdown varianta stejného obsahu. Pro agenta může být jednodušší ke zpracování, ale není podmínkou pro používání llms.txt.
Co patří do sekce Optional
Ve specifikaci se používá také konvence sekce Optional. Hodí se pro odkazy, které mohou být užitečné, ale nejsou zásadní pro pochopení webu.
## Optional
- [Blog](https://example.cz/blog/): Články a novinky
- [O nás](https://example.cz/o-nas/): Informace o provozovateliVe verzi 2 už nemá Optional zvláštní strojový význam. Je to především způsob, jak označit sekundární obsah, který může agent v případě potřeby přeskočit.
Co do llms.txt skutečně vybrat
Jednou z nejčastějších chyb by bylo vytvořit z llms.txt druhou sitemapu. Pokud web obsahuje deset tisíc stránek, není cílem deset tisíc URL překopírovat do textového souboru.
Výběr by měl odpovídat tomu, co agent potřebuje k orientaci. U firmy to mohou být služby, produkty, ceník, obchodní podmínky, často kladené otázky a kontakt. U katalogu hlavní kategorie a vysvětlení jeho struktury. U dokumentace především úvod, návody, API reference a důležité technické části.
Každý odkaz by měl mít nějaký důvod, proč v souboru je. Pokud stránka nepomáhá pochopit web ani najít důležitou informaci, pravděpodobně není potřeba ji do llms.txt přidávat.
Hotový příklad llms.txt
Pro běžný web může výsledný soubor vypadat třeba takto:
# Example.cz
> Example.cz poskytuje online nástroje pro podnikatele a malé firmy.
Na webu najdete informace o jednotlivých službách, jejich cenách a používání.
## Služby
- [Přehled služeb](https://example.cz/sluzby/): Přehled nabízených online služeb
- [Ceník](https://example.cz/cenik/): Aktuální ceny a podmínky
- [Jak to funguje](https://example.cz/jak-to-funguje/): Vysvětlení fungování služby
## Podpora
- [Nápověda](https://example.cz/napoveda/): Návody k používání služby
- [Časté dotazy](https://example.cz/faq/): Odpovědi na nejčastější otázky
- [Kontakt](https://example.cz/kontakt/): Kontaktní informace
## Optional
- [Blog](https://example.cz/blog/): Články, návody a novinky
- [O projektu](https://example.cz/o-projektu/): Informace o projektu a jeho provozovateliVýsledkem je krátký soubor, ze kterého lze rychle pochopit zaměření webu i to, kde hledat další informace.
Ruční tvorba není jediná možnost
U malého webu zabere vytvoření llms.txt několik minut. U rozsáhlejšího projektu už může být obtížnější vybrat vhodné stránky a připravit jejich popisy. V takovém případě lze použít generátor llms.txt, který web analyzuje a připraví návrh souboru automaticky.
Automaticky vytvořený výsledek je vhodné před zveřejněním projít stejně jako ručně napsaný soubor. Především má smysl zkontrolovat, zda obsahuje skutečně důležité stránky, zda odkazy fungují a zda jejich popisy odpovídají aktuálnímu obsahu.
Syntaxe je jednoduchá záměrně
llms.txt nepotřebuje speciální parser na straně provozovatele webu, databázi ani nové API. V nejběžnější podobě jde skutečně jen o textový soubor využívající několik základních prvků Markdownu.
Stačí # pro název projektu, > pro jeho stručné představení, ## pro jednotlivé skupiny zdrojů a odkazy zapisované jako [název](URL). Podstatnější než technická složitost je výběr informací, na které soubor agenta nasměruje.
Dobře vytvořený llms.txt proto není ten nejdelší. Je to ten, ze kterého lze rychle pochopit, čemu se web věnuje a kde na něm hledat spolehlivé a relevantní informace.