llms.txt 最佳实践:给 AI Agent 一份不会迷路的地图

llms.txt 是为 AI 爬虫和 Agent 准备的站点导览图,不决定抓取权限,只负责让读者三步内找到答案。
llms.txt 是由 AnswerDotAI 于 2024 年 9 月提出的约定格式,核心结构只有一个 H1 站点名、一句 blockquote 摘要和若干按任务命名的 H2 链接分组。它解决检索问题而非索引问题,对 AI 搜索排名毫无作用,抓取权限归 robots.txt 管辖。一份真正会被读取的文件需要绝对 URL、短描述、任务导向的 H2 分组和底部 Optional 区,并应随部署自动生成而非手工维护。真正受益的场景是跨多步执行的 AI Agent,它能把一次完整爬取压缩为两三个请求。文章同时强调它管不住爬虫、建立不了实体身份、也修不好单薄的内容,最后给出以服务器日志和引用追踪为基础的五步维护循环。

AI 爬虫和 Agent 正在成为网站的新访客,但大多数站点并没有为它们准备一份像样的"导览图"。llms.txt 就是为此而生的约定格式——它不决定谁能进门,但决定了进门后的读者能不能在三步之内找到答案。
llms.txt 到底是什么,不是什么
先厘清一个常见误解:llms.txt 不是提交机制,没有注册表,没有排队队列,也没有 ping 端点。这个约定由 AnswerDotAI 在 2024 年 9 月提出,至今仍栖息在一个刻意保持小巧的 GitHub 仓库里,核心结构只有三样东西——一个 H1 站点名、一段 blockquote 摘要、若干 H2 分组下的链接列表。
它解决的是检索问题,不是索引问题。等任何东西来读你的文件时,一个"要不要抓取你的站点"的决定早已做完:可能是浏览助手、编程 Agent,或者一份把你的域名放进白名单的 RAG 管线。这个读者带着任务和 token 预算到场,/llms.txt 就是你递给它的那张地图。
Google 关于 AI 搜索功能的官方指南说得很直白:页面要出现在 AI 驱动的结果里,不需要任何特殊文件或标记。爬虫权限是另一个问题,由 robots.txt 管辖,OpenAI 也详细记录了其爬虫的工作方式。你不能用一份文本文件"选择加入"AI 可见性,就像单靠 sitemap 不能让你进入搜索索引一样。
一个恰当的比喻:llms.txt 是放在前台接待桌上的媒体资料包。它告诉访客档案室在哪、该找谁,但它不决定谁进得了那扇门。
robots.txt 是网站根目录下的纯文本文件,采用爬虫排除协议(Robots Exclusion Protocol),通过 user-agent、allow、disallow 等指令告诉爬虫哪些路径可以抓取。它管的是"能否进入",属于权限层面;而 llms.txt 管的是"进门后怎么找到答案",属于导航层面。两者常被混为一谈,但用途完全不同。
sitemap 则是给搜索引擎看的 URL 清单,帮助爬虫发现站点页面,通常以 XML 格式提供。它解决的是"有哪些页面"的发现问题,而不关心页面的语义和优先级,也不会描述每个链接的用途——这正是 llms.txt 用短描述和任务分组补上的缺口。
RAG 管线 指检索增强生成流程:先从知识库或网页中检索相关片段,再交给大模型生成回答。把域名加入白名单,意味着该管线的检索阶段会优先抓取并信任你的内容,因此一份清晰的 llms.txt 能直接影响它会选取哪些页面。
一份会被真正读取的文件,长什么样
我们检查过的大多数文件都是链接堆——六十个 URL,没有描述,没有排序。读者扫一眼找找域名匹配就走了。真正被用起来的文件,共享六个特征:
- 一个 H1,与人们搜索的名字一致
- 一句 blockquote,说清这东西是什么、服务谁
- 两三行纯文本上下文——base URL、认证模型、各部分位置
- H2 按任务而非部门命名,这样读者找"如何取消订阅"时能认出标题
- 每个链接旁附十词以内的描述
- 底部一个 Optional 区,收纳次要材料
以下是一个可以直接参考的实例:
# Northwind Analytics
> Northwind is a billing API for subscription software teams. Docs, SDKs, and pricing live here.
Northwind exposes a REST API, four official SDKs, and a hosted webhook relay.
Base URL: https://api.northwind.example/v2
## Core documentation
- [Quickstart](https://docs.northwind.example/quickstart): auth, first charge, five minutes
- [API reference](https://docs.northwind.example/api): every endpoint, request and response
- [Webhooks](https://docs.northwind.example/webhooks): events, retries, signature checks
## SDKs
- [Python](https://docs.northwind.example/sdk/python)
- [TypeScript](https://docs.northwind.example/sdk/typescript)
## Pricing and limits
- [Plans](https://northwind.example/pricing): tiers, overage, annual discounts
- [Rate limits](https://docs.northwind.example/limits): per-key quotas and backoff
## Optional
- [Changelog](https://northwind.example/changelog)
- [Status](https://status.northwind.example)
两个细节承担了大部分工作。绝对 URL,因为读者可能在脱离上下文的场景里解析你的文件,没有可靠 base 可以解析相对路径。短描述,因为它们是唯一能告诉读者"Core documentation 下这六个链接里哪个回答了我手上的问题"的信号。
这个体裁有个很好的先例——Hugging Face 的模型卡:一小段供人扫读、供机器解析的结构化文字,与一个大得多的东西并排摆放。你的 llms.txt 就是网站的模型卡。
手工维护的文件会腐烂。端点废弃了,定价页搬家了,产品改名了,地图还指着旧地址。更可靠的做法是在构建时从 sitemap 和 frontmatter 里生成,把它接入构建文档的同一根管线——这样地图漂移不会超过一个部署周期。
Agent 流量才是真正的回报场景
聊天机器人在你的读者群里要求最低:抓一个页面,综合一下,完事。Agent 完全不同——它跨多步持有一个目标,会在任务中途选择工具,MCP 给了它们调用工具的标准方式。一个刚收到"帮这位客户升级套餐"指令的 Agent,需要按顺序找到你的端点、认证方案和错误码,而不是抓十二个页面去判断哪个重要。
这正是决定文件形态的权衡。什么都覆盖,就会烧掉拿不回来的上下文。llms-full.txt 是为那些确实想一次性拿到全部语料的读者准备的,对文档站点来说那可能是一个四万词的载荷,往往在读到有用章节之前就被截断了。默认策略:用紧凑的 llms.txt 当地图,用 llms-full.txt 服务那些点名要全量的读者。
具体回报是什么样的?一个处理账单问题的客服 Agent 读你的文件,看到 [API reference](...),抓那一个页面,找到端点,停止。三个请求代替一次爬取——这就是全部收益。
MCP 全称 Model Context Protocol,是 Anthropic 在 2024 年底提出的开放协议,用于让大模型以标准化方式调用外部工具和数据源。它定义了客户端与服务器之间的通信格式,使 Agent 不必为每个服务单独写适配代码。
token 预算 指一次模型调用或一个任务中可使用的 token 总量上限,包含输入与输出。Agent 在多步执行中每读取一个页面都会消耗上下文,一旦超出窗口,早期内容可能被截断或丢弃。因此 llms.txt 的价值在于让 Agent 用最少的抓取次数命中目标页面,把有限的 token 花在真正的答案上,而不是浪费在扫描无关链接。这也解释了为何短描述比单纯罗列 URL 更关键——它是降低检索成本的直接手段。
它做不到的三件事
管不住爬虫。 那是 robots.txt 的职责,Google 关于该协议入门的文档仍然是理解 user-agent 指令能做什么、不能做什么的正确起点。一份写着"请引用我们"、而你的 robots.txt 同时屏蔽了爬虫的文件,就是留在一个上锁房间里的便条。
建立不了身份。 实体身份来自结构化数据——schema.org 上的 Organization、Product 和文章类型,它们给机器一个规范名称、logo 和 sameAs 关系。面向 Agent 的结构化数据才能让模型把你的品牌解析为一个真实实体,而不是出现在十一个不相关页面上的一个字符串。
修不好单薄的内容。 如果你的文档锁在登录后面,或者最好的答案躺在 2019 年的一份 PDF 里,再整洁的链接地图也指向虚无。Bing 搜索团队发布的站长指南解释了 Copilot 如何呈现内容,答案与 Google 押韵:可爬取、结构良好、描述朴素的页面。没有文件能绕过这一点。
而它能做的事小而真实且便宜:为那些本来就会来的读者,从检索循环里省掉几个请求。
schema.org 是 Google、微软、Yahoo 等联合发起的结构化数据词汇表,定义了 Organization、Product、Article、FAQPage 等类型及其属性。站长可以用 JSON-LD 或微数据把页面内容标注为这些类型,搜索引擎和 AI 系统便能据此抽取实体信息,而非仅靠文本猜测。
sameAs 是 schema.org 的一个属性,用于声明某实体的官方外部链接,例如维基百科条目、社交媒体主页或其他权威档案。它帮助机器确认多个 URL 指向的是同一个真实实体,从而把品牌名称从"出现在若干页面上的字符串"升级为可被消歧的正式身份。缺少结构化数据和 sameAs,llms.txt 里的链接再整齐,也只是指向一堆未被机器确证的页面。
怎么衡量,怎么维护
服务器日志是唯一确凿的证据。统计 GET /llms.txt 的次数,看看 user agent 分布,观察一个季度的趋势。除此之外都是推断——目前没有公开数据说明有多少站点发布了这个文件、哪些引擎会消费它,所以任何引用"提升数字"的人引用的都是他们自己编的东西。
我们跑的五步维护循环里,只有第一步是关于文件本身的:
- 记录抓取。 如果九十天内没有任何东西请求过这个文件,那它就不是你的瓶颈。
- 追踪引用。 答案引擎引用追踪告诉你哪些 URL 正在被引用,这与你自认为重要的清单往往不同。
- 发现衰减。 引用随时间流失的页面,通常是失去了准确性的页面——一次调价、一个废弃端点、一个版本升级。内容衰减检测与刷新能在竞品页面取代你成为来源之前抓住它。
- 修补缺口。 对域名做一次 GEO / AI 可见性审计,看看你缺席了哪些问题,再检查本该回答那个问题的页面是否存在、可爬取、并在你的文件里被描述过。
- 随部署重新生成。 这个文件是产物,不是文档。
顺序很重要。从第五步开始的团队,会花一个季度给一个"什么都回答不了"的站点画一张漂亮的地图。
GEO 全称 Generative Engine Optimization,即生成式引擎优化,指针对 AI 驱动的搜索与问答系统优化内容可见性的做法,与传统的 SEO 在目标和手段上都有区别:SEO 关注排名和点击,GEO 关注是否被 AI 引用、被摘要、被当作答案来源。
一次 GEO / AI 可见性审计通常会检查:你的域名在特定问题下是否被 AI 系统引用、哪些竞品替代了你、引用链接指向哪些页面,以及回答你核心问题的页面是否存在且可爬取。这类审计输出的正是维护循环第三步和第四步所需要的输入——衰减在哪里、缺口在哪里。需要强调的是,llms.txt 是 GEO 工作流中的一个可选环节,而非捷径;审计先于文件,顺序不能颠倒。
常见问题
llms.txt 能提升我在 AI 摘要或 ChatGPT 里的排名吗?
不能。Google 的 AI 功能指南明确表示页面出现不需要特殊文件或标记,该文件对排名毫无作用。纯粹把它当作服务已到达读者的检索辅助。
OpenAI、Anthropic、Google 真的会读它吗?
OpenAI 的爬虫文档和 Google 的 AI 功能指南都没有把该文件列为输入。不过 Anthropic 为自己的开发者文档发布了一份,这说明格式对构建这些系统的人来说是可理解的。可理解不等于被消费——诚实的立场是:支持情况因引擎而异,且未被公开。
应该发 llms.txt、llms-full.txt,还是两个都发?
两个都发是站得住脚的默认选择。短文件服务需要导航的 Agent,完整文件服务想单次抓取拿到语料库的管线。如果只能维护一个,维护短的那个——过时的地图还能活,过时的内容不行。
文档在子域名上,文件该放哪?
放在服务内容的那个主机的根目录,所以 docs.example.com/llms.txt 覆盖该文档站。如果你有多个子域名,根域名文件可以作为子域名文件的索引。正文里的绝对 URL 无论如何都能消除大部分歧义。
多久更新一次?
只要底层导航变了就更新——新增章节、下线产品、定价页搬家。实践上意味着每次部署都自动生成,结构变化时人工审查 diff,而不是段落变化时。
下一步
在写第一行文件之前,先搞清楚引擎们现在怎么评价你。一次 GEO 审计会显示哪些页面被引用、你缺席了哪些问题、以及一张地图到底是帮人导航,还是只是在描述一座空楼。
相关推荐

Workbuddy零基础入门:桌面AI智能体如何落地工作流
Workbuddy桌面AI智能体零基础教程解读:从安装、积分领取到文件管理与自动化工作流搭建,对比CodeX的适用场景与成本差异,帮助职场人完成从AI提问者到AI管理者的思维转变。

OpenAI智能体新栈:计算机操作、决策API与超速工作流
OpenAI Dev Day发布智能体新栈:Computer Use操作速度超越普通人,Decisions API基于Luna实现极低延迟分类,Agents API开放同源计算机操作能力,GPT-6.1 Sol成本仅为Astra七分之一。本文梳理核心更新、实测数据与开发者落地要点。

梁文峰开源推理框架DeepInfo,硬刚美国禁令
DeepSeek在开源模型后再开源推理框架DeepInfo,包含GPU/CPU交叉流水线、小模型预判大模型复核、华为昇腾与英伟达芯片全面适配等技术,直面美国联邦禁令。本文解析其对AI产业落地的意义与开源策略。