Claude Code 只有在启用遥测时才会读取 AGENTS.md [已修复]
Anthropic 的 Claude Code 工具存在一个漏洞:只有在启用遥测时才会读取新的 `AGENTS.md` 配置文件,这引发了人们对基本本地行为被数据收集门控的担忧。公司后来解释说,这是由于将远程功能标志用作 kill switch 而造成的非预期“发布产物”,并迅速发布了修复,但许多用户仍批评把文件读取与远程标志绑定的设计选择,以及代码库日益增长的复杂性。这一事件进一步加剧了人们对不透明、专有 AI 工具可远程改变行为的担忧、对客户端软件中过度使用功能标志的担忧,以及 AI 生成的代码和文档对软件质量影响的担忧。
受遥测门控的 AGENTS.md 行为
- 用户发现,Claude Code 只有在启用了遥测时才会读取
AGENTS.md,尽管发布说明暗示它得到普遍支持。 - 一些人表示,这种情况已经持续了数月,导致在关闭遥测时分阶段上线无法进行。
Anthropic 的解释与修复
- 团队中的一位评论者称这是一个“发布产物”:AGENTS.md 支持被放在一个远程功能标志后面,而该标志又通过与遥测相同的路径连接。
- 在关闭遥测时,功能标志无法切换,因此 AGENTS.md 从未被激活。
- 他们将其标注为人为错误,表示歉意,并称新版本已移除了这种依赖。
漏洞还是本意之争
- 有些人认为这显然是一个漏洞或发布疏忽。
- 另一些人怀疑这可能是故意为之,目的是鼓励开启遥测。
- 还有少数人认为,考虑到标志架构,这“按设计工作”,但设计本身是有问题的。
设计与架构批评
- 很多人认为,读取本地文件绝不应依赖远程状态或遥测,尤其是在没有任何可见警告的情况下。
- 许多人称这种设计“不可辩护”,即便具体行为是意外造成的。
- 也有人淡化其影响,指出不使用遥测的用户只是稍晚才获得该功能。
功能标志、遥测与远程控制
- 一些人为功能标志和 kill switch 辩护,认为它们是安全分阶段上线的标准做法,尤其是在大规模场景下。
- 另一些人则对桌面工具的行为可以被远程切换感到不安,并将其视为对自己机器的“远程控制”。
- 讨论还延伸到:功能标志是否必须与遥测绑定,还是可以只拉取、并保持隐私友好。
Mods/插件系统与复杂性
- AGENTS.md 支持是通过一个新的“Mods”扩展系统和函数钩子实现的。
- 许多人认为,对于外部看起来只是“读取 CLAUDE.md,或者如果不存在就读取 AGENTS.md”的事情来说,这属于严重过度设计。
- 另一些人反驳说,这是在以低风险方式试验新的插件系统。
开放式 vs. 闭源主架构与配置预期
- GitHub 仓库引发了混淆:只有 mods/plugins 是可获取源码的;核心主架构是专有的。
- 一些人批评这具有误导性,并敦促改用开放式主架构。
- 还有几个人问,为什么文件名处理不能只是可配置的,或者至少不该被硬编码到功能标志里。
变通方案与实际说明
- 用户描述了几种变通方案:符号链接、只引用
@AGENTS.md的CLAUDE.md、共享的.agents/skills目录。 - 注意:默认情况下,如果存在
CLAUDE.md,则会忽略 AGENTS.md,除非启用了特定的 “claude-md-and-agents-md” 设置。