llms.txt для продуктов с API-first подходом
Разработчики постоянно спрашивают у помощников AI о помощи с API. Хорошо отобранный llms.txt уменьшает число выдуманных endpoint, неверных параметров и устаревших примеров.
Последнее обновление:
Почему продукты с API получают наибольшую пользу
Продукты с приоритетом на API и инструменты для разработчиков относятся к типам сайтов, которые лучше всего готовы получить пользу от llms.txt. Разработчики регулярно спрашивают у помощников для программирования на основе AI, как работать с API: как выполнять пагинацию, каковы ограничения скорости, как проходить аутентификацию, как обрабатывать конкретную ошибку. Это точные вопросы, на которые можно ответить. Когда у AI есть точная документация, ответы полезны. Когда её нет, он делает предположения, а предположения об API приводят к ошибкам.
Совместимый агент или процесс поиска можно настроить на использование llms.txt как списка документов для чтения через API. В таком контролируемом случае можно отследить, какие документы были загружены перед ответом.
Проблема галлюцинаций API
Языковые модели ИИ иногда генерируют правдоподобные, но неверные сведения об API. Распространённые шаблоны:
- Несуществующие или переименованные конечные точки.
- Параметры из предыдущей версии API.
- Устаревшие или неверные поля схемы ответа.
- Методы аутентификации, которые не поддерживает ваш API.
- Ограничения частоты из другого уровня или старой модели ценообразования.
Эти ошибки возникают потому, что обучающие данные модели устарели на месяцы или годы, а API развиваются. Когда система извлечения получает вашу актуальную документацию перед ответом, она использует текущее содержимое. llms.txt помогает, указывая системе извлечения на ваши авторитетные страницы.
Что включить
Для продуктов с API в первую очередь выделите такие типы страниц:
- Справочник API, полный справочник конечных точек. Если он очень длинный, дайте ссылку на страницу верхнего уровня.
- Руководство по аутентификации, как получить учётные данные и передать их в запросах.
- Руководство по быстрому старту, самый быстрый путь от нуля до рабочего вызова API.
- Ограничения частоты и квоты, конкретные ограничения для уровня и типа конечной точки.
- Справочник ошибок, коды ошибок и их значения.
- Ссылки на документацию SDK, по одной ссылке на каждый официально поддерживаемый языковой SDK.
- Журнал изменений или примечания к выпуску, помогает системам поиска понимать текущее состояние API.
- Справочник по вебхукам, если ваш API отправляет вебхуки, добавьте на него ссылку.
Что исключить
- Документация с ограничением по аутентификации, страницы за входом не будут доступны при загрузке ИИ-агентами, работающими без учётной записи.
- Внутренние или бета-страницы, не ссылайтесь на страницы, не готовые к публичному использованию.
- Устаревшие версии API, исключите документацию старых версий.
- Маркетинговые целевые страницы, бесполезно для разработчиков, задающих технические вопросы.
- Ссылки на форум сообщества или Slack, динамический контент ИИ-роботы не могут надёжно разобрать.
Шаблон примера
Полный пример гипотетического продукта с API. Адаптируйте его к структуре своей документации.
# Acme API
> Acme provides a REST API for real-time inventory management. The API supports CRUD
> operations on products, locations, and stock adjustments, plus webhook notifications.
> Authentication uses API keys in the Authorization header.
## Core documentation
- [API reference](https://docs.acme.example/api/): complete endpoint reference.
- [Authentication](https://docs.acme.example/authentication/): API key setup and OAuth 2.0.
- [Quickstart](https://docs.acme.example/quickstart/): first API call in five minutes.
- [Rate limits](https://docs.acme.example/rate-limits/): limits by tier.
- [Errors](https://docs.acme.example/errors/): error codes and recommended handling.
- [Webhooks](https://docs.acme.example/webhooks/): event types and payload schema.
## SDKs
- [Python SDK](https://docs.acme.example/sdk/python/): official Python library.
- [Node.js SDK](https://docs.acme.example/sdk/node/): official Node.js library.
- [Go SDK](https://docs.acme.example/sdk/go/): official Go client.
## Optional
- [Changelog](https://docs.acme.example/changelog/): API version history and breaking changes.
- [Migration guides](https://docs.acme.example/migrations/): upgrading between major versions.
- [Status page](https://status.acme.example/): API uptime and incident history. Особенности SDK и мультиязычности
Если у продукта есть SDK для нескольких языков, дайте ссылку на документацию каждого SDK
отдельно. Организуйте их в понятный ## SDKs раздел и добавляйте ссылку на верхнеуровневую
страницу каждого SDK, а не на каждую отдельную подстраницу.
Поддерживайте актуальность
- Добавьте проверку llms.txt в контрольный список выпуска API.
- При выпуске новой основной версии API обновите ссылки, чтобы они указывали на документацию текущей версии.
- При выводе страниц документации из эксплуатации немедленно удаляйте или заменяйте эти ссылки.
- Если документация часто обновляется, рассмотрите автоматическую генерацию llms.txt из вашей CMS документации.
Продолжить чтение
- llms.txt для сайтов документации, более широкое руководство для всех типов сайтов документации.
- Руководство по llms-full.txt, встраивая полное содержимое для систем извлечения данных.
- Реальные примеры, ознакомьтесь с файлами llms.txt компаний Stripe и Anthropic.
- Генератор, создайте файл из формы.