Claude Code Auto Memory 自动记忆机制详解

每一次新对话的开始,都是一场小型失忆。你在上个会话里花半小时向 Claude 解释的项目结构、调试到一半的线索、刚刚达成的默契——窗口一关,干干净净,像沙滩上被潮水抹去的字。

古人说「前事不忘,后事之师」,但对一个上下文窗口有限的语言模型来说,「前事」本身就是奢侈品。Claude Code 为此设计了两套持久化记忆系统:CLAUDE.md 是用户写给 Claude 的指令,Auto Memory 是 Claude 自己写给自己的笔记。两者互补,共同对抗每次会话开始时的遗忘。

工作机制

存储位置

Auto Memory 按项目隔离,存储在:

~/.claude/projects/<project>/memory/
├── MEMORY.md          # 主索引,启动时加载前 200 行
├── debugging.md       # 调试经验
├── api-conventions.md # API 设计决策
└── ...                # 其他主题文件

<project> 路径由 Git 仓库根目录派生。同一仓库的子目录共享同一个 memory 目录,不同仓库各自独立。这个设计倒也合理——同一座城里的街道共享一份地图,但隔壁城市的事,就不必操心了。

加载策略

  • 启动时:只加载 MEMORY.md 的前 200 行,保持初始上下文精简
  • 工作中:按需读取详细主题文件,实时写入和更新记忆
  • 索引管理:当内容超过约 200 行时,Claude 会将详细笔记拆分到独立主题文件,MEMORY.md 只保留索引

200 行的限制颇有深意。人的短期记忆容量是 7±2 个组块,Claude 的启动记忆也需要克制——不是什么都记住才叫好记性,而是知道什么该先想起来。

记忆内容

Claude 会自动记录以下信息:

  • 项目模式:构建命令、测试惯例、代码风格
  • 调试经验:踩过的坑、错误原因、解决方案
  • 架构笔记:关键文件位置、模块关系、重要抽象
  • 用户偏好:工作流习惯、工具选择、沟通风格

与 CLAUDE.md 的区别

一个常见的困惑是:既然有了 CLAUDE.md,为什么还需要 Auto Memory?答案藏在「谁写的」这三个字里。

维度Auto MemoryCLAUDE.md
谁写的Claude 自动写用户手动写
内容性质项目发现和学习记录指令、规则、偏好
加载量MEMORY.md 前 200 行全文加载
适用范围单项目内,按用户隔离可全局或项目级
定位会话间经验延续项目的权威规则

CLAUDE.md 是你贴在墙上的规矩,Auto Memory 是它自己的草稿纸。规矩需要你来定,但你不必替它记住上次编译用的是哪条命令。

内存层级体系

Claude Code 的记忆从宽到窄分为六层,越具体的层级优先级越高:

层级来源作用域
1Managed policy组织级规则,所有成员共享
2.claude/CLAUDE.md团队共享指令,通过版本控制
3.claude/rules/*.md模块化规则文件
4~/.claude/CLAUDE.md个人全局偏好
5.claude/CLAUDE.local.md个人项目级偏好
6Auto MemoryClaude 自己的学习记录(最具体)

六层记忆,像地层一样叠在一起。越深处越是共识,越浅处越是个人经验。考古学家读地层断面便知世事变迁,Claude 读这六层配置也能拼出一个项目的全貌。

开启与控制

Auto Memory 目前处于灰度推出阶段,不是所有用户默认开启。只能通过环境变量控制,暂无配置文件选项:

1
2
3
4
5
# 强制开启
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=0

# 强制关闭
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=1

使用 /memory 命令可以手动查看和编辑记忆文件。也可以直接告诉 Claude「记住我们用 pnpm 不用 npm」,它会主动写入记忆。

最佳实践:三层知识管理

在实际工作中,建议将三种持久化机制按职责分工:

  • Auto Memory:负责项目内会话连续性(构建命令、上次调试进度、文件位置等琐碎上下文)
  • CLAUDE.md:负责权威规则和指令(编码规范、工作流约束、团队约定)
  • 外部知识库(如 Obsidian):负责跨项目通用知识沉淀(技术方案、踩坑记录、可复用经验)

三者各司其职。Auto Memory 管眼前的事,CLAUDE.md 管规矩,外部知识库管长远。就像一个人既需要工作记忆来处理手头任务,也需要原则来约束行为,还需要日记本来沉淀那些值得留住的东西。

说到底,所有记忆系统要解决的都是同一个问题:在遗忘不可避免的前提下,什么值得被记住。对人如此,对 AI 亦然。