VIBECODING 系列 · 012

AGENTS.md / CLAUDE.md:团队级 AI 编程规范与知识库建设

调研时间:2026 年 9 月 · 面向读者:独立开发者 / 小团队技术负责人
TL;DR 规则文件已经从“各家私货”收敛为事实标准:OpenAI 倡导的 AGENTS.md 被 6 万+开源项目采用,Cursor、Gemini CLI、Codex、Copilot 等主流工具原生读取,Claude Code 用一行 @AGENTS.md 导入。实践上的最优解是“AGENTS.md 做单一事实源 + 各工具文件只留一行转发”,内容上遵循三条铁律:短(几十行而非几百行)、分层(根目录讲全局,子目录讲局部)、可执行(写成祈使句,能被工具强制的交给 hooks/lint,不靠模型自觉)。规则文件本身也是攻击面,来历不明的仓库里它就是提示注入的载体。

1背景:从碎片化到事实标准

问题源于一个朴素需求:AI 编程工具没有记忆,每次会话都要重新学习“这个仓库怎么干活”。于是每家工具发明了自己的记忆文件——Claude Code 的 CLAUDE.md、Cursor 的 .cursorrules、Gemini CLI 的 GEMINI.md。一个同时用三样工具的团队要维护三份内容雷同的文档,Gemin CLI 仓库的著名 issue(#1471)正是在抱怨这种碎片化。

2025 年春,OpenAI 随 Codex 推广 AGENTS.md:一个纯 Markdown、无专属语法、支持目录层级覆盖的开放格式。它没有官方标准组织,却因为“够简单、厂商中立”完成了事实标准化——截至 2026 年,agents.md 官网显示已有超过 6 万个开源项目采用,Cursor(2.0 版起)、Gemini CLI、Google Jules、GitHub Copilot、Aider、Zed、Windsurf、Devin、Amp 等 30 余个 agent 原生读取。Anthropic 的 Claude Code 虽仍以 CLAUDE.md 为主记忆,但支持通过 import 语法直接引用 AGENTS.md,等于变相兼容。

为什么这件事值得认真对待?因为规则文件是当前投入产出比最高的 AI 编程投资:一小时的编写,换来此后每次会话少说十遍废话、少跑十次弯路。它本质上是把“团队隐性知识”变成模型可执行的上下文。

2格式格局:四种文件怎么选

60,000+
采用 AGENTS.md 的开源项目数(agents.md,2026)
30+
原生支持 AGENTS.md 的 agent 工具数
约 5 层
CLAUDE.md @import 的最大递归深度
文件所属工具加载机制层级能力建议定位
AGENTS.md开放格式(OpenAI 倡导)Codex / Cursor / Gemini CLI / Copilot 等原生读取支持嵌套:子目录文件覆盖父目录单一事实源,写全部稳定规范
CLAUDE.mdClaude Code每次会话自动注入;/memory 编辑;支持 auto memory 自动积累企业策略 / 用户全局 / 项目 / 本地四级留一行 @AGENTS.md 转发 + Claude 专属差异
.cursor/rules/*.mdcCursor按 frontmatter 的 alwaysApply / globs 条件触发多文件按 glob 匹配放“改某类文件才生效”的局部规则
GEMINI.mdGemini CLI分层读取;Context Forge 可从仓库自动生成全局 / 项目 / 子目录留一行引用 AGENTS.md
.github/copilot-instructions.mdGitHub Copilot仓库级自动注入单层同步 AGENTS.md 要点

取舍建议很简单:AGENTS.md 为骨架,其余文件最多做转发和补充。旧版 .cursorrules 已被官方弃用,迁移到 .cursor/rules 目录即可;Claude Code 的 import 语法(@路径,最多递归约 5 层)足够把所有工具指向同一份内容。不要试图让每个工具的文件各写一套——那是在为未来制造漂移 bug。

3好规则的写法与反模式

规则文件写差的概率远大于写好。常见反模式:写成几百行的 wiki(模型注意力被稀释,等于没写);写“我们要写高质量代码”这类口号(不可执行);写了一年后没人删的过时规则(模型比新人更相信它,杀伤力翻倍)。

一个可抄的 AGENTS.md 骨架(约 40 行,2026 实践共识)

① 项目一段话:是什么、技术栈、谁在用。② 命令速查:pnpm dev / pnpm test --filter / pnpm lint --fix——让 agent 不再猜命令。③ 硬约束 5—8 条,全部祈使句:“改公共 API 必须跑 pnpm api:check”“禁止提交 .env”“新组件放 src/components/ui,样式用既有 token,不引入新 CSS 框架”。④ 边界:“不确定时先读 docs/architecture.md 再提问”。⑤ 子目录各放一个小 AGENTS.md,只写与父级不同的规则(如 packages/api/AGENTS.md 写迁移规范)。这个结构来自 agents.md 官方建议与各团队公开实践的交集。

判断一条规则该不该写,用两个测试:可执行测试(agent 能否据此改变行为?不能就删);工具测试(这件事 lint / CI / hooks 能不能强制?能就移出规则文件,交给机器)。Claude Code 的 hooks、Cursor 的 lint-on-edit 就是为此准备的——规则文件管“判断”,工具管“执行”。

场景该写进规则文件不该写 / 该交给谁
命名与目录约定“测试文件与源文件同目录,命名 *.test.ts
提交卫生“提交信息用 conventional commits 格式”提交前强制检查 → commitlint / CI
密钥安全“需要密钥时向用户索取,不要硬编码”兜底扫描 → pre-commit 的 gitleaks 钩子
代码风格全部交给 formatter / linter,规则文件一个字都别写
业务背景“金额单位统一为分(整数)”这类模型猜不出的领域事实长篇架构史 → 放 docs/,让 agent 按需检索

3.1 团队落地三步走

  1. 冷启动(第一个迭代):由最熟悉仓库的人花半天写第一版 20 行,只放“新人第一天必须知道的事”,不追求全。
  2. 众包进化(前三个月):约定“任何人纠正 agent 两次以上,就提交一条规则 PR”;规则 PR 必须附触发它的真实案例,防止拍脑袋立法。
  3. 制度化(三个月后):指定规则文件 owner;每季度清理与现状冲突的条目;高频规则逐步下沉到 hooks / lint,让文件越来越短而非越来越长。

4机会:把知识库做成资产

对独立开发者和小团队,规则文件之上还有一层可经营的机会:

机会点 垂直框架的“AGENTS.md 生态位”还未被占据——一个维护良好、随框架版本更新的官方级规则包(如 “agentic-supabase”),能成为该框架 AI 编程体验的事实入口。

5风险与挑战

风险:规则文件是提示注入的一等攻击面。2025 年的 Nx / s1ngularity 事件证明,恶意包和恶意仓库里的“规则 / 注释”会被 agent 当作指令执行。克隆陌生仓库、安装带 AGENTS.md 的模板前,先读一遍它的内容。
风险:过时规则的负资产化。规则文件没有测试、没有 owner,半年后无人敢删。它会以 100% 的置信度误导每个新会话。对策:给规则加日期、纳入季度清理。
风险:语义并不完全互通。“AGENTS.md 标准”只是约定,各工具对同一文件的注入时机、截断长度、嵌套覆盖行为不同;把超长内容塞进去,不同工具表现会不可预测地分叉。
风险:把规则文件当管理手段的幻觉。模型遵守规则是概率行为。安全边界(密钥、权限、危险命令)必须放在 hooks / CI / 沙箱层,规则文件只适合承载“偏好与约定”。

6行动建议