Claude Code 现在有三套记忆系统。大多数人只知道第一层。

Artem 通过反向工程 Claude Code 源码,完整解析了这套多层记忆架构。

Layer 1:CLAUDE.md

最常见的方案。who you are、how you work、你的规则和偏好。问题在于:文件越来越大,旧规则堆积,你的工作方式在变但文件跟不上。每次新建 chat 都得从零说起。

Layer 2:Auto-Memory

Claude Code 推出的一套自动记忆机制。MEMORY.md 是索引文件(最多 200 行),每条记忆是独立文件,有 name、description、type。四种类型:

  • user:你是谁
  • feedback:纠正和确认
  • project:正在进行的工作
  • reference:外部系统指针

开启方式:/memory → 开启 auto-memory。每纠正一次,下个 session 自动加载。不需要手动维护,Claude 在后台管理。Artem 把这些文件 symlink 到 Obsidian vault,通过 Obsidian Bases 把每条记忆当成一行查看。

Layer 3:Auto-Dream

真正有意思的新功能。上周悄悄推出,还是 research preview。核心是一个 24 小时运行一次的后台 prompt,对记忆文件做反思性整理——像人类睡觉时的记忆整合。

重构出的完整 prompt 分四阶段:

  • Orient:确认允许存在的边界,读取 index 文件
  • Gather signal:收集日常日志、已漂移的记忆,最重要的是—— transcript search。Claude 有权限访问本地完整对话记录,从中判断哪些偏好已经过时、哪些需要更新
  • Consolidate:把新信息合并进已有记忆,删除矛盾的 facts,把相对日期转成绝对日期
  • Prune and index:更新 index 文件,确保不超过 200 行

开启方式:/memory 设置里打开 auto-dream。之后就以后台进程运行。

Session 加载顺序

新建 session 时 Claude 收到的上下文顺序:

  1. CLAUDE.md(最先)
  2. MEMORY.md index(最多 200 行)
  3. 相关 individual memory files(按需加载,不进 system prompt)

这个顺序设计保证了 context window 效率最优。

完整闭环:Work → Retrospective → Memory → Better Work

Artem 有一个 retrospective skill,运行 sub-agents 分析对话记录,提出 skill 更新建议和新记忆。流程:

  1. 从对话中提取信号:被纠正了什么、重做了哪些、第一次就成功的是什么
  2. Claude 把发现以表格形式呈现
  3. Artem 审核、批准或拒绝

每完成一个工作,跑一次 retrospective。下次做同类工作时,Claude 已经知道你的模式和偏好。Artem 在 Obsidian 里给每个生活领域建了 dashboard(健康、内容、目标等),Claude 可以直接读这些 dashboard 保持对上下文的一致理解。

全栈架构

CLAUDE.md → 稳定的 persona 和规则(不频繁变动) Skills → 结构化流程和 playbook(做某件事的本质,被文档化) Dashboards → 各领域上下文(你在每个生活领域在做什么) Auto-memory → Claude 自动管理的动态偏好 Auto-dream → 24h 后台整合 + 遗忘

任何新 agent 读取这四层就能上手工作。第一个月可能很薄,只有几条记忆;六个月后,它知道你的模式、你的决策、什么有效——不只是事实,是理解。这些数据就是你的资产,是你的竞争优势。你在工作里训练你的 agent。每一次 session 都让它变得更好。