Claude Code、Codex、Gemini、Cursor 记忆与规则配置对比
· 679 字 · 约 4 分钟
Claude Code、OpenAI Codex、Google Gemini CLI、Cursor 都提供「跨会话的指令/上下文」和「规则」类配置,但命名与层级各不相同。本文从三类配置入手做对比:instruction 文件(CLAUDE.md / AGENTS.md / GEMINI.md)、skills、以及「特殊 rules」(行为/权限类规则)。
说明:本文基于各工具官方文档在 2026-02-11 可访问版本整理。
术语说明:
cwd指 Current Working Directory(当前工作目录,即你运行命令时所在的目录);repo root指仓库根目录(通常是 Git 根目录)。
一、Instruction 类文件(给模型的说明与偏好)
四款工具都支持「在会话开始时加载的 Markdown 说明」,用于项目约定、个人偏好、架构说明等。差异主要在文件名、层级和加载顺序。
先看速览:
| 工具 | 主文件 | 全局位置 | 项目位置 | 本地私有层 |
|---|---|---|---|---|
| Claude Code | CLAUDE.md |
~/.claude/CLAUDE.md + managed policy |
./CLAUDE.md、./.claude/CLAUDE.md、子目录 CLAUDE.md(按需加载)、.claude/rules/ |
./CLAUDE.local.md |
| Cursor | AGENTS.md + Rules |
User Rules(设置内) | .cursor/rules/ + AGENTS.md |
无独立本地层 |
| Gemini CLI | GEMINI.md |
~/.gemini/GEMINI.md |
从项目根到 cwd 每层 GEMINI.md |
无独立本地层 |
| Codex | AGENTS.md |
~/.codex/AGENTS.md |
从项目根到 cwd 每层 AGENTS.md/AGENTS.override.md |
无独立本地层 |
Claude Code:CLAUDE.md + 规则目录
- 存放位置:
- Managed policy:Linux
/etc/claude-code/CLAUDE.md、macOS/Library/Application Support/ClaudeCode/CLAUDE.md、WindowsC:\Program Files\ClaudeCode\CLAUDE.md - 项目:
./CLAUDE.md或./.claude/CLAUDE.md,项目规则./.claude/rules/*.md - 用户:
~/.claude/CLAUDE.md,以及~/.claude/rules/*.md - 项目本地:
./CLAUDE.local.md(通常不入库) - Auto memory:
~/.claude/projects/<project>/memory/MEMORY.md
- Managed policy:Linux
- 层级(由广到窄):Managed policy → 项目 CLAUDE.md / .claude/rules → 用户
~/.claude/CLAUDE.md/~/.claude/rules→ 项目本地 CLAUDE.local.md。 - 优先级与上面的展示顺序相反:越具体越优先(通常是
CLAUDE.local.md最高、Managed policy 最低)。 - 子目录下的 CLAUDE.md 在进入该目录时按需加载;上层目录的 CLAUDE.md 在启动时从 cwd 递归向上加载。
- 支持在 CLAUDE.md 里用
@path/to/file引用其他文件;CLAUDE.local.md一般会加入 .gitignore。 - Auto memory 由 Claude 自动写入,会话启动时只加载 MEMORY.md 前 200 行。1
Cursor: Rules + AGENTS.md
- 存放位置:项目级规则在
.cursor/rules/(.mdc);User Rules 在 Cursor 设置内配置,无独立磁盘路径。AGENTS.md为项目说明入口,具体目录层级行为以当前版本文档/发布说明为准。 - 项目级:
.cursor/rules下的 .mdc(可带 frontmatter:description、globs、alwaysApply),以及AGENTS.md。 - 全局:User Rules(设置里配置,对所有项目生效)。另外有 Memories(Beta)用于跨会话持久化偏好。
- 规则类型:支持「Always Apply / Apply Intelligently / Apply to Specific Files / Apply Manually」四类(部分版本 UI 仍可见旧名
Always / Auto Attached / Agent Requested / Manual)。AGENTS.md是纯 Markdown,不带 rules frontmatter。2 - 旧版
.cursorrules仍支持但已不推荐。
Gemini CLI: GEMINI.md
- 存放位置:全局仅一个文件
~/.gemini/GEMINI.md;项目内在从 cwd 到 Git 根的每一层目录可放 GEMINI.md;子目录也可放,按需加载。可通过设置context.fileName指定备选文件名。 - 层级:全局 → 从 cwd 到项目根路径上的 GEMINI.md → 子目录中的 GEMINI.md(按需)。所有找到的文件内容会拼接后一起送给模型。
- 可用
@file.md在 GEMINI.md 里做模块化引用;可通过设置里的context.fileName增加备选名(如["AGENTS.md", "CONTEXT.md", "GEMINI.md"])。 /memory show查看当前拼接后的内容,/memory refresh重新扫描,/memory add <text>往全局~/.gemini/GEMINI.md追加(会进入「Gemini Added Memories」一类区块)。3
Codex: AGENTS.md
- 存放位置:
- 全局:
~/.codex/AGENTS.md或~/.codex/AGENTS.override.md(仅取其一非空) - 项目:从 Git 根到 cwd 的每一层目录,文件名可为
AGENTS.override.md、AGENTS.md或project_doc_fallback_filenames中的名称 - 可通过
CODEX_HOME切换全局目录
- 全局:
- 全局:
~/.codex/AGENTS.md(或AGENTS.override.md覆盖);仅取其中一个非空文件。4 - 项目:从项目根(通常为 Git 根)向下走到 cwd,每层最多一个文件:优先
AGENTS.override.md,否则AGENTS.md,再按配置的project_doc_fallback_filenames(如 TEAM_GUIDE.md)。最终按「根→当前目录」顺序拼接,有总字节上限project_doc_max_bytes(默认 32 KiB)。
二、Skills(可复用能力包)
先看速览:
| 工具 | 技能形态 | 典型路径 |
|---|---|---|
| Claude Code | SKILL.md + scripts/references/assets |
项目 .claude/skills/、用户 ~/.claude/skills/ |
| Cursor | Agent Skills(SKILL.md) |
常见为项目 .cursor/.claude/.codex 下 skills/,用户目录同理 |
| Gemini CLI | Skills(SKILL.md)+ extensions/MCP |
用户 ~/.gemini/skills/、项目 .gemini/skills/ |
| Codex | Skills(独立于 AGENTS.md) |
项目 .agents/skills/、用户 ~/.agents/skills/、/etc/codex/skills |
- Claude Code:路径为项目级
./.claude/skills/<name>/SKILL.md(及同目录 scripts、references、assets)、用户级~/.claude/skills/<name>/SKILL.md、企业级由 managed settings 配置(无默认磁盘路径)、插件内为插件的skills/<name>/SKILL.md。支持 frontmatter、斜线命令/name、以及「按描述自动选用」。与自定义 slash commands 统一成一套机制,skills 优先。 - Cursor:官方 changelog 已公布 Agent Skills(可被 Agent 自动调用,也支持斜线命令触发);规则体系与 skills 分开。Skills 目录扫描与跨工具兼容(如
.cursor/.claude/.codex)在不同版本文档表述有差异,建议以当前版本 docs 为准。5 - Gemini CLI:官方文档已有 Skills(
SKILL.md+ 可选scripts/、references/、assets/),同时也支持 extensions 与 MCP;三者是不同机制。6 - Codex:Skills 为独立机制。项目侧从
cwd开始向上到 repo root,逐层查找.agents/skills;用户级~/.agents/skills,系统级/etc/codex/skills;此外还有内置systemskills。可用~/.codex/config.toml的[[skills.config]]配置启停。与 AGENTS.md 分开:AGENTS.md 管「说明与约定」,Skills 管「可调用能力包」。7
四家都支持“可复用能力包”思路,但命名与实现不同:Claude/Cursor/Gemini/Codex 都已支持 SKILL.md 形态(Cursor 为较新能力),Gemini 另有扩展与 MCP 机制。
三、特殊 Rules(行为/权限类规则)
这里指「约束模型能执行哪些操作」的规则,而不是「写什么风格的说明」。
先看速览:
| 工具 | 是否有独立命令级策略层 | 配置形态 |
|---|---|---|
| Claude Code | 部分(在 settings/managed policy 里) | permissions、sandbox 等配置 |
| Cursor | 无明确独立策略引擎 | 主要靠 Rules 文案与产品设置 |
| Gemini CLI | 有 | ~/.gemini/policies/*.toml |
| Codex | 有 | .rules(Starlark) |
Claude Code
- 存放位置:记忆与指令在 CLAUDE.md 和
.claude/rules/*.md(见第一节);权限/沙箱的配置在 settings 或 managed policy 中,与「记忆」文档分开,无单独的「命令级 rules 文件」路径。 - 记忆与指令侧:用 CLAUDE.md 和
.claude/rules/*.md表达「做什么、怎么写」;path 限定用 frontmatter 的paths。 - 权限/沙箱:另有 permissions、sandbox 等配置,与「记忆」文档分开管理。
Cursor
- 存放位置:Project Rules 在
.cursor/rules/;User Rules 在应用设置内,无磁盘路径。 - Project/User Rules 主要是「给模型的说明」(风格、流程、禁止事项等),属于 prompt 层面的规则。
- 没有在文档中强调「命令级 allow/deny」的规则引擎,行为控制主要靠规则文案和产品设置。
Gemini CLI: Policy engine
- 存放位置:用户层
~/.gemini/policies/*.toml;Admin 层为系统目录,如 Linux/etc/gemini-cli/policies、macOS/Library/Application Support/GeminiCli/policies、WindowsC:\ProgramData\gemini-cli\policies。 - 专门有一层 Policy:在上述路径的 .toml 里配置规则,针对「工具调用」做 allow / deny / ask_user。
- 规则按
toolName、mcpName、argsPattern、commandPrefix、commandRegex、modes等匹配,带优先级;Admin 层可覆盖 User/Default。8 - 与 GEMINI.md 分离:GEMINI.md 管「说什么、怎么做」的上下文,policy 管「是否允许执行某工具/命令」。
Codex:.rules(Starlark)
- 存放位置:用户层
~/.codex/rules/*.rules(如default.rules);项目/团队层为 team config locations 下的rules/*.rules(./codex/rules是常见布局之一)。Codex 会扫描各 Team Config 下的rules/目录。 - 在以上路径放
.rules文件,用 Starlark 写prefix_rule(pattern=..., decision=allow|prompt|forbidden),控制「哪些命令可以在沙箱外执行、是否要二次确认」。9 - 与 AGENTS.md 完全分离:AGENTS.md 管说明与约定,.rules 管命令级安全与审批。
四、对照小结
| 维度 | Claude Code | Cursor | Gemini CLI | Codex |
|---|---|---|---|---|
| 主 instruction 文件 | CLAUDE.md(+ .claude/rules/*.md) | Rules + AGENTS.md | GEMINI.md | AGENTS.md |
| instruction 存放位置 | /etc/claude-code/、./、 |
.cursor/rules/、AGENTS.md;User Rules 在设置内 | ~/.gemini/、项目根到 cwd、子目录 | ~/.codex/、项目根到 cwd 每层 |
| 全局 instruction | ~/.claude/CLAUDE.md、Managed | User Rules | ~/.gemini/GEMINI.md | ~/.codex/AGENTS.md |
| 项目本地/私有 | CLAUDE.local.md(.gitignore) | — | 无单独「本地」层 | — |
| 自动记忆 | ~/.claude/projects/<project>/memory/MEMORY.md | Memories (Beta) | /memory add(工具名 save_memory)→ 全局 GEMINI.md |
— |
| 指令内引用 | @path 在 CLAUDE.md | @file 在 rules | @file.md 在 GEMINI.md | 无同一机制 |
| Skills | .claude/skills/,斜线+自动选用 | Agent Skills(SKILL.md,支持自动调用与 slash) | Agent Skills + Extensions/MCP | Skills 独立于 AGENTS.md |
| Skills 存放位置 | 项目 .claude/skills/、用户 ~/.claude/skills/、企业 managed、插件 skills/ | 常见为项目 .cursor/.claude/.codex 的 skills/ 与用户 ~/.cursor/~/.claude/~/.codex 的 skills/(以版本文档为准) |
用户 ~/.gemini/skills/、项目根到 cwd 每层 .gemini/skills | 从 cwd 到 repo root 扫描 .agents/skills、用户 ~/.agents/skills、Admin /etc/codex/skills |
| 行为/权限规则 | permissions 等单独配置 | 无独立策略引擎 | Policy engine (TOML) | .rules (Starlark) |
| 行为规则存放位置 | settings / managed policy | — | 用户 ~/.gemini/policies/、Admin /etc/gemini-cli/policies 等 | 用户 ~/.codex/rules/、team config locations 下 rules/ |
配置时可按需求选:要「和仓库一起版本化的项目约定」用各家的项目级 instruction 文件;要「仅本机或本项目的私有偏好」用 Claude 的 CLAUDE.local.md 或 Cursor 用户规则;要「严格限制可执行命令」用 Gemini 的 policy 或 Codex 的 .rules。
补一个选型视角:如果你最重视“可编程的命令审批规则”,Gemini(TOML policy)和 Codex(Starlark .rules)更强;如果你最重视“项目说明 + 代码助手使用门槛”,Claude/Cursor 的 instruction + rules 组合更直接。
参考
#Claude Code #Codex #Gemini #Cursor #Instruction #Rules #Skills