彻底搞懂 Claude Code 的“记忆”机制
彻底搞懂 Claude Code 的“记忆”机制让 AI 拥有跨会话的“肌肉记忆”每个 Claude Code 会话都从一张白纸开始如何让它记住你的项目规范、调试经验和个人偏好本文带你全面梳理 Claude Code 的记忆系统从此告别每次都要重复说明的痛苦。 核心概念Claude 的“记忆”到底是什么很多新手会误以为 Claude Code 像人一样有长期的“潜意识”但实际上Claude Code 每次启动都是一个全新的上下文窗口它不会自动记住上次聊了什么。所谓的“记忆”本质上是每次启动时从磁盘读取一堆 Markdown 文件 → 注入到 Prompt → 当作上下文参考。目前跨会话传递知识主要依赖两套系统CLAUDE.md 文件你手写给 AI 的规则。自动记忆Auto MemoryAI 自己记的笔记。用一张图概括整个记忆系统的全貌Claude Code 记忆系统CLAUDE.md你手写的规则项目 / 用户 / 组织级启动时全部加载自动记忆 Auto MemoryClaude 自己写的笔记~/.claude/projects//memory/MEMORY.md 主题文件规则 .claude/rules/多文件模块化规则支持 paths 限定作用范围命令 /memory查看和编辑所有记忆文件开关自动记忆故障排除CLAUDE.md 不生效自动记忆存了什么文件太大/compact 后指令丢失⚠️重要提醒这两个系统都是“参考上下文”不是“强制配置”。Claude 会尽量遵守但不保证 100% 绝对执行。 一、CLAUDE.md你写给 AI 的“长期指令”这是你最核心的工具用来告诉 Claude “你在这个项目里必须遵守的规矩”。1. 什么时候该往里写东西Claude 第二次犯同样的错误时Code Review 发现它不懂的项目约定时你在每个会话都要重复同一套纠正/说明时新队友需要同样的上下文才能高效工作时。原则把“每次会话都应该知道的事实”写进去。比如构建命令、代码规范、项目架构、绝对不要做的事2. CLAUDE.md 的层级与作用域Claude Code 会从当前目录往上遍历串联所有找到的 CLAUDE.md而不是覆盖。上层目录的先出现靠近项目根目录的后出现优先级更高。范围文件位置示例适用场景共享对象组织级指令/Library/Application Support/ClaudeCode/CLAUDE.md(macOS) 等全公司统一安全/合规规范全组织用户级指令~/.claude/CLAUDE.md你的个人偏好如喜欢中文回复只自己项目级指令./CLAUDE.md或./.claude/CLAUDE.md团队项目规范需提交到 Git团队本地指令./CLAUDE.local.md需加入.gitignore你在本项目里的个人偏好/试错只自己技巧子目录里的 CLAUDE.md 不是启动就加载而是Claude 读取该子目录文件时才按需加载这能节省 Token。3. 编写最佳实践大小每个文件目标 ≤ 200 行。太长会多吃 Token且 AI 遵守度会下降。结构用 Markdown 标题 列表方便 AI 扫描。具体性写可验证的指令。例如 ✅ “使用 2 空格缩进”而不是 ❌ “正确格式化代码”。导入其他文件可以用path/to/import语法导入 README 等外部文件最多 4 跳递归首次使用会弹窗让你确认安全。️ 二、.claude/rules/模块化的“规则库”对于大型项目把所有规则塞进一个 CLAUDE.md 会变得臃肿。官方推荐使用.claude/rules/目录进行拆分。your-project/ ├── .claude/ │ ├── CLAUDE.md # 主项目指令 │ └── rules/ │ ├── code-style.md # 代码样式 │ ├── testing.md # 测试约定 │ └── security.md # 安全要求杀手锏功能路径限定规则文件可以加 YAML frontmatter限定只在处理某些文件时才触发规则极大减少无关 Token 消耗---paths:-src/api/**/*.ts---# API 开发规则-所有 API 端点必须包含输入验证-使用标准错误响应格式 三、自动记忆AI 自己记的“小本本”如果说 CLAUDE.md 是你给 AI 下发的员工手册那自动记忆就是 AI 自己在工作中攒下来的经验笔记。1. 工作机制当你纠正它时它觉得有用的经验会自动保存下来。存储在本地~/.claude/projects/project/memory/目录下。MEMORY.md的前200 行或 25KB会在每次会话开始时自动加载超出的部分会按主题拆分如debugging.md在需要时按需读取。2. 管理与控制默认开启如果你不想让它自作主张记东西可以通过/memory界面关闭开关或在设置中配置autoMemoryEnabled: false。自动记忆是机器本地的不会同步到云端也不会提交到 Git。️ 四、/memory 命令一站式控制台在会话中输入/memory是你管理和调试记忆系统的最佳入口查看列出当前会话加载的所有 CLAUDE.md 和规则文件。✏️编辑直接打开任何记忆文件进行修改。开关一键开启/关闭自动记忆功能。 当你跟 Claude 说“记住要用 pnpm”它会存到自动记忆如果你希望写进团队规范明确说“把它加到 CLAUDE.md”或者自己通过/memory编辑。️ 五、常见问题与避坑指南Q1为什么 Claude 不遵守我的 CLAUDE.md用/memory确认文件是否真的被加载了。检查指令是否太模糊改用具体可验证的描述。检查不同层级/文件之间是否有冲突规则AI 遇到冲突会随机选一条。如果是“必须在某时机执行”的命令如提交前检查应该用Hook而不是 CLAUDE.md。Q2CLAUDE.md 太大了怎么办把只跟特定文件类型相关的规则挪到.claude/rules/加paths限定。修剪不是每个会话都需要的内容。Q3使用/compact压缩上下文后指令好像丢了项目根目录的 CLAUDE.md 在压缩后会自动从磁盘重新读取。但子目录中的 CLAUDE.md 需要等 AI 再次读取该子目录文件时才会重新加载。对策把最核心的指令放在项目根目录的 CLAUDE.md 中。 总结Claude Code 的记忆系统设计非常优雅你定基调CLAUDE.md Rules它补细节Auto Memory通过 /memory 随时审视。掌握这套机制你就能把 Claude Code 从一个“每次都要重新磨合的临时工”调教成一个“深谙项目套路的资深搭档”。 官方文档参考https://code.claude.com/docs/zh-CN/memory