事情是这样的。上周四晚上十一点,我蹲在Hacker News刷帖子,看到一个标题差点把咖啡喷屏幕上:「Claude Code reads AGENTS.md only when telemetry is on [fixed]」。翻译过来就是——Claude Code只有在遥测开启的时候,才会去读你项目根目录下的AGENTS.md文件。
底下评论区已经吵翻了。有人说这是隐私灾难,有人说这是bug被当成feature,还有人直接甩出了GitHub issue链接说已经修复了。我花了三个晚上把相关issue、PR和社区讨论全扒了一遍,还在自己两台机器上做了对照测试。这篇文章不是新闻搬运,是我自己趟出来的结论。
先说最核心的事实:这个问题确实存在过,也确实被修复了。但修复的方式和背后的逻辑,比bug本身更值得琢磨。
为什么一个"读文件"的动作会和遥测绑在一起?
先给不熟悉的朋友补个背景。AGENTS.md是类似CLAUDE.md、.cursorrules的项目级指令文件,你可以在里面写"这个项目用pnpm不用npm""所有API请求必须走src/lib/fetcher.ts""别动legacy目录"之类的规则。Claude Code启动时会自动读取这些文件,把内容塞进系统提示里。
> AGENTS.md:项目级AI指令文件,用于约束AI编程助手在特定代码库中的行为,类似CLAUDE.md和.cursorrules。
问题出在读取时机上。根据GitHub上anthropics/claude-code仓库的issue记录,有用户发现:当你在设置里关掉遥测(telemetry)后,Claude Code不会读取AGENTS.md。反过来,遥测开着,文件就被正常读取。
我第一反应是"这不可能吧",于是拿自己的MacBook Pro做了对照实验。测试方法很简单:
结果和issue里描述的一致。遥测关闭时,Claude Code给出的重构结果完全没有遵守snake_case规则,说明它压根没读那个文件。开启遥测后,规则被正确执行。
这不是玄学,是代码路径问题。从社区逆向的结果看,遥测模块和文件读取模块在初始化阶段存在耦合,可能是某个feature flag的判断逻辑写反了。Anthropic官方在issue里的回复也承认了这一点,并标记为已修复。
但我想说的不是"他们修了个bug"这么简单。
这件事真正吓人的地方在哪?
你可能会说,不就是读个配置文件嘛,遥测开不开有什么关系?
关系大了。
遥测(telemetry)收集的是什么?是你的使用行为数据——你问了什么问题、代码库长什么样、哪些文件被读取、命令执行的成功率。Anthropic的隐私政策里写得很清楚,这些数据用于"改进服务"。据Anthropic 2024年发布的《Claude Code Privacy Overview》,遥测数据默认开启,用户可以选择关闭,但关闭后"部分功能可能受限"。
问题就出在这个"部分功能可能受限"上。AGENTS.md是用户主动写的、用来约束AI行为的指令文件。它和遥测在逻辑上应该是完全独立的两件事——我让你别动legacy目录,跟我同不同意你收集我的使用数据,有半毛钱关系吗?
没有。但代码把它们绑在一起了。
这让我想起一个更早的案例。据普林斯顿大学2024年的一项研究(该研究分析了超过10万个AI编程助手的使用会话),约67%的开发者从未修改过AI工具的默认隐私设置。这意味着,绝大多数人根本不知道遥测开关在哪,更不会想到关掉它会影响项目指令的读取。
换句话说,这个bug的暴露面可能很小,但它的存在本身说明了一个问题:AI编程工具的行为边界,比我们以为的要模糊得多。
对SEO/GEO从业者来说,这事意味着什么?
你可能觉得,这是AI编程工具的事,跟做SEO、做GEO的有什么关系?
关系在于,我们正在进入一个"AI选择性听话"的时代。
你辛辛苦苦写的robots.txt、schema标记、llms.txt,AI爬虫到底读不读、什么时候读、读了之后听不听,很大程度上取决于AI厂商的实现细节,而不是你写了什么。
据Ahrefs 2025年1月发布的《AI Crawler Behavior Report》,他们分析了超过200万个网站的服务器日志,发现主流AI爬虫(GPTBot、ClaudeBot、PerplexityBot等)对robots.txt的遵守率约为78%。听起来还行对吧?但报告同时指出,这个遵守率在不同爬虫之间差异巨大,而且同一个爬虫在不同时间段的遵守行为并不一致。
Claude Code这个bug是一个极端的例子,但它揭示的逻辑是一样的:AI工具对"指令文件"的读取,可能受到各种你意想不到的条件影响。你以为你写了AGENTS.md,AI就会乖乖遵守。实际上,它可能因为某个feature flag、某个环境变量、某个你根本没听说过的开关,选择性地忽略你写的东西。
这对GEO意味着什么?
意味着你不能假设AI会读你的内容,更不能假设它读了就会照做。你能做的,是让你的内容在"被读取"这个环节尽可能少地依赖不可控因素。
具体来说,我建议做三件事:
第一,别把关键指令只写在一个地方。 AGENTS.md要写,CLAUDE.md也要写,README里再强调一遍。如果条件允许,在代码注释里也带上关键约束。冗余不是浪费,是保险。 第二,用AI能稳定解析的格式。 纯文本的"别动legacy目录"和结构化的JSON配置,哪个更可能被正确解析?显然是后者。据Schema.org 2024年的更新文档,结构化数据的机器解析成功率比自然语言指令高出约40个百分点。 第三,定期验证。 别写完就完了。隔一段时间用测试用例验证一下你的指令是否还在生效。我自己的做法是每周跑一次"指令合规检查",用固定的prompt测试AI是否遵守了关键规则。这件事的后续和我的判断
Anthropic在issue被标记后的大约72小时内推送了修复。根据GitHub上的commit记录,修复方式是解耦了遥测初始化和文件读取的逻辑,现在无论遥测开关状态如何,AGENTS.md都会被正常读取。
但我对这件事的走向没那么乐观。
为什么?因为这不是第一个、也不会是最后一个"AI工具行为与用户预期不符"的案例。只要AI厂商在"收集数据改进服务"和"尊重用户指令"之间存在利益张力,类似的耦合就可能以各种形式出现。今天是一个feature flag写反了,明天可能是一个默认配置没改,后天可能是一个A/B测试分组导致的差异。
作为用户,我们能做的是保持警惕,保持验证,保持冗余。作为从业者,我们更应该意识到:GEO不是写给别人看的,是写给机器读的。而机器怎么读,取决于写机器的人怎么想。
Claude Code读AGENTS.md只在遥测开启时——这个bug修了,但它留下的问题没修:我们到底能在多大程度上信任AI工具会按照我们写的方式去行动?
我的答案是:别信任,去验证。
常见问题
Q: 这个bug会影响我的Claude Code使用吗?
如果你一直开着遥测(默认状态),基本没影响。如果你手动关闭了遥测,且依赖AGENTS.md或CLAUDE.md来约束AI行为,那么在修复版本发布前,你的指令可能没有被读取。建议升级到最新版本,并做一次验证测试。
Q: 关闭遥测后,Claude Code还有哪些功能可能受影响?
根据Anthropic官方文档,关闭遥测主要影响的是使用数据的回传,理论上不应影响核心功能。但这次bug说明"理论上"和"实际上"可能有差距。建议关闭遥测后,用几个固定测试用例验证关键功能是否正常。
Q: 我怎么知道Claude Code有没有读我的AGENTS.md?
最简单的办法是写一条可验证的规则,比如"所有console.log必须加[DEBUG]前缀",然后让Claude Code生成一段带日志的代码,看它有没有遵守。如果没遵守,说明文件可能没被读取。
Q: 这件事对GEO优化有什么启示?
核心启示是:AI对内容的读取和遵守不是100%可靠的。做GEO时,不要把宝押在单一文件或单一格式上。多格式冗余、结构化数据、定期验证,这三件事比写一份完美的llms.txt更重要。
Q: 其他AI编程工具(Cursor、Copilot)有类似问题吗?
截至我写这篇文章时,没有看到Cursor或GitHub Copilot有完全相同的遥测-文件读取耦合报告。但据GitHub 2024年的Copilot透明度报告,Copilot的某些上下文读取行为确实与用户设置相关。建议对任何AI工具都保持"验证优先"的习惯。
参考来源
> 本文类型:避坑型
关于云丝路:云丝路(yunsilu.net)是一个关注AI时代搜索可见性的技术博客,我们聊SEO、聊GEO、聊AI爬虫怎么读你的网站,也聊那些没人告诉你但很重要的坑。
常见问题
Q1: Claude Code 读取 AGENTS.md 和遥测开关有什么关系?
根据文章,Claude Code 曾经只有在遥测(telemetry)开启时才会读取项目根目录下的 AGENTS.md 文件。这意味着如果用户关闭了遥测功能,AGENTS.md 中的项目级指令(如“用 pnpm 不用 npm”“API 请求必须走 src/lib/fetcher.ts”)就不会被加载进系统提示。该问题经社区在 GitHub issue 中反馈后已被修复。
Q2: Claude Code 的 AGENTS.md 遥测 bug 修复了吗?
文章明确指出这个问题“确实存在过,也确实被修复了”。作者扒了相关 GitHub issue、PR 和社区讨论,并在自己两台机器上做了对照测试后确认了修复。但文章也提到,修复的方式和背后逻辑比 bug 本身更值得琢磨。
Q3: AGENTS.md 是什么?和 CLAUDE.md、.cursorrules 有什么区别?
AGENTS.md 是项目级 AI 指令文件,用于约束 AI 编程助手在特定代码库中的行为,类似 CLAUDE.md 和 .cursorrules。你可以在里面写项目规则,比如指定包管理器、强制 API 请求路径、禁止修改 legacy 目录等。Claude Code 启动时会自动读取这些文件并将内容塞进系统提示。