Спецификация
файла llms.txt
Полное описание формата, рекомендации по написанию и практические примеры. Эта страница — русскоязычный эквивалент оригинального черновика стандарта Джереми Ховарда (Answer.AI, сентябрь 2024).
Введение
Большие языковые модели всё чаще обращаются к информации на сайтах, но сталкиваются с ключевым ограничением: контекстное окно слишком маленькое, чтобы поместить сайт целиком. Преобразование сложной HTML‑страницы с навигацией, рекламой и JavaScript в понятный модели текст — задача одновременно сложная и неточная.
Файл /llms.txt предлагает решение: разместить в корне сайта одну страницу Markdown с краткой сутью проекта и ссылками на подробные материалы.
Файл нужен во время inference — когда пользователь задал вопрос и агент пошёл искать ответ. Не для обучения моделей.
Зачем нужен
Сайты одновременно служат и людям, и моделям, но модели выигрывают от более лаконичной, экспертной информации, собранной в одном доступном месте. Это особенно важно для сценариев вроде разработки, где моделям нужен быстрый доступ к документации и API.
Кому это полезно
- Разработчикам библиотек — помочь LLM точно отвечать на вопросы об API
- SaaS‑продуктам — чтобы ассистенты корректно рассказывали о фичах и тарифах
- Интернет‑магазинам — объяснить структуру каталога и политики
- Медиа и блогам — задать тематику и ключевые материалы
- Университетам и школам — быстрый доступ к курсам и ресурсам
- Частным сайтам — помочь ассистентам отвечать на вопросы о резюме или проектах
Быстрый старт
Три шага, чтобы ваш сайт стал понятнее моделям:
- Откройте генератор и заполните форму: название, описание, ссылки на ключевые материалы.
- Скачайте файл
llms.txtи загрузите его в корень сайта — так, чтобы он открывался по адресуhttps://ваш‑сайт.ру/llms.txt. - Добавьте
.md‑версии важных страниц. Это не обязательно, но сильно повышает точность моделей.
Формат файла
Спецификация требует конкретный набор разделов в определённом порядке:
| Элемент | Синтаксис | Обязателен | Комментарий |
|---|---|---|---|
| Название проекта | # Название | Да | Единственный обязательный элемент файла. |
| Краткое описание | > Одно предложение | Нет | Желательно добавить, чтобы сразу задать контекст. |
| Детали | Абзацы, списки — без заголовков | Нет | Подходит для ограничений, совместимости и важных заметок. |
| Секции со ссылками | ## Название + маркированный список | Нет | Основной рабочий слой формата для навигации по материалам. |
| Optional‑секция | ## Optional | Нет | Можно пропускать при нехватке контекста. |
Минимальный шаблон
# Название
> Необязательное описание
Необязательные детали.
## Название секции
- [Заголовок ссылки](https://ссылка): подробности
## Optional
- [Заголовок](https://ссылка)
Разделы
H1 — название проекта
Единственный обязательный элемент файла. Одна строка с понятным человеку названием проекта.
Blockquote — суть
Короткое резюме проекта в одну‑две строки. Задаёт контекст для всего остального. Хорошая цитата помогает модели правильно интерпретировать ссылки ниже.
Абзацы и списки — детали
Любые Markdown‑блоки, кроме заголовков: важные факты, ограничения, совместимость. Здесь можно использовать жирный шрифт, курсив, инлайн‑код.
Заголовки уровня ## начинаются только после блока деталей. Это критично для парсеров.
Секции H2 — списки ссылок
Каждая секция начинается с ## Название и содержит маркированный список ссылок. Формат одной строки:
- [Название ссылки](https://url): необязательные подробности
Обязательная часть — это Markdown‑ссылка. Всё после двоеточия — необязательное описание, которое помогает модели решить, стоит ли её читать.
Секция «Optional»
Если секция называется
## Optional, парсер может пропустить её ссылки при нехватке контекста.
Используйте её для вторичных материалов: истории изменений, roadmap, дополнительной литературы. Главное правило: если вы не уверены, что материал критичен для понимания проекта — вынесите его в Optional.
Markdown‑версии страниц
Вторая часть предложения: для страниц с полезной для LLM информацией давайте чистую Markdown‑версию по тому же URL с добавлением .md:
example.ru/docs/api.html→example.ru/docs/api.html.mdexample.ru/blog/post/→example.ru/blog/post/index.html.md
В ссылках внутри llms.txt указывайте именно Markdown‑версию — тогда модель получит текст без JavaScript‑рендеринга и навигационного мусора.
Рекомендации по написанию
Чтобы файл был по‑настоящему полезен:
- Используйте краткий и ясный язык
- Для каждой ссылки добавляйте короткое информативное описание
- Избегайте двусмысленных терминов и жаргона без объяснения
- Запустите парсер, разверните файл в контекст и протестируйте на нескольких моделях
Задайте GPT‑4, Claude или YandexGPT пять сложных вопросов по проекту с развёрнутым llms.txt в контексте. Если ответы неточные — ищите пробелы в файле.
Примеры
См. каталог примеров с работающими файлами от разных проектов. Для быстрой визуальной отсылки:
# FastHTML
> FastHTML — библиотека на Python, объединяющая Starlette, Uvicorn,
> HTMX и FT‑теги для server‑rendered гипермедиа‑приложений.
Важные заметки:
- Часть API вдохновлена FastAPI, но несовместима с ним
- Работает с JS‑native web components, но не с React/Vue/Svelte
## Документация
- [Быстрый старт](https://fastht.ml/docs/start.md): обзор фич
- [Справочник HTMX](https://htmx.org/reference.md): атрибуты и события
## Примеры
- [TODO‑приложение](https://github.com/example/todo): CRUD с idiomatic FastHTML
## Optional
- [Документация Starlette](https://example.com/starlette.md)
Интеграции
Инструменты, которые помогают работать с форматом:
llms_txt2ctx— CLI и Python‑утилита: парсит файл и разворачивает его в контекст для LLM- vitepress‑plugin‑llms — автогенерация для VitePress
- docusaurus‑plugin‑llms — то же для Docusaurus
- llms‑txt‑php — чтение и запись файлов из PHP
- VS Code PagePilot — чат‑участник, загружающий внешний контекст
Частые вопросы
Заменит ли это robots.txt?
Нет. У них разные задачи. robots.txt управляет обходом ботами (обычно поисковыми). llms.txt используется моделями по запросу пользователя — при включении в проект документации или при поиске в чате.
А чем не подходит sitemap.xml?
Карта сайта перечисляет все индексируемые страницы. Но: часто не содержит LLM‑версий, не включает внешние ссылки (даже если они помогут понять проект), и в сумме — слишком большая, чтобы поместиться в контекст.
Модели правда читают этот файл?
Сам файл — открытое предложение сообщества (proposal). На него уже опираются некоторые инструменты для разработчиков — IDE‑плагины, агентные фреймворки и RAG‑pipeline. Большие LLM не читают его автоматически при обучении — это остаётся задачей инфраструктуры вокруг модели.
На каком языке писать?
На языке целевой аудитории. Для международных продуктов делайте две версии: /llms.txt (основной) и /en/llms.txt (или наоборот). В файле можно дать ссылку на перевод.
Как помочь
Формат открытый. Обсуждение идёт в репозитории на GitHub. Если у вас есть пример хорошего llms.txt на русском — пришлите его через GitHub Issues или добавьте в наш каталог.
Обновлено: 20 апреля 2026 · Лицензия: CC BY 4.0