ᕕ( ᐛ )ᕗ Jimyag's Blog

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、Windows C:\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 → 项目 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:descriptionglobsalwaysApply),以及 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.mdAGENTS.mdproject_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/.codexskills/,用户目录同理
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;此外还有内置 system skills。可用 ~/.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、Windows C:\ProgramData\gemini-cli\policies
  • 专门有一层 Policy:在上述路径的 .toml 里配置规则,针对「工具调用」做 allow / deny / ask_user。
  • 规则按 toolNamemcpNameargsPatterncommandPrefixcommandRegexmodes 等匹配,带优先级;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/、./、/.claude/、/.claude/rules/、./.claude/rules/ .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/.codexskills/ 与用户 ~/.cursor/~/.claude/~/.codexskills/(以版本文档为准) 用户 ~/.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