本文基于 Simon Willison 对 Thariq Shihipar 官方公告的引用整理与二次分析,加入 LoopRouter 在接入可移植性与去锁定上的视角;原文见文末链接。版本号与行为描述以官方为准。
一句话结论:Claude Code 从 2.1.277 起,当某个目录里没有 CLAUDE.md 时,会回退去读通用的 AGENTS.md。值得记住的不是「又兼容了一个文件」,而是它释放的信号——连 Anthropic 自家工具都开始尊重厂商中立的配置标准了。把「你怎么让 AI 干活」的知识存成中立格式,换工具、换模型时的迁移成本,就从「重写」降到「改配置」。
这次到底改了什么
| 项目 | 内容 |
|---|---|
| 起始版本 | Claude Code 2.1.277 |
| 优先级 | CLAUDE.md 优先;仅当目录内无 CLAUDE.md 时才回退用 AGENTS.md |
| 是否替换 | 不是替换,是回退(fallback) |
| 实现方式 | 以一个内置 mod 的形式做进来 |
| 背后机制 | Claude Code mods——官方即将开放的、定制 Claude Code 运行外壳(harness)的方式 |
| 后续能力 | 用户将可自行构建项目指令的自定义版本 |
AGENTS.md 与 CLAUDE.md 承担的职责一样:都是写给 AI 编码工具看的项目说明(怎么构建、有哪些约定、要注意什么)。差别只在文件名的通用性——CLAUDE.md 是专有约定,只有 Claude 认;AGENTS.md 则被越来越多的 Agent 编码工具共同采用。
为什么这是「可移植性」信号,而不只是兼容补丁
关键在于谁向谁靠拢。过去每家 Agent 工具都想让你写它专属的配置文件,把你的项目知识沉淀在自己的格式里——这本身就是一种轻量级锁定:你越把「怎么让 AI 干活」写进某家专有文件,换工具的成本越高。
现在的变化是,头部厂商主动去读通用标准。这说明在配置这一层,行业的天平正从「各自专有」滑向「通用中立」。对团队的直接好处:
- 一份
AGENTS.md能被多个工具复用,不必为每个工具各维护一份、还得手动保持同步; - 团队成员用不同 Agent 工具时,项目约定不再因工具而分叉;
- 将来换工具,项目指令原样带走,不用重写。
别忽略这条 nuance:仍是「CLAUDE.md 优先」
值得清醒的一点:这次是回退,不是默认。只要目录里有 CLAUDE.md,它依然压过 AGENTS.md。也就是说,专有格式仍是「一等公民」,通用标准只是「兜底」。
这对做技术选型的人有两层含义:
- 好的一面:标准兼容通常是单向棘轮——一旦头部工具肯读通用格式,很难再退回去,可移植性只会越来越好。
- 要留神的一面:默认路径仍在把你往专有文件引。如果你在意可移植性,得主动选择把知识写进
AGENTS.md,而不是顺着默认写进CLAUDE.md——后者需要 Claude 专属补充时再用作增量即可。
LoopRouter 视角:配置可移植与模型可移植,是同一件事
AGENTS.md 这件小事,和 LoopRouter 想解决的大问题,底层逻辑完全一致:凡是编码了你工作方式的资产,都该用中立格式保存,让切换是配置行为、而非重写行为。
- 配置层:项目指令写进通用的
AGENTS.md,换 Agent 工具时原样带走——工具锁定被削弱。 - 模型层:模型调用走统一接入网关,换供应商只改路由权重、不动业务代码——供应商锁定被削弱。
- 提示词与记忆层:把提示词模板、上下文/记忆放进你自己可控的中立存储,而不是某家专有的会话功能里,保持在不同模型间的可移植性。
一句话:别人可以决定文件叫什么、模型怎么定价,但「你能不能换、换得快不快」应该由你的架构说了算。 AGENTS.md 让配置这一层先松了绑;LoopRouter 做的是同一件事的模型版——用统一 API 接入国内外主流模型,把多供应商路由与故障切换收敛到网关层,让下一次「换工具/换模型」对你只是一次配置调整。
原文出处:Simon Willison《Quoting Thariq Shihipar》(引用 Claude Code 官方公告) · https://simonwillison.net/2026/Sep/18/thariq-shihipar/
