面向文档网站的 llms.txt
文档网站是 llms.txt 的理想用例。开发者经常向 AI 助手询问文档相关问题,下面介绍如何帮助它们获得准确答案。
最近更新:
为什么文档网站受益最多
文档站点,例如用 Mintlify、GitBook、Docusaurus 托管,或用 MkDocs 或 Nextra 等工具自建,都是 llms.txt 的理想使用场景。原因很直接: 开发者经常用 AI 助手来浏览文档。像“how do I set up authentication with Acme?”、“what are the webhooks supported by Acme?” 和 “show me the Acme SDK for Python?” 这样的提问,都是文档类问题。
当开发者在 AI 助手中提出这些问题时,助手要么使用 训练数据(可能已有数月之久),要么从网络获取实时内容,要么从一个配置为获取 llms.txt 的兼容工作流中加载 文档。在这三种情况下,答案质量都取决于它能够访问到的文档质量。
llms.txt 是一种告诉兼容客户端哪些页面最重要的机制。对于文档网站,当接收工作流已知且可测试时,这种筛选很有用。
应包含的内容
对于文档网站,以下页面类型通常都应收录在 llms.txt 中:
- 快速入门指南这是大多数新用户和 AI 助手首先进入的页面。 应引导用户走完获得可用结果的最短路径。如果只包含一个 页面,就包含这一页。
- 核心概念,即用于解释产品思维模型的一个或多个页面。基本实体有哪些?产品的数据模型如何运作?关键术语是什么?
- API 参考,即 API 端点、参数和响应架构的完整参考。如果它是一个很长的单页,请链接顶级页面。如果按资源类型分页,请链接资源级页面。
- SDK 和客户端库指南,每种官方支持的语言或平台各提供一个链接。
- 身份验证和授权,以及用户和应用如何认证。这是 AI 助手最常被问到的文档问题之一。
- 常见问题或故障排除指南;如果你有完整的常见问题页面,就值得添加链接。AI 助手可以利用它准确回答常见问题。
- 更新日志,帮助检索系统区分当前行为与过时的训练数据。
要排除什么
文档站点中的并非每个页面都属于 llms.txt:
- 内部笔记或团队文档;如果你的文档平台同时托管公开文档和内部团队 Wiki,请仅包含公开文档。
- 草稿或未列出的页面;尚未准备好供用户访问的页面不应列入 llms.txt。AI 如果引用草稿页面,就是在引用你尚未批准使用的内容。
- 需认证内容,受登录墙保护的文档无法被 AI 爬虫或代理框架抓取。只包含可公开访问的页面。
- 已弃用文档,如果你维护产品旧版本的文档,请排除这些页面或明确标注。你不会希望 AI 助手向用户教授已弃用的模式。
- 非常细粒度的子页面,如果你的 API 参考包含 200 个独立端点页面,不要把这 200 个页面全部链接进去。应链接到顶层参考页,让 AI 从那里继续导航。llms.txt 是内容筛选层,不是站点地图。
- 营销或销售页面,定价、案例研究和对比页面都是
有用的内容,但它们不是文档。如果你要包含它们,请把它们放在
## Optional分节中。
优先级排序
在 llms.txt 的每个部分中,链接顺序很重要。读取该文件的 AI 客户端会将较早出现的链接视为优先级更高。当受到上下文长度限制时,它们可能会在文件中途停止读取。请将最重要的页面放在最前面。
开发者文档网站的建议优先顺序如下:
- 快速开始 / 入门
- 核心概念或架构概述
- API 参考(顶层页面或最常用资源)
- 认证 / 授权
- SDK 指南(最常用的语言优先)
- Webhooks 参考(如适用)
- 故障排查 / 常见问题
- 更新日志(在 Optional 部分)
- 迁移指南(位于可选部分)
从你的导航自动生成
对于页面很多的文档站点,手动维护 llms.txt 并不现实。更好的 做法是在构建时根据文档结构自动生成它。通用 做法:
- 使用导航配置作为来源。 大多数文档平台都会在配置文件(sidebar.json、mint.json、mkdocs.yml 等)中定义 导航。这个配置 本身就代表了你整理过、按顺序排列的文档视图,它是生成 llms.txt 的自然输入。
- 筛选顶层和第二层条目。 不要包含导航树中的每个叶节点。 提取顶级部分及其直接子项。这样通常会得到 10 至 30 个页面, 这是 llms.txt 的合适范围。
- 将每一项映射到绝对 URL。 你的导航配置大概率使用相对路径。 请用你配置的 base URL 将它们转换为绝对 URL。
- 将页面标题用作链接文本,将页面描述用作链接描述。 如果页面有元描述,请使用它们。否则,请使用每个页面的第一段。
- 输出到公共目录。 将生成的文件写入静态文件所在的位置,以便通过
/llms.txt.
在每次文档构建时运行此生成流程,让 llms.txt 自动与你的导航结构保持同步。
Mintlify 如何处理它
Mintlify 是一个被面向开发者的公司广泛使用的文档平台(许多 AI
时代的开发者工具都在使用它)。Mintlify 会自动生成 llms.txt
和 llms-full.txt ,覆盖其平台上托管的每个文档网站。
从概念上看,Mintlify 的生成方式如下:
-
网站导航在一个
mint.json配置文件。该文件指定页面层级,包括哪些页面显示在侧边栏的哪些分节中。 -
构建时,Mintlify 会读取导航结构并生成一个
llms.txt文件,其中每个导航项都会成为相应分节中的一个链接条目。 -
对于
llms-full.txt,Mintlify 会将每个页面的完整 Markdown 内容内联到其链接下方,从而在单个文件中向 AI 检索系统提供完整文档语料库。 -
两个文件都与文档网站一同部署,并通过标准路径提供(
/llms.txt和/llms-full.txt).
因此,Mintlify 上的文档网站无需任何手动筛选即可自动获得符合规范的 llms.txt 文件。代价是该文件反映导航结构,而不是手工确定的优先级顺序,因此可能包含人工作者本会放入 Optional 章节或完全排除的低优先级页面。
其他文档平台,如 GitBook、Docusaurus、ReadMe 等,对 llms.txt 的支持程度各不相同。请查看你所用平台的文档或发布说明,了解当前 支持状态。
示例结构
以下是一个虚构开发者文档网站的 llms.txt 示例。此结构适用于大多数提供 REST API 的产品文档网站:
# Acme Documentation
> Acme is a platform for real-time inventory management. This documentation covers the
> REST API, SDKs for Python and Node.js, and integration guides for common e-commerce
> platforms. The API is used by developers building stock tracking, warehouse management,
> and demand forecasting applications.
## Getting started
- [Introduction](https://docs.acme.example/introduction/): what Acme is and how it works.
- [Quickstart](https://docs.acme.example/quickstart/): create your first integration in five minutes.
- [Authentication](https://docs.acme.example/authentication/): API key setup and OAuth 2.0.
- [Core concepts](https://docs.acme.example/concepts/): products, locations, stock records, and events.
## API reference
- [API overview](https://docs.acme.example/api/): base URL, versioning, and conventions.
- [Products](https://docs.acme.example/api/products/): create, read, update, and delete products.
- [Stock adjustments](https://docs.acme.example/api/stock/): record stock movements and reconcile inventory.
- [Webhooks](https://docs.acme.example/api/webhooks/): event types, payloads, and signature verification.
- [Rate limits](https://docs.acme.example/api/rate-limits/): limits by plan tier.
- [Errors](https://docs.acme.example/api/errors/): error codes and handling recommendations.
## SDKs
- [Python SDK](https://docs.acme.example/sdk/python/): official Python client library.
- [Node.js SDK](https://docs.acme.example/sdk/node/): official Node.js client library.
## Optional
- [Changelog](https://docs.acme.example/changelog/): release notes and breaking changes.
- [FAQ](https://docs.acme.example/faq/): common questions from developers.
- [Migration guide (v1 to v2)](https://docs.acme.example/migration/): upgrading from v1. 继续阅读
- 面向 API 产品的 llms.txt, 面向 API 优先型产品的深入指南。
- llms-full.txt 指南,文档网站的完整语料库配套文件。
- 如何创建 llms.txt,并按技术栈提供逐步部署 指南。
- 生成器,通过表单构建符合规范的文件。