llms.txt
速览要点
- 它是什么
- Answer.AI 的 Jeremy Howard 于 2024 年 9 月提出的一项发布约定:在 /llms.txt 放一个经过筛选的 markdown 文件,指明 LLM 应优先阅读哪些干净页面。它是一条阅读提示,不是访问控制,也不是发现文件
- 最关键的区分
- 站点端的采纳真实且在上升(文档平台自动生成;约 10% 的抽样域名已部署);引擎端是否真的会读至今未获证实,没有任何主流 AI 厂商在文档里说过自己会读它
- AI 厂商是否正式使用它
- 截至 2026 年 5 月,没有任何公开确认。OpenAI、Anthropic、Google、Perplexity 的爬虫文档均对 llms.txt 只字未提;Google 的 John Mueller 将其类比为老的 keywords meta 标签(Reddit,2025 年 4 月)
- 是行业标准吗
- 不是。这是一项被提出的约定,并未经 IETF/W3C 批准;目前由社区维护,详见 llms.txt 工作组
- 它处在什么位置
- 属于上游的可读性/可检索性辅助,而非可引用性。它是 GEO 上的一种保险(成本低、向前兼容),而不是一条今天就能带来引用的 GEO 通道
1. llms.txt 是什么:一项发布约定,不是访问控制
llms.txt 是放在站点根目录的一个 markdown 文件(/llms.txt),由 Jeremy Howard 在 Answer.AI 于 2024 年 9 月提出(见 原始提案)。
GEO Wiki 工作定义:llms.txt 是一项被提出的发布约定,用一个经过筛选、干净的 markdown 文件,告诉 LLM 优先读哪些页面、干净文本在哪里。它解决的是可读性问题(HTML 噪声大、上下文窗口有限),既不是访问问题,也不是发现问题。
提案自己的措辞是:「一个 markdown 文件,提供简要背景与指引,并附上指向更详细 markdown 文件的链接」(见 Answer.AI)。
先把全局摆好:
| 议题 | 详见 |
|---|---|
| 文件格式,以及发布端与读取端孰真孰假的实情 | —(下文) |
| 怎么做:按 CMS/技术栈生成它、保持它新鲜 | 部署 llms.txt |
| 规范治理与采纳者 | llms.txt 工作组 |
| 写真正的访问策略(这个文件不是) | robots.txt |
| 它所属的那个爬虫层 | AI 爬虫 |
2. 最关键的区分:站点端 ≠ 引擎端
这是全篇最该看清的一处区分,道理和 面向 AI 的 Schema.org §2 讲的「标记不是信号」是同一个。把站点端(站点发布该文件)和引擎端(AI 引擎是否真的去读它)混为一谈,正是各种错误预期的根源。
| 站点端 | 引擎端 | |
|---|---|---|
| 含义 | 站点发布 /llms.txt | AI 引擎在抓取/推理时取到并使用它 |
| 状态 | 真实且在上升:由文档平台自动生成;一项 30 万域名的研究测得约 10% 的采纳率(Search Engine Journal,2025-11-20) | 未获证实:没有任何主流厂商在文档里说过自己会读第三方 llms.txt |
| 证据 | Mintlify 自动托管它;Anthropic、Google、Perplexity 各自都为自家文档发布了一个 | OpenAI(bots 文档)、Anthropic、Perplexity、Google 的爬虫文档对 llms.txt 只字未提 |
这里有个容易被证据带偏的地方:Anthropic 为自己的开发者文档发布了 llms.txt,但 ClaudeBot 已公开的爬虫文档从未说过它会读取这个文件。自己发布一份,并不等于自己的爬虫会去读别人的。GPTBot 和 PerplexityBot 的文档也是一样,对 llms.txt 均无说明。
要点是:llms.txt 在今天是一项低成本、向前兼容的押注,而不是一条可以指望的引用通道。 发布成本约等于零;已被证实的回报不是「AI 厂商会读它」,而是「任何愿意读它的工具现在都能低成本拿到一份经过筛选的干净导引」。
这里要补一段值得警惕的反面声音,把它当作一项参考、而不是定论:Google 搜索布道师 John Mueller 曾公开把 llms.txt 类比为老的 keywords meta 标签,「没有任何 AI 服务说过它们在用 llms.txt,看服务器日志就知道,它们根本不会去查它」(Reddit,2025 年 4 月,经 Search Engine Journal 报道)。这种质疑确有分量,不必回避;至于它没能推翻的那个更窄的理由,留到 §7 再界定。
3. 规范的文件格式
这份规范全站会反复引用,所以放在这里讲清楚。标准本身在此说明,按技术栈具体怎么生成另见 部署 llms.txt。依据 llmstxt.org,结构如下:
# 项目名称
> 一段简短的项目摘要(blockquote):读懂下文所需的关键信息。
零或多段自由说明文字(不带标题),用于补充上下文。
## Docs
- [快速开始](https://example.com/quickstart.md): 如何上手
- [API 参考](https://example.com/api.md): 完整端点列表
## Optional
- [更新日志](https://example.com/changelog.md): 上下文紧张时可跳过
| 元素 | 是否必需 | 用途 |
|---|---|---|
# H1 项目名 | 是,唯一必需的元素 | 命名该文件所描述的实体 |
> blockquote 摘要 | 建议有 | 一句话要点,读懂下文所需的关键信息 |
| 自由说明段落 | 可选 | 补充上下文,不带标题 |
## H2 链接列表小节 | 可选,可重复 | 经过筛选的链接列表,每条为 [名称](url): 备注 |
## Optional 小节 | 可选 | 优先级较低的链接,token 紧张时 LLM 可以跳过(llmstxt.org) |
llms.txt 与 llms-full.txt 的区别值得说准,因为最流行的那个名字其实并不在规范里。官方提案定义的是处理后的扩展形态 llms-ctx.txt 和 llms-ctx-full.txt,由 llms_txt2ctx 工具从 llms.txt 生成(见 Answer.AI)。如今被广泛部署、就叫 llms-full.txt 的那个文件,也就是把全部文档正文拼进单个文件的做法,是 Mintlify 推广开来的事实约定,并非原始规范(Mintlify,2024-11-20)。不管是哪一种,可靠的理解方式都是:llms.txt 是一份经过筛选的索引,负责指路;全量变体则是一份可以整段交给模型的正文合集,但同时也带来上下文窗口风险(见 §6)。
4. llms.txt vs robots.txt vs sitemap.xml:三个文件,三种职责
最常见的范畴错误,就是把这三个根目录文件混为一谈。它们并不重叠,彼此也不能替代。
| 文件 | 它的职责 | 它不做的事 |
|---|---|---|
robots.txt | 访问控制:机器人能否抓取某个路径(机制详见 robots.txt) | 不做筛选、不做呈现、不做排名;它是一个请求,不是强制执行 |
sitemap.xml | 发现与完备:这里是全部内容,供索引用(Sitemap 与 IndexNow) | 不做筛选,也不授予访问权;它不是一份「精选」清单 |
llms.txt | 筛选与干净呈现:优先读这些页面,且是干净的 markdown | 不授予或拒绝访问,不声称完备,也不是排名信号 |
所以,llms.txt 不是面向 AI 的 sitemap(那会把筛选和完备混为一谈),也不是面向 AI 的 robots.txt(那会把阅读提示和访问规则混为一谈)。访问由谁说了算,要看 robots.txt 和更上层的 AI 爬虫;llms.txt 既不会放行也不会拦下任何一次抓取。
5. llms.txt 能做什么、不能做什么:审慎的边界
这一节只讲能站得住的边界;和 可引用性 §5、面向 AI 的 Schema.org §6 一样,有一说一,不夸大。
| llms.txt 能 | llms.txt 不能 |
|---|---|
| 提供一个干净、token 开销低、经过筛选的入口 | 授予或拒绝爬虫访问(≠ robots.txt) |
| 让你能掌控的那些工具今天就低成本读到正确页面 | 阻止训练,或保证抓取、索引、引用 |
| 以约等于零的成本,为日后引擎真的来读做好准备 | 被浏览器或终端用户读取 |
| 为任何选择遵从它的工具描述站点结构 | 充当排名或引用信号 |
| 哪些是真的 | 审慎的读法 |
|---|---|
| 采纳在上升,文档平台自动生成它 | 那是站点端的事,不是引擎端的事,发布不等于会被读 |
| Anthropic、Google、Perplexity 都发布了 llms.txt | 它们为自家文档托管了一个;它们的爬虫并无文档说明会读你的 |
| 一项 30 万域名的研究测得约 10% 采纳率 | 势头真实,但没有测得引用效应,「目前还没有」(SEJ,2025-11-20) |
| 一项 90 天、10 站点的研究跟踪了部署前后的 AI 流量 | 建议把它当作类似 sitemap 的基础设施,而非增长手段(Search Engine Land,2026-01-20) |
某个引擎是否会读 llms.txt 因平台而异——见 ChatGPT Search、Perplexity AI、Claude。截至 2026 年 5 月,没有任何一家在文档里说过自己会读 llms.txt。
6. 反模式:llms.txt 何时适得其反或白费功夫
下面每一种做法看上去都对,实际却会出问题,原因无非是弄错了这个文件的职责、它该有的新鲜度,或者它的 token 经济。
| 反模式 | 为什么看起来对 | 为什么实际会失败 |
|---|---|---|
| 用 llms.txt 来「阻止 AI 训练我的站点」 | 它是一个面向 AI 的文件 | 头号范畴错误:它是一条阅读提示,不是访问控制,做这件事的文件是 robots.txt |
| 期待「发布 llms.txt → 被引用」 | 别的 AI 文件会影响可见度 | 引擎是否会读它至今未获证实(§2);这是押注,不是杠杆,引用要靠页面赢得(可引用性) |
| 一个与线上站点脱节的陈旧 llms.txt | 它写的时候是对的 | 一份内容错误的精选清单比没有更糟,它会把愿意读它的工具带到失效或过时的 URL 上 |
| 把整个 sitemap 塞进 llms.txt | 「链接越多覆盖越全」 | 这毁掉了筛选这个目的;llms.txt 是选择,sitemap.xml 才是完备 |
llms-full.txt 膨胀到超出上下文窗口,或塞满导航杂项 | 「把一切都给模型」 | 这毁掉了 token 经济的优势,而那正是这个文件的全部意义 |
| 本该由构建过程生成,却改成手工维护 | 「它很少变」 | 这样迟早会和站点脱节,正确做法见 部署 llms.txt |
一句话总结:llms.txt 的全部价值就在于筛选加新鲜;一个未经筛选或无人维护的 llms.txt 价值为负,它会把愿意读它的工具带到错误页面上,反而消磨掉它们对它的信任。
7. 它对 GEO 为何重要:审慎地为这项押注定个量级
这里沿用 SEO vs GEO 那套「不变基线 + 投机性增量」的框架,不再重新推导一遍;关键是把这个理由的分量说准,不要拔高。
站得住的理由是上下文窗口经济。一个干净、经过筛选的入口,能降低任何愿意读它的 LLM 工具现在的阅读成本,包括你自己的 RAG、AI 编码代理、选择遵从它的第三方工具;一旦日后厂商真的来读,它向前兼容。发布成本(尤其是自动生成时)约等于零,下行约等于零,可选性是真实的。
把这件事的量级摆正:llms.txt 是 GEO 上的一道保险,不是一条 GEO 通道。 做它,是因为它便宜、向前兼容,而不是因为它今天能带来引用,两项规模最大的实测都没有测到引用效应(SEJ,30 万域名;Search Engine Land,10 站点)。它在整个循环里的位置很靠前:属于上游的可读性/可检索性辅助,排在 可引用性(被读到之后能不能被采用)之前,循环本身见 Answer Loop。
和 生成式引擎优化 一样,这里也把两边的话都摆出来:支持者认为这项约定「前路还长,但我不会赌它走不成」(Search Engine Land,2025-03-28);质疑者(§2)则指出 robots.txt 和 sitemap 已经覆盖了大部分需求。这两种判断其实可以并存,而这正好说明它是一项低成本的押注,谈不上一套策略。
8. 如何行动,以及治理
| 你的意图 | 从这里开始 |
|---|---|
| 按技术栈生成并部署它 | 部署 llms.txt |
| 规范治理、采纳者与标准化路径 | llms.txt 工作组 |
| 写真正的访问策略(这个文件不是) | robots.txt |
| 它所属的那个爬虫层 | AI 爬虫 |
| 它并不替代的那个发现/完备文件 | Sitemap 与 IndexNow |
| 某个具体引擎是否会读它 | ChatGPT Search · Perplexity AI · Claude |
| 页面被读取之后的下一道关卡 | 可引用性 |
| 把这一切串起来的方法 | 生成式引擎优化 |
发布它,因为它便宜、向前兼容;访问策略请写进 robots.txt,引用还得靠页面本身去赢。llms.txt 只是你主动递出去的一份导引,它既不放行访问,也不替你赢来引用。
参考资料
提案与规范:
- Answer.AI — The /llms.txt file: a proposal to help LLMs use websites(Jeremy Howard,2024-09-03)
- llmstxt.org — /llms.txt 文件规范
厂商爬虫文档(截至 2026-05,均未说明会读取 llms.txt):
- OpenAI — Overview of OpenAI Crawlers
- Anthropic — Does Anthropic crawl data from the web, and how can site owners block the crawler?
- Perplexity — Perplexity Crawlers
- Google Search Central — Overview of Google crawlers and fetchers
站点端采纳与变体约定:
- Mintlify — Simplifying docs for AI with /llms.txt(2024-11-20)
怀疑与独立实测:
- Search Engine Journal — Google Says LLMs.Txt Comparable To Keywords Meta Tag(John Mueller,Reddit;2025-04-17)
- Search Engine Journal — llms.txt Shows No Clear Effect On AI Citations Based On 300K Domains(2025-11-20)
- Search Engine Land — Does llms.txt matter? A 90-day study across 10 sites(2026-01-20)
平衡解读:
- Search Engine Land — Meet llms.txt, a proposed standard for AI website content crawling(2025-03-28)
常见问题
发布 llms.txt 能让我的内容被 AI 引用吗?
ChatGPT、Claude、Perplexity 或 Gemini 会读我的 llms.txt 吗?
llms.txt 是 robots.txt 或 sitemap.xml 的替代品吗?
llms.txt 是官方标准吗?
那我还值得发布 llms.txt 吗?
延伸阅读
参考来源
一手来源
- The /llms.txt file — a proposal to provide information to help LLMs use websites · Answer.AI · 2024-09-03
- The /llms.txt file — specification · Answer.AI · 2024-09-03
- Overview of OpenAI Crawlers (GPTBot / OAI-SearchBot / ChatGPT-User) · OpenAI
- Does Anthropic crawl data from the web, and how can site owners block the crawler? · Anthropic · 2026-04-07
- Perplexity Crawlers (PerplexityBot / Perplexity-User) · Perplexity AI
- Overview of Google crawlers and fetchers (user agents) · Google Search Central · 2026-02-09
- Simplifying docs for AI with /llms.txt · Mintlify · 2024-11-20
二手来源
- Google Says LLMs.Txt Comparable To Keywords Meta Tag · Search Engine Journal
- llms.txt Shows No Clear Effect On AI Citations Based On 300K Domains · Search Engine Journal
- Does llms.txt matter? A 90-day study across 10 sites · Search Engine Land