适用于 API 优先产品的 llms.txt

开发者经常向 AI 助手寻求 API 帮助。精心整理的 llms.txt 可以减少幻觉出的端点、错误参数和过时示例。

最近更新:

为什么 API 产品获益最多

API 优先的产品和开发者工具,是最适合从 llms.txt 中受益的网站类型之一。开发者经常向 AI 编码助手询问 API 的帮助:如何分页、速率限制是什么、如何认证、如何处理特定错误。这些都是明确且可回答的问题。当 AI 拥有准确文档时,答案就有用;没有时,它就会近似猜测,而 API 近似会导致错误。

可以配置兼容的智能体或检索工作流,将 llms.txt 用作 API 阅读列表。在这种受控情况下,你可以追踪生成答案前加载了哪些文档。

API 幻觉问题

AI 语言模型有时会生成看似合理但错误的 API 细节。常见模式:

  • 不存在或已重命名的端点。
  • 来自旧版 API 的参数。
  • 已过时或错误的响应模式字段。
  • 您的 API 不支持的身份验证方法。
  • 来自不同等级或旧定价模型的速率限制。

这些错误之所以发生,是因为模型的训练数据已经是数月甚至数年前的内容,而 API 会不断演进。 当检索系统在回答前抓取你的实际文档时,它使用的是你当前的 内容。llms.txt 通过将检索系统指向你的权威页面来提供帮助。

应包含的内容

对于 API 优先型产品,应优先考虑以下页面类型:

  • API 参考,完整的端点参考。如果内容很长,请链接到顶层页面。
  • 认证指南,说明如何获取凭据并在请求中传递凭据。
  • 快速入门指南,从零开始完成一次有效 API 调用的最快路径。
  • 速率限制与配额,按层级和端点类型划分的具体限制。
  • 错误参考,错误代码及其含义。
  • SDK 文档链接,每个官方支持的语言 SDK 一条链接。
  • 变更日志或发行说明,有助于检索系统了解当前的 API 状态。
  • Webhooks 参考;如果你的 API 发送 webhook,请添加其链接。

要排除什么

  • 需认证访问的文档,需要登录的页面在被 AI 智能体获取时会失败。
  • 内部或 beta 页面,不要链接尚未准备好公开发布的页面。
  • 已弃用的 API 版本,排除旧版本文档。
  • 营销落地页,这对正在寻找技术 问题的开发者并不有用。
  • 社区论坛或 Slack 链接,AI 爬虫无法可靠 解析的动态内容。

示例模板

一个假想 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 主要版本时,请更新链接,使其指向当前版本的文档。
  • 当你弃用文档页面时,立即移除或替换这些链接。
  • 如果你的文档经常更新,可以考虑从文档 CMS 自动生成 llms.txt。

继续阅读

来源