yzr-multi-agent-context
AGENTS.md 作单一真源(CLAUDE.md 薄壳共存)
把一个工程的项目上下文归约成「AGENTS.md 作单一真源(SSOT)、对多个 agent 兼容」——CLAUDE.md
或已有的 AGENTS.md 经两条路径收敛到同一份工具无关的 AGENTS.md,各 agent 各用各的入口加载它
(原生读 AGENTS.md 的 / 经薄壳 CLAUDE.md → @AGENTS.md 的),不必维护两份。
设计与原理
核心是让 AGENTS.md 成为单一真源:所有项目上下文只在这里维护一份,CLAUDE.md 退化成引入它的
薄壳(加少量 Claude 专属逃生舱)。AGENTS.md 是跨 agent 的事实标准——原生读它的 agent 都原生识别,
无需额外配置;不原生读 AGENTS.md 的 agent 则经薄壳 CLAUDE.md → @AGENTS.md 引入同一份内容,
且支持递归 @import,故 AGENTS.md 内的 @MEMORY/MEMORY.md 也会被自动展开。
L2 记忆层用 @MEMORY/MEMORY.md 收口(R2;此理由只在此讲一次,Step 2 / 3 均引用本段):
MEMORY.md(索引文件)放在 MEMORY/ 下,AGENTS.md 用 @MEMORY/MEMORY.md 单行引入——会自动展开
@import 的 agent(递归 import / 原生支持 @path)会把索引正文展开到上下文;不展开 @import 的
agent 仅把它当文本。故 AGENTS.md 顶部挂一条强制 Read
指令(对所有 agent 一视同仁):凡 @ 引用都用 Read 读——不展开的据此 Read MEMORY/MEMORY.md 拿到
索引,展开的读了也无害(从「段内逐点补指引」升级为「一条通则兜底」,不再绑定具体 agent)。