Skip to content

记忆文件说明

Claude Code 和 Codex 都支持通过特定的"记忆文件"来告诉 AI 你的项目背景、工作习惯、代码规范等。写好记忆文件,AI 每次打开都能直接进入状态,不用每次重复交代。


Claude Code 的记忆文件:CLAUDE.md

Claude Code 使用 CLAUDE.md 作为记忆文件,支持多层级,按范围从大到小加载。

加载层级

txt
~/.claude/CLAUDE.md              ← 全局(所有项目都生效)
<项目根目录>/CLAUDE.md           ← 项目级(只在这个项目生效)
<项目子目录>/CLAUDE.md           ← 子目录级(只在这个目录下生效)

加载规则:

  • 三个层级的内容会同时生效,不是覆盖而是叠加
  • 越具体的层级优先级越高(子目录 > 项目 > 全局)
  • Claude Code 每次启动时自动读取所有适用层级

文件位置

全局记忆文件(对所有项目生效):

  • Windows:C:\Users\你的用户名\.claude\CLAUDE.md
  • Mac:~/.claude/CLAUDE.md

项目记忆文件(只对当前项目生效):

在你项目的根目录下创建 CLAUDE.md 即可,例如:

txt
F:\我的项目\
├── CLAUDE.md       ← 在这里
├── src\
├── package.json
└── ...

子目录记忆文件(只对某个模块生效):

txt
F:\我的项目\
├── CLAUDE.md
└── src\
    ├── CLAUDE.md   ← 只在处理 src 目录下的文件时生效
    └── ...

写什么?

全局 CLAUDE.md 适合写通用偏好,项目 CLAUDE.md 适合写项目专属背景

全局 CLAUDE.md 示例:

markdown
# 全局规则

- 全程用中文回答
- 先说结论,再补充理由
- 修改代码前必须先读取原文件
- 禁止创建不必要的新文件

项目 CLAUDE.md 示例:

markdown
# 项目背景

这是一个 React + TypeScript 的电商前端项目。

## 技术栈
- 框架:React 18
- 样式:Tailwind CSS
- 状态管理:Zustand

## 注意事项
- 组件文件统一放在 src/components 目录
- 接口请求统一走 src/api 目录下的封装方法,不要直接用 fetch
- 提交信息用中文

Codex 的记忆文件:AGENTS.md

Codex 使用 AGENTS.md 作为记忆文件,层级结构与 Claude Code 完全一致。

加载层级

txt
~/.codex/AGENTS.md               ← 全局(所有项目都生效)
<项目根目录>/AGENTS.md           ← 项目级(只在这个项目生效)
<项目子目录>/AGENTS.md           ← 子目录级(只在这个目录下生效)

文件位置

全局记忆文件:

  • Windows:C:\Users\你的用户名\.codex\AGENTS.md
  • Mac:~/.codex/AGENTS.md

项目记忆文件: 在项目根目录创建 AGENTS.md,同 CLAUDE.md 用法。

写什么?

内容格式和写法与 CLAUDE.md 完全相同,参考上方示例即可。


Codex 的权限规则文件:rules/

Codex 还有一个特殊的规则目录,用于记录"允许自动执行哪些命令":

txt
~/.codex/rules/default.rules

这个文件由 Codex 自动维护,每次你在 Codex 里选择"始终允许"某个命令时,规则会自动写入这里。一般不需要手动编辑。


两个工具记忆文件对比

对比项Claude CodeCodex
文件名CLAUDE.mdAGENTS.md
全局位置~/.claude/CLAUDE.md~/.codex/AGENTS.md
项目级项目根目录 CLAUDE.md项目根目录 AGENTS.md
子目录级支持支持
加载方式多层叠加多层叠加

实用建议

Q:压缩之后 AI 还能记住 CLAUDE.md / AGENTS.md 里的内容吗?

A:可以。记忆文件是每次启动都重新读取的,不受上下文压缩影响。这就是为什么建议把重要的项目背景、规范写进记忆文件而不是靠对话来传递——即使上下文被压缩,记忆文件的内容始终在。

Q:两个工具同时用,要维护两份记忆文件吗?

A:全局规则部分(语言偏好、通用习惯)需要分别写在各自的全局文件里。项目级的 CLAUDE.mdAGENTS.md 内容可以相同,放在同一个项目根目录下,两个工具各自读取对应的文件。

Q:记忆文件会占用上下文吗?

A:会,记忆文件的内容每次都会被加入上下文。所以不要把记忆文件写得过于冗长,保持精简、只写有用的内容,避免白白消耗 token。

给 Claude Code / Codex 用户准备的中转站文档