Anthropic 在 2026 年 9 月 18 日推送的 Claude Code v2.1.277 中,悄然补上了一项开发者呼吁已久的能力:当代码库根目录不存在私有的 CLAUDE.md 时,工具将自动检测并读取通用的 AGENTS.md。
这项改动表面上打破了 AI 辅助编程领域的配置壁垒。然而拆开技术实现会发现,这绝非一次彻底的原生平权,而是一场防御性妥协。Anthropic 并没有把开源标准接纳进核心运行时,而是将其打包成一个内置的外挂插件,在带来便利的同时也给工程团队埋下了易踩的静默失效陷阱。
迟到 393 天的回退机制,为何留了一手
开源社区对这一功能的诉求,最早可以追溯到 2025 年 8 月 21 日提交的 GitHub 第 6235 号功能议题。在此后一年多里,工程师在多工具协作时,必须在仓库里保留两份内容重复的指令文件,或者在 CLAUDE.md 中手动编写软链接与引入标记。
Claude Code v2.1.277 引入的默认规则被称为 claude-md-or-agents-md。它的核心逻辑是互斥回退,而不是智能融合。只有在当前目录完全找不到 CLAUDE.md 时,系统才会向下寻找 AGENTS.md。
许多开发者以为引入此功能后两个文件能按规则合并,但默认状态下二者互斥执行。只有手动将项目指令配置改成 claude-md-and-agents-md,工具才会把两份文档拼接加载,而且 CLAUDE.md 的文本位置永远排在最前方。
更致命的是隐藏的优先级覆盖。即便开发者删除了团队共享的 CLAUDE.md,只要开发机上残留一份 CLAUDE.local.md,回退机制就会被静默阻断,导致团队精心制订的通用规范根本无法生效。
剥开外挂插件,AGENTS.md 仍是二等公民
从架构上看,这次更新并没有重写 Claude Code 的底层配置加载器,而是通过即将推出的扩展架构 mods,以内置插件 mods/agents-md 的形态落地的。
这种走外挂通道的设计,带来了多项直接的技术阉割。通过插件注入的 AGENTS.md 不会在系统的 /memory 或 /context 面板中正常呈现,开发者无法通过常规指令排查它是否被完整载入。它也不会触发核心生命周期里的 InstructionsLoaded 钩子,通过追加目录参数 --add-dir 引入的其他 AGENTS.md 更是会被直接无视。
- 风险.若团队在 Amazon Bedrock、Google Vertex AI 或 Microsoft Foundry 等托管环境中使用 Claude Code,该回退功能尚未同步上线,冒然清理兼容脚本会导致云端任务大面积脱轨。
在云端托管与企业私有化部署场景中,环境依赖往往滞后于本地客户端。这意味着跨团队的大型项目目前依然无法真正删掉粘合脚本。
协议割据下的工程生存方案
横向审视整个行业,各家工具对项目指令的掌控欲截然不同。OpenAI Codex 将 AGENTS.md 作为核心标准,提供严格的层级覆盖与完整的内存调度;Google Gemini CLI 仍然坚守 GEMINI.md,需要用户自行通过配置项修改抓取文件名;Anthropic 这次拿出的方案,介于开放与封闭的狭缝之间。
这种妥协反映出大模型厂商在仓库控制权上的拉锯。把品牌名称固化在开源项目的配置文件中,本就是极强的品牌占位。
软性的提示词堆叠永远无法换来确定性的工程执行,名字之争只是表象。
无论文件被命名为 CLAUDE.md 还是 AGENTS.md,它们本质上都只是向大模型上下文中注入的参考文本,没有任何沙盒硬约束能保证指令得到百分之百的执行。
- 建议.当下的最稳妥策略,依然是在仓库中保留一份标准的 AGENTS.md,并在 CLAUDE.md 中通过显式导入语法建立桥接,切勿在多云环境跟进前清空专有配置。
在各大工具真正开放核心加载接口之前,开发者过早押注单一文件名,只会把团队协作带入新的调试泥潭。
