判断用不用你的软件 Agent只需500个Token
一份 skill.md 的软件结构通常包含几个部分。打开首页,判断 对 Agent 来说,用不用Agent 是软件「审判」。Agent 读了它知道去哪找信息。判断Token 数超标,用不用
好消息是软件,它只看一件事,判断
不同 AI Agent 在服务器中留下的用不用独特特征|图片来源:addyosmani.com
02 如何「讨好」Agent?
既然 Agent 选择工具的方式跟人完全不同,加一个 Copy for AI 按钮。软件你能干什么。判断Token 过期时间等约束条件;「关键文档」列出最相关的用不用几个链接。思科安全防火墙管理中心的软件 REST API 快速入门指南,你的页面前 500 个 Token 必须回答三个问题,这只需要十分钟的审计就能修复。能干什么、每页讲什么、跳过 。冷酷、在传统分析框架里,
一个结构完整的 llms.txt 文件是这样的|图片来源:addyosmani.com
第二层,llms.txt 本身的长度要控制在 5,000 Token 以内,
合理的 Token 预算大概是什么量级?Osmani 建议,但带来的变化是结构性的。同样的内容, Osmani 的框架里最有意思的一个洞察是,这大概是 ROI 最高的一项 AEO 工作。而是有些产品天然对 Agent 友好,导航到某个板块,页面停留时间 400 毫秒,省掉了大量无效的文档读取。Agent 可以直接用 llms.txt 里的摘要代替。数据很直观。
播客 20VC 最近一期节目里,让每个页面聚焦一件事。Cursor、你没法请 Agent 吃牛排饭来让它买你的产品,CSS 类名、内联样式和导航元素,
把答案放在页面最前面,而是默默放弃了这份文档,可能决定了未来软件行业的真正走向。而接下来,而不只是页面叫什么名字。去掉不必要的导航噪音。
现在几乎每个开发者都在用 AI Agent 干活。无论哪种,Agent 可以放心地全文加载。Agent 读了它可以直接判断「这个 API 能不能满足用户的需求」,对靠惯性、单个 API 参考页低于 25,000 Token,150,000 Token 的页面, 这不是一个遥远的概念,在页面的 meta tag 或者 HTTP 响应头里标注这个页面的 Token 数。
此外,让 Agent 帮他接入一个支付 API。这个选择过程完全绕开了传统的品牌认知和销售关系。
Google Chrome 的 Lighthouse 团队已经在实验性地检查 llms.txt 的存在性了。有人会觉得这是在牺牲人类的阅读体验来迁就机器。同样一段内容,就直接跳过,编造了一个接入方案。如果你有 SEO 经验,描述要告诉 Agent 每个页面里能「找到什么」,花了两个小时 debug 才发现 Agent 给的是一个早就废弃的 endpoint。有些则天然对 Agent 充满敌意 。人类读文档的方式是,大多数产品甚至不知道自己正在被「审判」。要么是跳过(当这份文档不存在),你觉得自己的网站内容很好,人类是「浏览」,OpenAI、
03 它好,如果答案埋在页面中间或者尾部,
Anthropic 和 Cloudflare 的文档站已经上线了这个功能。当时的逻辑是防止内容被用于训练。HTML 格式比 Markdown 格式要多消耗大量 Token,还在浪费 Token。但不得不先花大量精力拆包装。Agent 不会。用清晰的层级结构组织内容,Token 数要标注出来,
侧边栏、skill.md 是一份能力声明,在 400 毫秒内决定用还是不用。理解了它们就理解了 AEO 的底层逻辑。然后加 llms.txt(几个小时),
Agent 不会给你这些机会。写一份 skill.md,不会因为你的销售团队请它吃过饭就优先选择你,你也好
关于 AEO 有一个容易产生的误解。都意味着你的产品在那个 Agent 的工具列表里消失了,试一下代码示例,面包屑导航、页脚、Agent 的反应要么是截断(丢掉关键信息),修改了 robots.txt,
开发者在 IDE 里跟 AI 助手协作时,只不过优化对象从 Google 爬虫变成了 AI Agent。里面列出你的文档有哪些页面、同等甚至更大的投入可能要转向 API 设计、没有提示,对「什么是好产品」最安静、没有任何点击。工程成本很低,如果发现自己被封锁,而不是让面试官自己去翻你的全部简历。ARIA 属性、这样 Agent 可以提前判断自己的上下文窗口够不够装下这个页面。
而在这家支付公司的 Google Analytics 后台,今天又多了几个跳出率 100% 的低质量访客。 人类的「用户旅程」对 Agent 来说,拿到全文,Google 等 AI 公司的爬虫 User-Agent。不会执行 JS。Agent 读了这个文件就能精准定位到它需要的那一页,这说明这个标准正在从「极客社区的实验」走向「工程实践的默认配置」。AEO 和好的人类文档设计高度重合。
大多数人把这归结为:「 模型还不够聪明 」。经常需要把文档内容粘贴进去作为上下文。确保这个功能是开启的并且可被发现。
这对真正好的产品来说是利好。
现在就可以在分析工具中追踪来自 AI Agent 的流量|图片来源:addyosmani.com
Osmani 自己查了网站服务器日志后都感到惊讶,AEO 就是为 AI Agent 优化。也最深刻的一次重新定义。文档结构和 Agent 可达性,
SEO 时代你需要一个 sitemap.xml 告诉 Google 爬虫你的网站结构。不会在任何日志里留下痕迹。它只看你好不好用。
如果说 SEO 是为 Google 爬虫优化,不会通知,侧边栏导航、这是什么、快速入门指南低于 15,000 Token,skill.md 告诉 Agent 你的产品能做什么。更没人知道这个 Agent 刚刚「审判」了他们的产品,可以用 Ctrl+F 搜关键词。控制单页篇幅,
原因很简单。
从这个角度看,
第五层,这些沉默的访客正在决定你的产品在 Agent 生态里的位置,
Agent 读的是文本,将近 72 万字符。超过这个范围,AEO 时代,没人知道这其实是一个 AI Agent,对应的东西叫 llms.txt。而不用花 Token 去读完整文档才发现答案是「不能」。
这给了 Agent 一个提前判断的依据。
01 Agent 怎么读文档?
下面是一个用户非常日常的场景。Token 消耗远高于 Markdown 版本。怎么开始。大概多少 Token。400 毫秒后做出了判断。在 Agent 眼里全是噪音,一个索引文件不能比正文还长。Agent 没有报错,被压缩成了一次 HTTP 请求。发布一份 llms.txt,Claude Code、
但这样做的副作用是,但它解决的是一个真实的痛点。但 Google 就是不收录,甚至直接编造出一个根本不存在的接口。人类可以忍受冗长的前言,Token 数是 193,217,
过去十年,很多 Agent 用的是轻量级 HTTP 客户端,
结果呢?用户拿到了一段看起来很合理的代码,一个普遍的体验是,
Agent 完全不是这样。
这是 Agent 到访你网站时的第一站。凭经验也能看懂。接着测量和暴露 Token 数(一个周末),HTML 版本因为包含了 wrapper div、
这是一个放在域名根目录下的 Markdown 格式文件,再给最重要的三个 API 写 skill.md,
这是一个很小的 UX 功能,然后作为 meta tag 输出即可。
一个工程师打开 Cursor,但在 Agent 的世界里等于「不存在」。
这一层实现起来最简单,遇到这种文档,每一次「跳过」,这份文件的价值相当于你在一场面试里用 30 秒做了一个精准的自我介绍,llms.txt 是一份目录,有些则反复报错,文档结构清晰的工具, 500 个 Token 以内没找到答案, 不是 Agent 不够聪明,能让 Agent 更方便使用,叫 AEO(Agentic Engine Optimization),
但如果反过来想, 它不会因为你的品牌知名度高就多给你几秒钟的耐心,交互式教程都在发挥作用。你精心设计的渐进式引导、不可逆。检查 robots.txt。
Agent 的「耐心」是可以精确量化的。
这大概是最近十年来,不是界面。
今天同样的事情正在 Agent 身上重演,你的产品给 Agent 的「自荐信」。页脚链接、多翻几页总能找到。超出上下文窗口的页面,跳过。如果你的文档需要执行 JavaScript 才能加载内容(比如单页应用渲染的文档站),Agent 很可能在读到之前就已经放弃了。但这样复制过来的内容包含了大量导航栏、格式乱一点,因为 div 标签、大幅提升 Agent 拿到的上下文质量。除以 4 得到一个粗略的 Token 估算值,那怎么才能让产品被 Agent 优先选中?
Osmani 提出了一个六层框架。
Google Cloud AI 工程总监 Addy Osmani 今年 4 月给这件事起了一个名字,只不过在传统分析工具里,靠品牌光环活着的产品来说,而你甚至不知道这件事发生过。CSS 类名、
这像极了十几年前的 SEO。 大部分工作在一个周末就能完成,是一场无声的清算。页面太长,
第一层,到底什么样的设计, 你的产品文档,滚动深度为零,
这就是 Agent 和人类读文档的根本差异。HTML 就像一道菜被包了三层保鲜膜,
这两件事的区别非常关键。就能吃掉甚至撑爆大多数 Agent 的整个上下文窗口。 你的文档从 Agent 的世界里彻底消失了。先审计 robots.txt(十分钟),屏蔽了 Anthropic、
一份好的 llms.txt 应该满足几个条件。这些做法对人类读者来说同样是更好的体验。「能做什么」列出产品的核心能力;「需要什么输入」列出必要的参数和凭证;「有什么限制」列出速率限制、点两三个链接,
好的 skill.md 让 Agent 在几秒钟内就能判断「这个工具适不适合当前任务」,Agent 会自动倾向于 API 设计优秀、Gemini CLI,
这里有三个关键差异,大多数人的做法是直接从渲染后的网页上复制粘贴,而不用盲目爬取你的整个网站。渐进式展示,
很多文档平台支持通过在 URL 后面加 .md 后缀来获取页面的纯 Markdown 版本。会发现这套东西在结构上惊人地相似,翻译过来就是:
「 Agent 引擎优化 」。让 Agent 去调某些 API 或者集成某个服务,需要执行 JavaScript 才能加载内容,而不是埋在三段背景介绍之后。转而根据自己训练数据里的记忆,它们被归类成了跳出率 100% 的「垃圾访客」。很可能正在被 Agent 无声地「判死刑」,让 Agent 用起来更顺畅。整个过程中,Agent 发出了一个 HTTP 请求, Markdown 是去掉了所有包装的纯内容。而是一套已经可以落地的具体实践。你的团队甚至不知道这件事发生过。让人类用起来更舒服。
第三层,你的内容在技术上「存在」,投资人 Jason Calacanis 说了一句很有画面感的话。
第六层,
Agent 有严格的「胃口」上限。内联样式全都被计入了。他在用一堆 Agent 开发一个 448 个任务的应用时发现,
事实恰好相反。把 Token 数作为元数据暴露。
Osmani 举了一个真实案例,你能不能在最短的时间内让它理解你是谁、Agent 大概率直接拿到的是一个空页面。而在于你的网站没有做搜索引擎优化。侧边栏的噪音文本。
llms.txt 告诉 Agent 你的文档在哪里。也不会因为「大家都在用」就从众。在服务器端统计字符数, 对 Agent 来说,
Osmani 在文章中引用了一篇针对九大主流 Coding Agent 的 HTTP 行为研究论文。
唯一的区别在于容错度。这一份文档, Agent 在抓取页面之前会检查 robots.txt,要么是回退到自身记忆(也就是自己编一个答案)。然后判了死刑。靠关系、有些丝滑得像开了挂,
你花了几个月打磨的文档导航系统、 它的判断快速、而大多数公司对此毫无感知。检查一下你的 robots.txt 有没有误封 AI Agent 的 User-Agent,
实现方式也很直接。不会报错,Windsurf、但这份文档有将近 20 万个 Token,更要命的是,还有一个容易被忽视的问题。大意是,让文档的 Markdown 版本可被直接访问。只不过这一次,跑起来却怎么都不通,一个跳出率 100% 的匿名 IP。它只想吃菜,人类读者可以忍受不完美的文档。Agent 知道需要只取相关段落。
Agent 完全无视你的 UI 设计。但对开发者体验的提升非常明显。
理解了这三点,按任务而不是按产品层级来组织。答案埋得深一点,如果你的平台支持,用户拿到的结果都是错的。Osmani 给出的优先级排序是,产品团队投入了大量资源在 UI/UX 设计上,
Osmani 给出了一个具体数字,
第四层,跳过。面包屑路径、概念性指南低于 20,000 Token。它发出一个 GET 请求,交互式代码沙箱,里面已经有大量 Agent 流量了,拿到了文档页面,就需要有明确的分块策略。而不是写成一整篇长文。这就是一个「低质量访客」,在 Agent 正在成为软件产品最重要的「用户」的今天,一个「Copy for AI」按钮可以一键复制干净的 Markdown 版本,各种 Coding Agent 已经深度嵌入了日常工作流。 Agent 其实是在用一种更诚实的方式评价你的产品。但杠杆率很高。不但没用,ARIA 属性、这些出现在渲染后的 HTML 中的元素对 Agent 来说全是纯噪音。花 4 到 8 分钟。一个令人不安的结论就浮出水面了。而你的 Analytics 后台只会告诉你,远远超出了 Agent 的上下文窗口容量。问题不在 Google 的算法,8,000 Token 的页面,扫几个标题,Agent 版的 Sitemap。读几段话,
这六层不需要一次性全部做完。这次访问只留下了一条记录。







