Appearance
15 · Memory:跨会话记忆
📚 系列导航:上一篇 14 自定义 Skill 把反复粘贴的步骤打包成 Skill。这一篇聊更底层的事——怎么让 Claude 跨会话记住你。Claude Code 的记忆是两套系统,不是一套。
01 记忆分两套
| 维度 | CLAUDE.md | 自动记忆(auto-memory) |
|---|---|---|
| 谁写的 | 你(手动写) | Claude(自己写) |
| 装什么 | 指令和规则 | 它学到的经验和模式 |
| 典型内容 | 编程标准、工作流、项目架构 | 构建命令、调试心得、发现的偏好 |
| 加载方式 | 每次会话,全量加载 | 每次会话,但只加载前 200 行或 25KB |
| 范围 | 用户/项目/本地级 | 每个 git 仓库一份(所有 worktree 共享) |
WARNING
两套都只是软提示——影响它想干啥,不是锁死它能干啥。想真正拦死操作,得靠权限规则或 hook。
02 CLAUDE.md 四层级
| 层级 | 位置 | 管谁 |
|---|---|---|
| 托管策略级 | macOS: /Library/.../CLAUDE.md,Linux: /etc/claude-code/CLAUDE.md | 企业统一下发 |
| 用户级 | ~/.claude/CLAUDE.md | 你所有项目的个人偏好 |
| 项目级 | ./CLAUDE.md 或 ./.claude/CLAUDE.md | 当前项目全队共享(进 git) |
| 本地级 | ./CLAUDE.local.md | 当前项目只你自己(进 .gitignore) |
关键区别: CLAUDE.md 无论多长都全量加载,自动记忆有硬上限。
03 自动记忆:它自己写的笔记
触发方式:
- 你直接让它记:
记住这个项目的构建命令是 make build - 它从纠正里自学:你纠正它一次,它判断以后还用得上就自己记了
看到界面提示「Writing memory」或「Recalled memory」,就是它在写或读笔记。
存放位置:
text
~/.claude/projects/<project>/memory/
├── MEMORY.md # 简洁索引,每次会话加载前 200 行
├── debugging.md # 调试详细笔记
├── api-conventions.md # API 设计决策
└── ... # 其他主题文件加载规则: MEMORY.md 的前 200 行或前 25KB(以先到者为准)在每次对话开始时加载。超出部分开局不加载,Claude 需要时按需读主题文件。
04 /memory:审计、编辑、开关
text
/memory- 列出当前会话加载的所有记忆文件(CLAUDE.md + CLAUDE.local.md + 规则 + 自动记忆)
- 提供打开自动记忆文件夹的入口,可读改删
- 切换自动记忆开关
用 settings.json 关闭自动记忆(项目级):
json
{
"autoMemoryEnabled": false
}TIP
定期敲一次 /memory 扫一遍自动记忆,清掉过时信息(换掉的端口、废弃的接口约定)。两分钟的事,省得它拿着过时信息误导你。
05 该记什么、不该记什么
| ❌ 别记 | ✅ 值得记 |
|---|---|
| 「这次先用 8081 端口」(一次性) | 「构建命令是 make build」 |
| 「临时把这个变量改成 tmp」 | 「测试要先起本地 Redis」 |
| 数据库密码/API key/token(敏感!) | 「上次那个偶发 bug 根因是时区没设」 |
| 「我现在在调登录页」(临时状态) | 「认证逻辑都在 src/auth/」 |
三关判断: 会变的别记、只用一次的别记、敏感的绝对别记。
06 # 快捷键已过时
# 是早期老做法,新版本已不用这套交互。忘掉它。
正确做法:
- 说「记住 xxx」→ 存进自动记忆(机器本地)
- 说「加进 CLAUDE.md」→ 存进 git 守则(全队共享)
WARNING
光说「记住 xxx」默认进自动记忆,不等于进 CLAUDE.md。要全队共享必须明说「加进 CLAUDE.md」。一句话之差,共享范围天差地别。
07 动手:记一条,跨会话验证
bash
mkdir memory-demo && cd memory-demo
claudetext
记住:这个项目的构建命令是 make build,不是 npm build预期:Claude 回应记下了,可能看到「Writing memory」提示。
text
/memory确认自动记忆文件夹里有这条记录。退出重进:
bash
claudetext
这个项目怎么构建?预期:直接回答 make build,可能看到「Recalled memory」提示。
08 小结
| 知识点 | 一句话 |
|---|---|
| 两套记忆 | CLAUDE.md(你写规矩)+ 自动记忆(它写心得) |
| CLAUDE.md 加载 | 无论多长全量加载 |
| 自动记忆加载 | 前 200 行/25KB |
| 自动记忆存哪 | ~/.claude/projects/<project>/memory/MEMORY.md |
| 审计 | /memory 查看、编辑、开关 |
| 三关原则 | 会变的别记、一次性的别记、敏感的别记 |
| 记路口诀 | 「记住 xxx」进本地,「加进 CLAUDE.md」进 git |
NOTE
下一篇:16 并行任务与环境变量:把多会话并行跑起来,再用环境变量把底层行为一次配死。