ARTICLE · 1049307
最较劲的两家 AI 编程工具,在一个 Markdown 文件上握了手
NOTES
Claude Code 2.1.277 开始支持 AGENTS.md,项目里没有 CLAUDE.md 时自动回退读取。而这个格式,是 OpenAI 定的。
9 月 18 日,Anthropic 放出了 Claude Code 的 2.1.277 版本。发布说明里有一行很容易被划过去。
Added AGENTS.md support,in a project with no CLAUDE.md, Claude Code reads AGENTS.md instead。
翻译过来就是,如果你的项目里没有 CLAUDE.md,Claude Code 现在会去读 AGENTS.md。
而 AGENTS.md 这个东西,是 OpenAI 的 Codex 团队搞出来的。
Anthropic 的工程师 Thariq Shihipar 在 X 上宣布这件事的时候,OpenAI 核心产品负责人 Thibault Sottiaux 回了一句,太好了,这才是对的路,到光里来。Shihipar 回了一个握手表情。
这两家在最较劲的时候,在一个 Markdown 文件上握了手。

01
THREE SENTENCES
改了什么,其实就三句话
这次的改动本身很小,三句话能说完。
第一句,项目里没有 CLAUDE.md 的话,Claude Code 会读 AGENTS.md,把它当成这个项目的指令。
第二句,这个检查是一个文件夹一个文件夹做的。也就是说,如果你的指令文件分散在好几个子目录里,它会逐层去找。
第三句,如果某个文件夹里两个文件都有,CLAUDE.md 赢,AGENTS.md 让位。
想关掉也行,在 /config 里的项目指令那一项里可以切换。
所以这不是谁吞掉谁。Anthropic 保留了自己的那份优先权,只是承认了一件事,就是那个「另一份」也该被读一读。

02
HOW IT USED TO BE
以前开发者是怎么熬过来的
要看懂这行改动的分量,得先知道在这之前大家每天的处境。
CLAUDE.md 和 AGENTS.md 都是放在项目里的 Markdown 文件,用途是告诉 agent 这个项目的规矩。怎么构建,怎么跑测试,代码风格是什么,有哪些安全注意事项。它们会被 agent 在每一次请求的时候读进去,是模型建立上下文的地基。
问题在于,如果你一个人同时用 Claude Code 和 Codex,或者团队里有人用这个有人用那个,你就得维护两份内容几乎一样的文件。
而这两个格式还不完全一样。CLAUDE.md 里可以写只对 Claude 有意义的指令,AGENTS.md 的设计目标是跟工具无关的那一套。
于是大家开始想办法。比较流行的一种做法是建软链接,让 CLAUDE.md 指向 AGENTS.md,这样改一处两边都变。听起来很聪明,实际上是一层薄薄的胶水,谁动一下就断。
有意思的是,Anthropic 在这次的发布说明里顺手改了一处性能问题,说的是 SDK 和无头模式下第一轮不再等待那个按目录的 CLAUDE.md 查找。
也就是说,每天有无数人在为了这个查找多等一点时间。这就是两份文件的真实成本。

03
WHOSE FILE IS IT
AGENTS.md 是谁的东西
这个文件不是 OpenAI 一家拍出来的。
它最早出自 OpenAI 的 Codex 团队,同时也吸收了 Google 的 Jules、Cursor、Amp 和 Factory 等几家的做法。现在它由 Linux 基金会下面的 Agentic AI 基金会照看,去年 OpenAI 把它捐了进去。
它的内容就是一份新同事入职第一天需要的东西,构建命令、测试方式、代码风格、注意事项。除了必须是标准 Markdown 之外,它没有规定任何结构。这种「随便你怎么写」的宽松,恰恰是它被一堆工具接受的原因。
到 2025 年 12 月,已经有超过 6 万个开源项目用了 AGENTS.md。
读它的名单很长,Codex、Cursor、Gemini CLI、GitHub Copilot 的编程 agent、Devin、Windsurf、JetBrains 的 Junie 都在里面。
你去看这份名单,会发现一个很大的名字不在。就是 Claude Code。

04
WHY THEY GAVE IN
为什么 Anthropic 会让这一步
这件事最值得琢磨的地方在这儿。
Claude Code 现在的势头很好,Anthropic 完全有底气坚持自己那一套。制定标准这件事本身就是一种权力,谁会主动把自己的名字写进别人的名单里。
但它还是让了。
我猜它算的是另外一笔账。坚持自己的格式,代价不是它自己付的,是每一个用它的人付的。一个用户如果想同时试试竞品,他得先维护两份文件;这个摩擦力不体现在 Anthropic 的收入表上,它体现在这个用户愿不愿意开始试用。
放开这一步,反过来对它是有利的。别人已经用 AGENTS.md 的项目,现在打开 Claude Code 就能直接用,不需要先做一遍迁移。等于把「从竞品切过来」的成本压到接近零。
所以这不是一次和解,这是一次很清醒的让步。它承认了在这个层面继续分家已经没什么可赚的了。

05
THE FOOTNOTE
这条新闻里有一个要当心的脚注
发布说明里跟着一句括号里的话,括号里写的是 Bedrock、Vertex 和 Foundry 上暂时不支持。
这句话不长,但对某一些团队来说很重要。
因为有些公司并不直接调 Anthropic 的接口,而是通过亚马逊云、谷歌云或者微软云的方式去用 Claude,这么做通常是为了让数据留在某一个区域里,满足合规或者其他要求。
如果你属于这类团队,这次改动对你暂时不生效,你还是得继续维护 CLAUDE.md。
所以同一版本号下,两个团队的体验是不一样的。这也是为什么读发布说明的时候,括号里的那半句往往比正文重要。

06
MY TAKE
我的判断
第一层,这件事小到不该上新闻,但它说明的事情不小。
项目指令文件正在从「某个工具的偏好」变成「代码库的基础设施」。AGENTS.md 已经进了 Linux 基金会,六万个项目在用,多个厂商在读取它。当一个文件被这么多工具共同依赖,它就不再是谁家的私产了,而读不读它,变成了一个互操作性决定,不是产品决定。
这两年的体验是反过来的,各家都在用格式和配置锁住用户。这次有一个人先松手,而且松手的理由很实际,是因为松手对自己有利。
第二层,对正在用这些东西的你来说,有一条很具体的收益。
如果你手上有一个配置齐全的 AGENTS.md,你现在可以在 Claude Code 里直接打开同一个仓库,不用先写一份 CLAUDE.md。反过来说,如果你之前一直在两个文件之间来回同步,可以把 CLAUDE.md 里那些只给 Claude 看的特殊指令留下来,其余的交给 AGENTS.md。
还有习惯上的一个变化值得提一句。既然指令文件现在是社区共有资产,你写它的时候最好假设读它的不只是你今天用的那个工具。那份文件里的信息越接近「这个项目的事实」,它就越能在换工具的时候继续用下去。
第三层,落回一句我自己的观察。
这份新闻里最动人的不是握手表情,是那行修掉的性能问题。第一轮不再等待按目录的 CLAUDE.md 查找。你看,一个行业标准之争的最终结果,是有人省下了那几百毫秒。
技术进步大部分时候就是这个样子,不怎么体面,但确实有用。
我是小新,在 AI 工位陪你一起盯着这些变化。觉得有意思的话,点个关注,我们下次接着聊。