Claude Code 从 9 月 19 日起原生支持 AGENTS.md,这标志着 Anthropic 在项目指令文件格式上向 OpenAI 靠拢。

这是 OpenAI 在 2025 年 8 月推出的一种项目指令文件格式,此前 Claude Code 一直坚持只读自家的 CLAUDE.md。如今终于兼容,隔壁 OpenAI 的 Tibo 也来围观支持。

大概在 5 月,AGENTS.md 的使用数量就已经超越了 CLAUDE.md。

就在更新这一天,有人做了抽样调查:6.2% 的 GitHub 活跃仓库 包含 AGENTS.md(活跃仓库标准是 90 天内有 push、非 fork、非 archived),而 CLAUDE.md 的比例是 5.4%。也就是说,大量项目的开发者不得不同时维护两个文件——尽管从格式到内容,两者几乎没什么区别。
没什么区别,却折磨了开发者一年
OpenAI 为自家 Codex 设计了 AGENTS.md,给 AI 编程助手提供一个标准化的方式来读取项目的编码规范、构建步骤和测试要求。它本质上就是一个放在代码仓库根目录的 Markdown 文件,相当于写给 AI 的 README。
OpenAI 从一开始就没有把它叫做 OpenAI.md 或 Codex.md。这个开放格式迅速获得行业认可,到 2025 年 12 月,OpenAI 把 AGENTS.md 捐赠给了 Linux 基金会下新成立的 Agentic AI Foundation(AAIF)。

值得注意的是,Anthropic 也是这个基金会的联合创始方之一,捐出了自家的 MCP 协议,Block 则贡献了 goose 框架。AWS、Google、Microsoft、Bloomberg、Cloudflare 全部以白金会员身份加入。

Codex、GitHub Copilot、Cursor、Windsurf、Gemini CLI、Aider、Zed、Jules、JetBrains Junie 先后宣布原生支持 AGENTS.md。在所有主流 AI 编程工具中,Claude Code 是最后一个。
Claude Code 只认 CLAUDE.md 这件事,已经困扰开发者很久了。同一个项目里,Codex 读 AGENTS.md,Cursor 读 AGENTS.md,只有 Claude Code 要求一份单独的 CLAUDE.md。两份文件内容 90% 重合,却必须分开维护。一旦一边更新另一边忘了改,不同 AI agent 就会给出互相矛盾的建议。
社区被迫发明了各种变通方案,虽然能用,但各有各的坑。
最常见的是在项目根目录执行符号链接:
ln -s AGENTS.md CLAUDE.md
用文件系统的符号链接让两个文件名指向同一份内容。但这在 Windows 上需要管理员权限或开发者模式,而且 Git 在 Windows 上默认不保留符号链接。没有正确配置的情况下克隆仓库,CLAUDE.md 会变成一个只包含「AGENTS.md」几个字母的空壳文件,Agent 读进去完全无效,还不会报错——非常难以察觉。
也有人在 CLAUDE.md 第一行写 @AGENTS.md,利用导入语法间接读取。但对于新加入团队的成员来说,看到一个只有一行内容、指向另一个不同名 Markdown 文件的指令文件,实在很难理解发生了什么。
用多个 AI 编程工具协作的团队受影响最大。同一个代码仓库要同时维护 CLAUDE.md 和 AGENTS.md,内容高度重复但又不完全相同——CLAUDE.md 可能包含 Claude 特有的指令,AGENTS.md 则是工具无关的。两个文件一旦漂移不同步,排查问题会非常头疼。
Claude Code 的下一步:Mod
Claude Code 2.1.277 的实现方式是回退机制,而非全面替换。默认模式叫 claude-md-or-agents-md:只有当项目中不存在任何 CLAUDE.md 时,才会去查找并加载 AGENTS.md。如果项目已经有了 CLAUDE.md,哪怕只是一个空文件,AGENTS.md 都不会被读取。
除了默认模式之外,开发者还可以在 /config 中选择另外三种模式:只读 CLAUDE.md、同时读取两种文件、或者只加载组织级别的托管指令文件。整个功能作为一个内置插件(Mod)实现。
Claude Code 的 Mod 系统 9 月刚刚发布,本质上是一套插件系统,允许开发者在 Claude Code 的运行流程中插入自定义逻辑。每个 mod 可以监听特定的生命周期事件——比如会话启动、上下文构建、工具调用、子 agent 派生等——在这些关键节点上拦截、修改或补充 Claude Code 的默认行为。

通过 Mod,你甚至可以在 Claude Code 里玩俄罗斯方块。

不过从 AGENTS.md 的支持上,也能看出 Claude Code 插件体系还有一些不完善之处。文档中列出了一系列「仍然与 CLAUDE.md 存在差异」的条目:
AGENTS.md 的嵌套文件只在文本类型的 Read 操作中触发,不覆盖 IDE 中打开的文件、notebook 和图片等场景;
/memory 命令和 # 快捷键不识别 AGENTS.md 文件;
--add-dir 添加的额外目录不会加载其中的 AGENTS.md;
AGENTS.md 中引用外部路径的 @导入 需要借用 CLAUDE.md 的授权对话框才能生效,自身不会触发授权提示。
这些限制源自当前插件事件体系尚未覆盖到这些场景。
所以总结这一波:Claude Code 在格式上更像 OpenAI 了,在功能上则是在向 DeepSeek 借鉴经验。
参考链接:
[1] https://x.com/trq212/status/2101009392611278961?s=20
[2] https://github.com/anthropics/claude-code/tree/main/mods/agents-md