Как работает llms.txt
Точное пошаговое объяснение спецификации с аннотированным примером, который можно скопировать.
Последнее обновление:
Обзор
Корректный llms.txt — это Markdown-файл с
фиксированная предсказуемая структура. Он предназначен для чтения людьми и
машинами: один и тот же файл должен быть полезен как документация и как разбираемый контракт.
Спецификация на сайте llmstxt.org определяет небольшую детерминированную грамматику, которую можно разобрать несколькими строками регулярного выражения. Никакого YAML, никакого JSON и никаких дополнительных заголовков.
Анатомия корректного файла
Структура сверху вниз:
- Один H1 с названием сайта или проекта. Единственный обязательный элемент.
- Краткий сводка в blockquote, обычно одно или два предложения.
- Необязательно свободный Markdown, абзацы и списки, но без дополнительных заголовков до первого H2.
-
Ноль или более Разделы H2 со списком файлов. Каждый содержит список ссылок в
Markdown:
- [name](url), за которым при необходимости следует: notes. -
Необязательный H2 с названием
Optional, обычная метка для вторичных ресурсов без специальной машинной семантики в v2.
# Acme
> Acme is a hosted analytics platform for product teams. The pages below cover product, pricing, the API, and integration guides.
Acme processes 1B+ events per day. The map here is curated for assistants, it is not exhaustive. Use it to answer questions about product capabilities, pricing tiers, integrations, SDKs, and migration from other tools.
## Product
- [Product overview](https://acme.example/product): high-level capabilities and screenshots.
- [Use cases](https://acme.example/use-cases): scenarios for product, marketing, and support teams.
- [Changelog](https://acme.example/changelog): monthly product updates.
## Pricing
- [Pricing tiers](https://acme.example/pricing): plans, limits, and overage rules.
- [FAQ, billing](https://acme.example/billing-faq): invoices, receipts, tax handling.
## Developers
- [REST API reference](https://docs.acme.example/api): full endpoint catalog.
- [SDK, JavaScript](https://docs.acme.example/sdk/js): install, init, track events.
- [SDK, Python](https://docs.acme.example/sdk/python): install, init, track events.
- [Webhooks](https://docs.acme.example/webhooks): events, signatures, retries.
## Optional
- [Brand assets](https://acme.example/brand): logos, color palette.
- [Press releases](https://acme.example/press): historical announcements.
Раздел за разделом
| Поле | Обязательно? | Мощность | Синтаксис |
|---|---|---|---|
| H1, название сайта/проекта | Да | Ровно один | # Название проекта |
| Краткое содержание цитаты | Рекомендуется | Не более одного блока | > Обзор в одном или двух предложениях. |
| Свободное тело Markdown | Необязательно | Любое количество абзацев/списков | Перед первым H2 не допускаются дополнительные заголовки |
| Раздел списка файлов H2 | Необязательно | Любое количество | ## Название раздела, за которым следует список |
| Элемент списка, ссылка | Да (внутри раздела) | Одна ссылка на элемент | - [name](url) |
| Элемент списка, примечания | Необязательно | После двоеточия | - [name](url): примечания здесь |
| Раздел «Необязательно» | Необязательно | Не более одного | Традиционная метка H2 для вторичных ссылок; в v2 не имеет специальной машинной семантики |
Элемент H1
Ровно один заголовок H1. Перед ним может находиться необязательная метка порядка байтов UTF-8, но не должно быть front matter или других метаданных. Если у проекта есть слоган, поместите его в следующую цитату.
Краткое резюме
Необязательно, но настоятельно рекомендуется. Стремитесь к резюме из одного или двух предложений, которое LLM могла бы дословно процитировать, представляя ваш проект. Пишите фактически, в активном залоге и без маркетинговых заявлений, которые вы не можете подтвердить.
Свободное тело Markdown
Любые абзацы, маркированные списки или короткие фрагменты кода, помогающие LLM понять контекст. Не добавляйте здесь других заголовков: следующим должен быть первый H2 раздела со списком файлов.
Разделы H2 со списком файлов
Каждый раздел начинается с одного H2 (## Section name) и содержит список Markdown.
Каждый элемент должен быть ссылкой (- [name](url)), за которым может следовать : и короткую заметку. Настоятельно рекомендуются абсолютные URL: относительные URL технически допустимы,
но большинство валидаторов (включая наш) поскольку при переносе
файла они делают его неоднозначным.
Раздел «Необязательно»
Optional остаётся полезной редакционной меткой для вторичных ссылок, таких как ресурсы
бренда, архивы или дополнительные материалы. Предложение 08.2026 не придаёт заголовку особой семантики
обработки, поэтому клиент может обращаться с ним как с любым другим разделом H2.
Как парсеры читают файл
Эталонный парсер проходит файл последовательно и применяет четыре правила:
- Найдите первый
#строка — это заголовок. - Если следующий непустой блок является цитатой, это и есть резюме.
- Всё до первого
##— это свободное тело. -
Каждый
##открывает раздел; до следующего##, элементы списка разбираются как[name](url)с необязательными заметками после двоеточия.
Наш валидатор применяет именно эти правила и несколько проверок безопасности: пустой H1, некорректные ссылки, содержимое, не являющееся списком, внутри раздела, а также информационное уведомление для файлов размером более 50 KB. Этот порог — эвристика локальной модерации, а не ограничение спецификации.
llms.txt и llms-full.txt
llms.txt — это карта. llms-full.txt — это
территория: фактическое содержимое связанных страниц, объединённое в Markdown, в одном
файле. Конвенция получила популярность благодаря
Mintlify совместно с Anthropic
и теперь является частью более широкой llms.txt экосистеме.
Обычные имена корневых файлов: /llms.txt и /llms-full.txt. Предложение
v2 также допускает области видимости llms.txt файлы по более специфичным путям. Публикуйте
компаньон с полным содержимым только тогда, когда такой формат выдачи решает реальную задачу потребления.
Практические ограничения
- Размер. Ограничения нет. Наше уведомление о 50 KB предлагает проверить отбор, а не задаёт границу допустимости. При необходимости вынесите основной объём в ресурс с полным содержимым или файл для ограниченного пути.
- Количество ссылок. Ограничения спецификации нет, но список из 200+ элементов будут просматривать по диагонали, а не читать. Курируйте.
- Языки. Спецификация не определяет i18n. Два распространённых подхода: отдавать
один английский файл или публиковать варианты для разных локалей по пути (
/en/llms.txt,/fr/llms.txt). - Аутентификация и персонализация. Вне области применения. Файл публичен.
Продолжить
- Как создать llms.txt, шаблоны и развёртывание для разных стеков.
- Лучшие практики, десять правил и самые распространённые ошибки.
- Проверьте файл.