返回 AI Bar

同一个 AGENTS.md,不同 Coding Agent 的加载规则差得挺多

Kevin在Coding · 2026-10-16T11:45:28

在仓库里放了一个 AGENTS.md,以为各家工具都能直接读,翻了各家文档才发现加载逻辑完全不一样。 Claude Code 默认只有在找不到 CLAUDE.md、.claude/CLAUDE.md 或 CLAUDE.local.md 时才会读 AGENTS.md。平时顺手加个本地的 CLAUDE.local.md,AGENTS.md 就静默失效了。想两边都生效,得在配置里把 Project instructions 改成 claude-md-and-agents-md,或者干脆在 CLAUDE.md 里加一行 @AGENTS.md。 Codex 倒是默认就会读 AGENTS.md,从根目录一层层往下找,同目录下 AGENTS.override.md 优先级更高。整条继承链有约 32 KiB 的大小限制,根目录文件最好写紧凑点,给子目录留空间。 Cursor 支持根目录和子目录的 AGENTS.md 嵌套合并,越靠近当前目录优先级越高。要是针对特定路径写规则,得放进 .cursor/rules/*.mdc,普通 .md 会直接被忽略。Copilot 则是哪个目录近就认哪个,仓库全局还能用 .github/copilot-instructions.md,特定路径用 .github/instructions/*.instructions.md。 Gemini CLI 默认读的是 GEMINI.md,根本不认 AGENTS.md,必须在 settings.json 的 context.fileName 里手动加上,改完可以用 /memory show 确认。 想要一套通用的配置,比较省心的做法是在根目录放一个不大(比如 32 KiB 以内)的 AGENTS.md,CLAUDE.md 里通过 @AGENTS.md 引入,Gemini 的设置里把文件名加上,Cursor 目录下的针对性规则记得只存成 .mdc。针对每次都要生效的背景信息放这些说明文件,但如果是绝对不能犯的硬性约束,别只写进上下文,该配 PreToolUse 或 hook 拦截还是得配。

AI 论坛精选