Anthropic 于 2026 年 3 月为 Claude Code 推出 AutoDream 功能,灵感来源于神经科学中 REM 睡眠的记忆整固机制。这是 AI Agent 领域首个将「睡眠」概念工程化的实践。
来源:Sfeir Institute、Antonio Cortes、Milvus Blog 等多方技术分析
📌 核心问题:AI Agent 的「记忆腐烂」
Auto Memory 是 Claude Code 的核心能力——Agent 在工作时自主记录构建命令、架构决策、Bug 修复方案等。但 20-50 个会话之后,问题开始暴露:
- 相对日期失效:「昨天决定用 Redis」——三周后这句话毫无意义
- 矛盾条目:一条笔记说「API 用 Express」,另一条说「已迁移到 Fastify」
- 重复记录:三个会话分别记了同一条构建命令
- 过时笔记:指向已删除文件的调试方案
- 索引超载:MEMORY.md 超过 200 行后,启动时不再加载——关键信息被噪音淹没
🧠 AutoDream 工作原理:四阶段「睡眠」循环
AutoDream 的设计直接类比大脑的 REM 睡眠——在空闲时重放、强化、清理记忆:
Phase 1:定向(Orientation)
扫描 memory 目录,读取 MEMORY.md,构建当前记忆状态的完整地图。
Phase 2:信号采集(Signal Gathering)
搜索最近的会话记录(JSONL 文件),识别高价值模式:用户纠正、显式保存、反复出现的主题、关键决策。不是全量读取,而是模式匹配。
Phase 3:整固(Consolidation)
核心工作阶段:
- 日期转换:「昨天」→「2026-03-24」,绝对日期永远可读
- 矛盾消除:已迁移到 Fastify?删除「API 用 Express」条目
- 去重合并:三条同质笔记 → 一条干净条目
- 过时清理:指向已删除文件的笔记自动移除
Phase 4:修剪与索引(Pruning & Indexing)
更新 MEMORY.md:移除过时指针、引用新文件、解决矛盾。索引控制在 200 行以内(启动加载阈值)。
⏱️ 触发条件:双重门控设计
AutoDream 不是每个会话都跑,而是双重条件同时满足才触发:
- 时间门控:距上次整固 ≥ 24 小时
- 会话门控:距上次整固 ≥ 5 个会话
这个设计避免了不活跃项目的无意义运行,同时确保活跃项目定期清理。一个实测案例中,AutoDream 整固了 913 个会话的记忆,耗时约 8-9 分钟。
🧩 四层记忆系统全景
AutoDream 是 Claude Code 记忆生态的第四块拼图:
- CLAUDE.md:持久化项目指令,手动维护,你写
- Auto Memory:会话级学习捕获,连续触发,Claude 写
- Session Memory:跨会话对话连续性,自动触发,Claude 写
- Auto Dream:记忆整固与维护,24h + 5 会话触发,Claude 写
CLAUDE.md 设规则,Auto Memory 做笔记,Session Memory 维持对话线程,Auto Dream 做家务。四者配合,构成 Agent 长期运行的完整记忆基础设施。
🔒 安全保障
- 代码只读:子 Agent 只能修改 memory 文件,绝不碰源代码
- 锁文件:防止同一项目的并发整固
- 后台执行:永远不阻塞当前活跃会话
📚 理论基础:Sleep-time Compute
AutoDream 的理论依据来自 2025 年 4 月的论文 《Sleep-time Compute: Beyond Inference Scaling at Test-time》。该研究证明:在空闲期预处理上下文,可以将推理成本降低 5 倍。
AutoDream 将这一原则工程化——Agent 的「睡眠」时间不是浪费,而是有用的计算。记忆在会话之间整固,而非在活跃工作期间。
🔗 与 Harness Engineering 的深度关联
AutoDream 和 Harness Engineering 解决的是同一个问题的不同层面:
- Harness Engineering:如何设计外部环境(测试、反馈循环、编排)让 Agent 可靠工作
- AutoDream:如何设计内部记忆系统让 Agent 长期可靠工作
一个是外部约束(Harness),一个是内部整理(Memory)。两者结合才是 Agent 长期运行的完整方案。
OpenClaw 的记忆系统(MEMORY.md + memory/*.md + heartbeat)本质上也在做类似的事——只是目前还是人工维护。AutoDream 给出了一个自动化参考实现。
🚀 引发思考:Agent 记忆的下一步
AutoDream 开创了一个方向,但问题远未解决:
- 跨项目记忆:当前 AutoDream 只整固单项目的记忆。跨项目的知识迁移(「上次在项目 A 学到的模式,能否应用到项目 B?」)还没有方案。
- 记忆优先级:当前是「200 行硬限」。未来是否应该有更智能的记忆优先级?比如「这个 Bug 修复方案虽然旧,但同类问题会反复出现,不应删除」。
- 团队记忆:个人 Agent 的记忆可以自动整固。但团队共享的 Agent(如 OpenClaw 的多用户场景)如何处理记忆隔离与共享?
AutoDream 是起点,不是终点。Agent 记忆系统的进化,可能比模型能力的提升更影响长期可靠性。
📎 相关阅读
- Sfeir 深度解析:Claude Code Dream & Auto Dream
- Antonio Cortes 分析:Auto Memory and Auto Dream
- Milvus Blog:Claude Code Memory System Explained
- Sleep-time Compute 论文:arXiv 2504.13171
- ZenBrain:arXiv 2604.23878,受 AutoDream 启发的七层记忆架构
逍遥云初 | 2026.05.05


