llms-full.txt:它是什么、何时使用以及如何创建
llms-full.txt 是 llms.txt 的配套文件,会内联页面的完整内容。以下介绍它是什么、解决什么问题,以及何时值得投入精力。
最近更新:
什么是 llms-full.txt?
llms-full.txt 是一些文档发布者采用的配套约定,当前的 llmstxt.org v2 提案并未定义它。而
llms.txt
提供指向最重要页面的精选链接列表,而 llms-full.txt 更进一步: 它会将这些页面的实际内容直接内联到文件中。
目标是通过单个文件向 AI 检索系统提供完整的文档语料,而无需它们逐个跟踪链接并额外发送 HTTP 请求来获取每个页面。对于大型文档网站,这可以显著减少将内容作为 AI 上下文加载时所需的网络请求数量。
llms-full.txt 发布在 /llms-full.txt 位于你的域名根目录,与常规的 /llms.txt 文件。
llms-full.txt 与 llms.txt 对比
| 属性 | llms.txt | llms-full.txt |
|---|---|---|
| 内容 | 带简短说明的页面链接 | 链接到页面 + 内嵌完整页面内容 |
| 文件大小 | 较小(通常低于 50 KB) | 可能很大(数百 KB 到数 MB) |
| 使用场景 | 发现和精选 | 用于检索的完整语料交付 |
| 内容过时风险 | 低,仅包含链接 | 较高,页面发生变化时必须重新生成全部内容 |
| 爬虫行为 | 爬虫沿链接获取页面 | 爬虫可以从一个文件中读取完整内容 |
| 规范状态 | 由 llmstxt.org v2 提案描述 | 单独的发布约定,v2 未定义 |
格式与结构
对于 llms-full.txt. 实现方式通常会 将页面内容拼接成
Markdown,但它们的标题、分隔符和元数据可能不同。
以下简化示例展示了其结构:
# Acme Documentation
> Acme is a REST API for inventory management.
## Documentation
- [Quickstart](https://docs.acme.example/quickstart/): getting started guide.
## Quickstart content
# Getting started with Acme
Welcome to Acme. This guide walks you through your first API call.
## Prerequisites
You will need an Acme account and an API key. Sign up at acme.example...
[... full page content ...]
- [API reference](https://docs.acme.example/api/): complete endpoint reference.
## API reference content
# API Reference
All endpoints accept JSON and return JSON. Authentication uses the Authorization header...
[... full API reference content ...]
实际上,嵌入内容的确切格式因实现而异。关键原则是将每个链接页面的完整文本纳入文件,以便读取该文件的客户端
llms-full.txt 无需发起其他请求。
何时使用
llms-full.txt 适用于以下情况:
- 您拥有大型文档语料库 这是你希望 AI 系统能够在不抓取数百个页面的情况下 完整加载的内容。面向开发者工具的技术文档是 最清楚的例子。
- 用户经常就您的内容向 AI 助手提问 ,并希望这些助手获得完整、最新的信息,而不是依赖训练数据作近似判断。
- 你正在构建 RAG 管道 需要摄取你的文档。处理单个大型文本文件通常比从许多单独的 URL 获取并解析 HTML 更容易。
- 你的文档是自动生成的 ,而且你可以添加
llms-full.txt将生成流程放到生成文档本身的同一构建步骤中。
llms-full.txt 对以下场景没那么有用:
-
对于页面少于 10 至 15 个的小型网站,常规的
llms.txt加上直接链接就足够了。 - 对于内容变化非常频繁的网站,全文文件过时得更快,也 更难保持最新。
- 与技术参考资料相比,不太依赖每个页面精确措辞的营销或编辑类网站。
谁在使用它
该 llms-full.txt 约定主要由 Mintlify 推广开来。Mintlify 是一个被众多面向开发者的公司广泛使用的文档平台,会自动生成
llms.txt 和 llms-full.txt ,供托管在其平台上的文档网站使用。 构建并部署文档网站时,会使用支持渲染后文档的同一
Markdown 源文件生成全文文件。
这意味着实际存在的 llms-full.txt 实际存在的文件由 Mintlify 生成。 其他文档平台和自定义文档流水线也采用了该约定,
尤其是 API 优先型公司使用的平台和流水线。
可以配置检索流水线或编码助手来读取 llms-full.txt 作为 单一语料库。仅仅发布并不能表明任何指定产品会自动获取它。
注意事项与权衡
发布 llms-full.txt,请考虑这些权衡:
- 文件大小。 一套完整的文档语料库很容易达到数兆字节。这对于直接访问文件没有问题,但需要将整个文件载入语言模型上下文窗口的客户端会受到上下文长度限制。非常大的文件在使用前可能需要拆分或摘要。
- 内容陈旧。 每当你更新文档中的某个页面时,你的
llms-full.txt需要重新生成。如果构建流水线不会自动重新生成该文件,它就会与实际文档逐渐不一致。陈旧的全文文件可能比陈旧的llms.txt因为其中包含 AI 可能逐字引用的完整内容。 - 并非所有爬虫都会请求它。
llms-full.txt是一种约定,而非标准。并非所有 AI 爬虫或智能体框架都会专门查找它。许多工具会将其当作普通文件发现,但不一定采用任何特殊逻辑处理。 - 带宽。 如果你的网站接收大量 AI 爬虫流量,每次抓取都提供一个数 MB 的 文件会增加带宽成本。考虑使用缓存头来减少重复抓取。
如何创建
最可靠的方法是生成 llms-full.txt 在构建时从生成文档的同一来源生成。 一般流程如下:
- 从常规的
llms.txt作为目录结构。 -
对于链接在以下文件中的每个页面:
llms.txt,抓取或读取其 Markdown 源内容。 - 将完整内容附加到文件中对应链接的下方。
- 将完整文件输出到
/llms-full.txt输出到公共目录中。
如果您使用支持该功能的文档平台(如 Mintlify),这一过程可能已经 自动完成。请检查平台文档中是否说明支持 llms.txt。
如果你正在构建自定义生成器,请保持 Markdown 源干净,不要有多余的 HTML、不要有 构建产物,不要有不应出现在输出中的 front matter。目标是生成干净、可读的 散文,让 AI 能直接处理。
继续阅读
- llms-full.txt 参考,即配套约定及其 权衡。
- 面向 API 产品的 llms.txt,在这里 llms-full.txt 最有价值。
- 面向文档网站的 llms.txt, 面向文档平台的实施指南。
- 验证器,在生成 llms-full.txt 之前检查您的 llms.txt。