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 收到的上下文顺序:
- CLAUDE.md(最先)
- MEMORY.md index(最多 200 行)
- 相关 individual memory files(按需加载,不进 system prompt)
这个顺序设计保证了 context window 效率最优。
完整闭环:Work → Retrospective → Memory → Better Work
Artem 有一个 retrospective skill,运行 sub-agents 分析对话记录,提出 skill 更新建议和新记忆。流程:
- 从对话中提取信号:被纠正了什么、重做了哪些、第一次就成功的是什么
- Claude 把发现以表格形式呈现
- Artem 审核、批准或拒绝
每完成一个工作,跑一次 retrospective。下次做同类工作时,Claude 已经知道你的模式和偏好。Artem 在 Obsidian 里给每个生活领域建了 dashboard(健康、内容、目标等),Claude 可以直接读这些 dashboard 保持对上下文的一致理解。
全栈架构
CLAUDE.md → 稳定的 persona 和规则(不频繁变动)
Skills → 结构化流程和 playbook(做某件事的本质,被文档化)
Dashboards → 各领域上下文(你在每个生活领域在做什么)
Auto-memory → Claude 自动管理的动态偏好
Auto-dream → 24h 后台整合 + 遗忘
任何新 agent 读取这四层就能上手工作。第一个月可能很薄,只有几条记忆;六个月后,它知道你的模式、你的决策、什么有效——不只是事实,是理解。这些数据就是你的资产,是你的竞争优势。你在工作里训练你的 agent。每一次 session 都让它变得更好。
Auto-dream 是这套系统里最值得关注的概念——不是"记住更多",而是"主动遗忘"。200 行 index 上限强制了信息的蒸馏。记忆文件 drift 是所有 Agent 系统的共同难题,Claude 这个后台整合机制值得参考。