Перейти к содержимому
Выберите тему

Примеры llms.txt: сложные сценарии

Сложные сценарии llms.txt с разбором: несколько языков, версий, пакетов монорепозитория и сервисов, полный текст, сборка в CI и настоящие файлы известных сайтов

Сценарий Сколько файлов Главная мысль
Несколько языков по одному на язык файл языка лежит в подпути языка
Несколько версий по одному на версию корневой файл ведёт на текущую
Монорепозиторий корень и пакеты корень - оглавление, подробности в пакетах
Микросервисы корень и сервисы один вход, дальше по сервисам
Индекс и полный текст два индекс обязателен, полный текст - нет
Сборка в CI сколько нужно файл собирается при каждом изменении
Когда подходит
У сайта несколько языковых версий в подпутях: /ru/, /es/.
Ловушка
Сложить все языки в один корневой файл. Агент получит смесь и не поймёт, какая версия нужна.
Где посмотреть
Язык корневого файла на многоязычном сайте proposal не определяет: это открытый вопрос (issue 147 в репозитории).
  • llms.txt английская версия, покрывает весь сайт
  • Директорияru/
    • llms.txt русская версия, покрывает /ru/
  • Директорияes/
    • llms.txt испанская версия, покрывает /es/
llms.txt
# Documentation Hub
> Comprehensive guides and API reference for developers.
## Getting Started
- [Quick Start](https://docs.example.com/en/quickstart.md): 5-minute setup guide
- [Installation](https://docs.example.com/en/install.md): System requirements
## API Reference
- [REST API](https://docs.example.com/en/api/rest.md): HTTP endpoints
Когда подходит
Документация хранит несколько версий продукта: /docs/v3/, /docs/v2/.
Ловушка
Оставить в корневом файле ссылки на старую версию. Агент напишет код под устаревший API.
Что читает агент

Вопрос без версии

  1. Корневой файл/llms.txt
  2. Текущая версия/docs/v3/

Вопрос про старую версию

  1. Файл версии/docs/v2/llms.txt
  2. Страницы этой версии/docs/v2/
llms.txt
# MyLibrary v3.0
> Modern JavaScript utility library (current stable).
## Documentation
- [Migration from v2](https://mylib.dev/docs/v3/migration.md): Breaking changes
- [API Reference](https://mylib.dev/docs/v3/api.md): Complete API docs
## Optional
- [v2 llms.txt](https://mylib.dev/docs/v2/llms.txt): Previous stable version
- [v1 llms.txt](https://mylib.dev/docs/v1/llms.txt): Deprecated
Когда подходит
Один сайт документирует несколько пакетов, у каждого свой раздел.
Ловушка
Перечислить в корне все страницы всех пакетов. Файл перестанет помещаться в контекст.
Где посмотреть
OpenAI: корневой файл и вложенные индексы для /api, /codex и /commerce.
  • llms.txt оглавление: по строке на пакет
  • Директорияcore/
    • llms.txt всё про ядро
  • Директорияcli/
    • llms.txt всё про командную строку
  • Директорияplugins/
    • llms.txt всё про расширения
llms.txt
# Acme Platform
> Monorepo containing all Acme packages and services.
## Packages
- [Core](https://acme.dev/core/llms.txt): Core library and shared utilities
- [CLI](https://acme.dev/cli/llms.txt): Command-line interface
- [Plugins](https://acme.dev/plugins/llms.txt): Plugin system
## Guides
- [Getting Started](https://acme.dev/guides/quickstart.md): First steps
- [Architecture](https://acme.dev/guides/architecture.md): How the packages fit together
Когда подходит
Документация описывает набор сервисов с разными API.
Ловушка
Смешать публичные и внутренние сервисы. В файл попадает только то, что открыто всем: llms.txt доступ не ограничивает.
Один вход, дальше по сервисам
  1. Агентищет, как принять оплату
  2. Корневой файл/llms.txtсписок сервисов
  3. Файл сервиса/billing/llms.txtстраницы биллинга
  4. Нужная страница/billing/payments.md
llms.txt
# Platform API Documentation
> Microservices platform for e-commerce operations.
## Services
- [Auth](https://docs.platform.io/auth/llms.txt): Authentication and authorization
- [Users](https://docs.platform.io/users/llms.txt): User management
- [Orders](https://docs.platform.io/orders/llms.txt): Order processing
- [Billing](https://docs.platform.io/billing/llms.txt): Payments and invoices
## Optional
- [Status Page](https://status.platform.io): Service health
Когда подходит
Агенту бывает нужен весь текст документации одним запросом.
Ловушка
Считать llms-full.txt частью proposal. Это практика платформ документации, и обязательным файл не является.
Где посмотреть
Stripe обходится без полного файла. У Cloudflare он занимает 67 МБ.
Что лежит в каждом файле

llms.txt

ссылки

разделссылкассылка

  • Читается первым
  • Килобайты

llms-full.txt

сам текст страниц

страницастраницастраница

  • Читается, когда нужен весь корпус
  • От сотен килобайт до десятков мегабайт
llms.txt
# Framework Documentation
> Full-stack web framework for building modern applications.
## Core
- [Getting Started](https://framework.dev/docs/start.md): Installation and first app
- [Routing](https://framework.dev/docs/routing.md): File-based routing
- [Middleware](https://framework.dev/docs/middleware.md): Request and response middleware
## Optional
- [Full text](https://framework.dev/llms-full.txt): All pages in one file
Когда подходит
Документация меняется часто, и файл нельзя вести руками.
Ловушка
Собирать файл раз в квартал. Ссылки умирают раньше: три примера в прежней версии этой страницы уже отвечали 404.
Файл собирается вместе с сайтом
  1. Изменениеdocs/**правка страницы
  2. pushСборкагенератор читает карту сайта
  3. Проверкакаждая ссылка отвечает 200
  4. Публикацияpublic/llms.txt
.github/workflows/llms.yml
name: Update llms.txt
on:
push:
paths:
- 'docs/**'
schedule:
- cron: '0 0 * * 0'
jobs:
update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Generate llms.txt
run: |
npx llmstxt gen https://docs.example.com/sitemap.xml \
-ep "**/blog/**" -t "My Docs" > public/llms.txt
- name: Commit and push
run: |
git config user.name "GitHub Action"
git config user.email "action@github.com"
git add public/llms.txt
git diff --staged --quiet || git commit -m "Update llms.txt"
git push

Команды генератора описаны на странице llmstxt CLI.

Пример написан для GitHub Actions. Тот же шаг добавляют в сборку на Vercel и Netlify. Платные тарифы GitHub, Vercel и Netlify можно оплатить из России. Весь список: Как оплачивать и работать из России.

Все адреса открывались в день проверки. Для каждого сказано, что файл показывает и чего не доказывает.

  • llms-full.txt
    есть
    Markdown-страницы
    по заголовку Accept

    Что показывает. Корневой индекс и вложенные файлы для /api, /codex, /commerce

    Чего не доказывает. Что ChatGPT читает чужие llms.txt

  • llms-full.txt
    есть
    Markdown-страницы
    да, с rel=alternate

    Что показывает. Индекс документации и полный текст одним файлом

    Чего не доказывает. Что Claude читает чужие llms.txt

  • llms-full.txt
    есть
    Markdown-страницы
    да

    Что показывает. Очень большой индекс: полный текст занимает 67 МБ

    Чего не доказывает. Что файл такого размера удобен агенту целиком

  • llms-full.txt
    нет
    Markdown-страницы
    по заголовку Accept

    Что показывает. llms-full.txt не обязателен: хватает индекса и Markdown-страниц

    Чего не доказывает. Что отказ от полного файла - общее правило

  • llms-full.txt
    не проверялось
    Markdown-страницы
    по заголовку Accept

    Что показывает. Единственный замеренный сайт с rel=describedby из второй редакции

    Чего не доказывает. Что вторая редакция уже распространена

  • llms-full.txt
    нет
    Markdown-страницы
    да

    Что показывает. Индекс без полного файла на большой документации

    Чего не доказывает. Что Copilot опирается на этот файл

  • llms-full.txt
    есть
    Markdown-страницы
    да

    Что показывает. Платформа создаёт файлы автоматически для всех сайтов на ней

    Чего не доказывает. Качество каждого такого файла

  • llms-full.txt
    не проверялось
    Markdown-страницы
    не проверялось

    Что показывает. Пример на русском сайте

    Чего не доказывает. Что Поиск Яндекса использует такие файлы