Claude Code 记忆功能
课程导读
这节课主要讲 Claude Code 如何跨会话“记住”重要信息:全局记忆适合保存你的长期偏好,项目记忆适合保存当前项目规范,自动记忆则由 Claude Code 根据对话内容自行整理。
二、记忆类型
Claude Code 的记忆可以先分成两类:
| 类型 | 谁来写 | 典型文件 | 适合保存什么 |
|---|---|---|---|
| 手动记忆 | 你或 Claude Code 按你的要求写入 | CLAUDE.md、CLAUDE.local.md | 明确规则、项目规范、个人偏好 |
| 自动记忆 | Claude Code 自动整理 | MEMORY.md | Claude Code 从对话中学到的长期规则和模式 |
需要注意:这些记忆本质上都是上下文信息,不是强制配置。
也就是说,Claude Code 通常会尽量遵守,但它依然可能理解偏、忘记细节,或者在上下文混乱时犯错。
三、使用 memory 命令
管理记忆可以使用:
/memory/memory 通常可以看到:
| 入口 | 作用 |
|---|---|
| 用户记忆 | 查看或编辑用户记忆 |
| 项目记忆 | 查看或编辑当前项目相关记忆 |
| 自动记忆 | 查看自动记忆目录,或切换自动记忆开关 |
它也会列出当前会话已经加载的 CLAUDE.md、CLAUDE.local.md 和规则文件,方便你确认 Claude Code 到底读到了哪些记忆。
四、用户(全局)记忆
用户记忆对所有项目生效,适合保存你的长期个人偏好。
常见路径:
| 系统 | 路径 |
|---|---|
| macOS / Linux | ~/.claude/CLAUDE.md |
| Windows | %USERPROFILE%\.claude\CLAUDE.md |
适合写入的内容:
# 个人偏好
- 我的名字叫小由。
- 所有对话使用简体中文。
- 所有文档使用简体中文。
- 所有代码注释使用简体中文。
- 在 macOS 中,运行 Python 脚本优先使用 `python3`,安装依赖优先使用 `pip3`。保存后,重新开启 Claude Code 会话时,这些内容会自动加入上下文。
打开全局记忆文件
| 系统 | 方式 |
|---|---|
| Claude Code 内部 | 使用 /memory,选择用户记忆文件 |
| macOS Finder | Shift + Command + G,输入 ~/.claude/CLAUDE.md |
| Windows 资源管理器 | 在地址栏输入 %USERPROFILE%\.claude\CLAUDE.md |
如果文件在终端编辑器里打开,操作不熟悉时可以直接退出,改用侧边栏或系统文件管理器打开编辑。
五、项目记忆
项目记忆写在当前项目文件夹里。macOS / Linux 与 Windows 规则相同,只是路径写法不同(/ 与 \)。
常见文件如下(路径都相对于当前项目根目录):
| macOS / Linux | Windows | 用途 | 会不会进 Git(Git 是一种记录项目文件改动的工具,进阶课中讲解) |
|---|---|---|---|
./CLAUDE.md | .\CLAUDE.md | 写这个项目的正式说明和规范(个人项目是写给你自己看;有团队时则大家共用) | 会,团队也能看到 |
./.claude/CLAUDE.md | .\.claude\CLAUDE.md | 同上,只是换到 .claude 文件夹里存放 | 会,团队也能看到 |
./CLAUDE.local.md | .\CLAUDE.local.md | 只给你自己看的补充说明,例如本地怎么跑、个人备注 | 不进 Git,只留在你电脑上 |
如果你是一个人做项目,前两行照常用 CLAUDE.md 就行。需要「只给自己看、不想上传 Git」的内容时,再用 CLAUDE.local.md。
和全局记忆的区别
用户(全局)记忆,适合每个项目都要遵守的个人偏好,例如「全程使用简体中文」。
CLAUDE.local.md 适合只在这个项目里才有意义的个人说明,不想写给团队看,也不适合写到全局记忆里。
新手建议:先在项目根目录建一个 CLAUDE.md 即可;只有当你有一些「只想自己看、不想随项目分享出去」的补充说明时,再额外建 CLAUDE.local.md。
项目记忆(尤其是 CLAUDE.md)适合保存:
- 项目简介
- 技术栈
- 常用运行命令
- 测试命令
- 代码风格
- 目录结构说明
- 当前项目的特殊注意事项
六、使用 init 生成项目记忆
如果你接手一个已有项目,可以使用:
/initClaude Code 会分析当前项目,并生成一份项目说明文件。
这份文件通常会包含:
| 内容 | 说明 |
|---|---|
| 项目简介 | 当前项目是做什么的 |
| 常用命令 | 启动、构建、测试等命令 |
| 项目结构 | 主要目录和模块 |
| 开发规范 | 命名、代码风格、注意事项 |
它本质上是给 Claude Code 看的“项目说明书”。后续你重新开启会话时,Claude Code 可以更快理解当前项目。
如果你不知道 CLAUDE.md 应该写什么,可以先跑一次 /init,让 Claude Code 自动生成一版,再慢慢调整。
七、新版 init
新版 /init 更像一个交互式项目初始化向导。
开启方式是在全局设置中添加环境变量:
{
"env": {
"CLAUDE_CODE_NEW_INIT": "1"
}
}配置文件通常位于:
| 系统 | 路径 |
|---|---|
| macOS / Linux | ~/.claude/settings.json |
| Windows | %USERPROFILE%\.claude\settings.json |
配置完成后,需要重启 Claude Code 才会生效。
九、自动记忆
自动记忆不需要你手动编辑文件。
Claude Code 会根据对话内容,自行判断哪些信息值得长期保存。
例如你说:
要记住一点,以后在这个项目中编写 Python 脚本的时候,要在开头添加两个注释:开发者是小由,Python 文件创建时间。Claude Code 可能会判断这是一条长期规则,并写入自动记忆。
自动记忆默认是项目级别的,但不会直接放在项目根目录里。
常见路径:
| 系统 | 路径 |
|---|---|
| macOS / Linux | ~/.claude/projects/<project>/memory/ |
| Windows | %USERPROFILE%\.claude\projects\<project>\memory\ |
目录里通常会有:
| 文件 | 作用 |
|---|---|
MEMORY.md | 自动记忆入口和索引 |
| 其他主题文件 | Claude Code 拆分出的详细规则或说明 |
MEMORY.md 启动时只会加载前 200 行或前 25KB,超出的部分不会自动加载。
十一、记忆使用建议
| 建议 | 说明 |
|---|---|
CLAUDE.md 尽量短 | 目标控制在 200 行以内 |
| 不要堆太多规则 | 文件太长会占用上下文,也会稀释重点 |
| 错误重复两次就记录 | 同一个错误出现两次以上,可以写入记忆 |
| 不确定写什么就先留空 | 项目早期没有 CLAUDE.md 也没关系 |
| 优先让 Claude Code 帮你整理 | 直接用自然语言说明规则,让它写入记忆 |
十二、记忆不是强制规则
重要提醒:记忆只是上下文,不是硬规则
CLAUDE.md 和自动记忆都属于上下文信息,不是强制配置。
你可以把它理解成给 Claude Code 的“参考说明”,而不是必须执行的系统开关。
Claude Code 通常会尽量遵守这些记忆,但如果规则写得太模糊、互相冲突,或者当前上下文比较混乱,它仍然可能理解偏或执行错。
