本节摘要:记忆让上下文跨会话持久化,核心载体是
CLAUDE.md——它是每次对话唯一自动包含的文件。按范围分四级:受管策略(组织级下发)→ 项目(./CLAUDE.md)→ 目录(子目录/CLAUDE.md)→ 用户(~/.claude/CLAUDE.md),规则就近优先。三个操作入口:/init生成项目 CLAUDE.md、/memory记忆编辑器(多范围切换)、#前缀快速把一条规则写进记忆。目录级记忆是拼接而非覆盖;Auto Memory 按目录逐层自动加载,可用claudeMdExcludes排除。
阅读完本节,你应当能够:
| 层级 | 位置 | 作用 |
|---|---|---|
| 受管策略(组织级) | 由组织下发 | 全公司统一规则(如安全规范) |
| 项目 | ./CLAUDE.md |
项目级约定(技术栈/规范/联系人) |
| 目录 | 子目录/CLAUDE.md |
局部差异(如 src/api 模块约定) |
| 用户 | ~/.claude/CLAUDE.md |
个人偏好(风格/工具链) |
规则就近优先:目录级 > 项目级 > 个人偏好——越具体的规则越优先。
/init # 初始化项目 CLAUDE.md(推荐) # 这个项目始终使用 TypeScript 严格模式 # 输入前加 # 快速写入记忆 /memory # 打开记忆编辑器(受管策略/项目/用户/本地多范围切换)
# 快捷写入适合"此刻想到一条规则"的随手记录;/init 适合项目起步;/memory 适合批量整理。
目录级 memory 是拼接而非覆盖:子目录的 CLAUDE.md 与根目录的并存,Claude 按需加载——在 src/api/ 下工作时才加载 src/api/CLAUDE.md 的规则,不会污染全局上下文。这正是多模块项目控制上下文的关键手段。
Auto Memory:Claude 按当前目录、父目录逐层自动查找加载 CLAUDE.md;可用 claudeMdExcludes 配置排除某些路径。它的价值:worktree/monorepo/多人协作下保持规则一致,subagent 也可有自己的记忆范围。模块化技巧:用 YAML frontmatter 的 description 标记路径规则,用子目录和 symlink 复用局部规则。
记忆系统 = 一种载体(CLAUDE.md)+ 四级范围(组织/项目/目录/用户)+ 三个入口(/init、/memory、#)。"就近优先+按需加载"的设计,让记忆既能全局一致又不膨胀上下文。下一节精读三个模板,看实际内容怎么写。