# Секции llms.txt: структура файла и раздел Optional

> Как устроены секции llms.txt по второй редакции proposal - списки ссылок под заголовками H2, секция Optional как соглашение, порядок, файлы для разделов и языков, типовые ошибки

Страница: https://llms-full-txt.ru/specification/sections/
Указатель сайта: https://llms-full-txt.ru/llms.txt

:::note[Редакция]
Страница описывает [вторую редакцию proposal](https://llmstxt.org/) (v2) от 10 августа 2026 года. Разница с первой - на странице [Изменения в v2](https://llms-full-txt.ru/specification/changes/).
:::

## Что такое секция

Секция - заголовок H2 и список ссылок под ним. Proposal называет такой список «file list»: перечень адресов, где лежат подробности.

```markdown
## Документация

- [Быстрый старт](https://example.com/quickstart.md): первые шаги
- [Справочник API](https://example.com/api.md): методы и параметры
```

Названия секций proposal не задаёт, кроме одного - `Optional`. Остальные выбирает автор файла.

## Частые названия

Это наблюдение по опубликованным файлам, а не требование.

| Секция | Что в ней |
|---|---|
| `## Docs` | основная документация |
| `## API` | справочник API |
| `## Guides` | руководства |
| `## Examples` | примеры кода |
| `## Reference` | справочные материалы |
| `## Optional` | второстепенные ссылки |

## Секция Optional

```markdown
## Optional

- [История изменений](https://example.com/changelog.md): версии
- [Планы](https://example.com/roadmap.md): что будет дальше
- [Как участвовать](https://example.com/contributing.md)
```

По тексту второй редакции `Optional` используется «по соглашению» для второстепенной информации: это ссылки, которые агент может пропустить, когда нужен более короткий контекст.

:::caution[Что изменилось]
В первой редакции у секции был механический смысл: инструмент `llms_txt2ctx` собирал из файла готовый контекст и по этой секции решал, что отбросить. Во второй редакции сборка контекста инструментом из proposal убрана, и вместе с ней ушёл особый смысл секции. Секцию по-прежнему можно использовать, но рассчитывать на то, что агент обработает её особым образом, нельзя.
:::

## Порядок

1. Заголовок H1 - название проекта.
2. Цитата с коротким описанием.
3. Подробности без заголовков.
4. Секции с главными ссылками.
5. `Optional` - последней.

Порядок первых трёх частей задан proposal. Порядок секций между собой - на усмотрение автора; главное ставят выше.

## Пример

```markdown
# FastHTML

> FastHTML - библиотека на Python для серверных веб-приложений на основе HTMX.

Важно:

- синтаксис не совместим с FastAPI
- React, Vue и Svelte не поддерживаются

## Docs

- [Быстрый старт](https://fastht.ml/docs/tutorials/quickstart_for_web_devs.html.md): обзор возможностей
- [Справочник HTMX](https://github.com/bigskysoftware/htmx/blob/master/www/content/reference.md): атрибуты, события, заголовки

## Examples

- [Список дел](https://github.com/AnswerDotAI/fasthtml/blob/main/examples/adv_app.py): полное приложение с разбором

## Optional

- [Документация Starlette](https://gist.githubusercontent.com/jph00/809e4a4808d4510be0e3dc9565e9cbd3/raw/9b717589ca44cedc8aaf00b2b8cacef922964c0f/starlette-sml.md): выдержка, полезная для работы с FastHTML
```

Пример взят из текста proposal и сокращён.

## Несколько файлов на одном сайте

Вторая редакция определяет смысл файла в подпути: он описывает адреса под своим путём, а из нескольких подходящих агент берёт самый специфичный.

```text
/llms.txt          -> весь сайт
/docs/llms.txt     -> только документация
/api/llms.txt      -> только API
```

Страница `/docs/install/` покрыта и корневым файлом, и `/docs/llms.txt`; агент должен взять второй.

### Сайт на нескольких языках

По тому же правилу файл можно положить в языковой раздел:

```text
/llms.txt        -> весь сайт
/ru/llms.txt     -> русский раздел
/en/llms.txt     -> английский раздел
```

На каком языке писать корневой файл многоязычного сайта, proposal не говорит. Этот вопрос открыт в репозитории proposal.

## Группировка ссылок

По типу материала:

```markdown
## Tutorials

- [Для начинающих](https://example.com/tutorial/basic.md): первые шаги, 30 минут
- [Углублённый курс](https://example.com/tutorial/advanced.md): два часа

## API Reference

- [REST API](https://example.com/api/rest.md): методы HTTP
- [SDK](https://example.com/api/sdk.md): клиентские библиотеки
```

По платформе:

```markdown
## JavaScript

- [Пакет npm](https://example.com/js/install.md): установка и запуск

## Python

- [Пакет PyPI](https://example.com/python/install.md): установка через pip
```

## Чего избегать

**Слишком много секций.** Десять секций по одной ссылке читаются хуже, чем три секции с понятными пояснениями.

**Секции без ссылок.** Заголовок без списка ничего не даёт агенту.

**Файл без ссылок вообще.** По данным разбора корпуса [Common Crawl](https://commoncrawl.org/blog), без единой ссылки опубликованы 23% файлов `llms.txt`. Такой файл не выполняет свою задачу: агенту некуда идти.

**Повтор ссылки в нескольких секциях.** Одна ссылка - одна секция.

**Ссылки на страницы, неудобные модели.** Если у страницы есть Markdown-версия, ссылаться стоит на неё.

Подробнее - в разделе [Лучшие практики](https://llms-full-txt.ru/guides/best-practices/).

## Как это выглядит у других

Файлы документации меняются, поэтому названия секций здесь не приводятся: надёжнее открыть сами файлы. Все адреса проверены 3 октября 2026 года.

- [developers.openai.com/llms.txt](https://developers.openai.com/llms.txt) - корневой файл и вложенные индексы для `/api`, `/codex`, `/commerce`
- [docs.stripe.com/llms.txt](https://docs.stripe.com/llms.txt) - большой индекс без `llms-full.txt`
- [developers.cloudflare.com/llms.txt](https://developers.cloudflare.com/llms.txt) - индекс по продуктам
- [fastht.ml/docs/llms.txt](https://www.fastht.ml/docs/llms.txt) - файл в подпути, пример из самого proposal
