

写入逻辑:采用局部增量写入模式,单次写入逻辑合理,但长期累积后易形成混乱的记忆体系 内容乱象:记忆库中充斥重复冗余、前后矛盾、信息过时的内容,形成「记忆垃圾」 视角局限:单 Agent 仅能感知当前会话的信息,无法跨会话挖掘隐藏的行为规律与关联关系 工程后果:记忆噪声持续累积,直接导致 Agent 推理准确性下降、任务执行失败率攀升,难以支撑长期生产级应用
Anthropic 官方对该痛点的精准定义如下:"Agents write to their memory stores as they work, but these writes are local and incremental: over many sessions a memory store accumulates duplicates, contradictions, and stale entries."

| 去重合并 | ||
| 过时更新 | ||
| 洞察浮现 |
Dreaming 核心哲学:• Memory(记忆):Agent 在工作过程中主动学习,捕获即时任务经验与环境信息• Dreaming(做梦):Agent 在离线休息时深度反思,将碎片化经验提炼为结构化知识• 二者有机结合,为 Agent 构建「学习-反思-优化」的完整自我改进闭环。

创建 Dream 任务 → 等待任务异步执行(pending → running)→ 任务完成(completed/failed/canceled)→ 获取输出记忆库输入不可变:原始 Memory Store 始终保持只读状态,永不修改,Dreaming 输出为全新的记忆库实例,从根本上杜绝数据丢失风险 灵活引导:支持通过 instructions参数(最大 4096 字符),精准指定 Dreaming 的聚焦维度(如聚焦编码风格、忽略临时调试笔记等)模型支持:目前仅开放 claude-opus-4-7/claude-sonnet-4-6两款模型,调用时需携带 Beta 请求头生命周期可控:任务状态遵循 pending → running → completed/failed/canceled流转,支持实时监控 Token 消耗情况,便于成本管控。
Memory Store 是 Workspace 级别下的优化文本文档集合,是 Agent 记忆存储的核心载体,Agent 通过 /mnt/memory/目录进行访问单会话最多可挂载8 个 Memory Store 单个 Memory Store 容量上限为100KB(约 25K Tokens) 支持读写 / 只读双模式,其中只读模式可有效抵御 Prompt Injection 攻击,避免记忆库被恶意污染 每次对 Memory Store 的修改都会生成不可变版本,版本记录保留 30 天,便于审计与回溯。

/v1/dreams | ||
/v1/dreams/{id} | ||
/v1/dreams/{id}/cancel | ||
/v1/dreams/{id}/archive | ||
/v1/dreams |
# 必需携带 Beta 请求头,用于启用 Dreaming 功能headers = { "managed-agents-2026-04-01": "true", "dreaming-2026-04-21": "true", "x-api-key": "YOUR_API_KEY" # 替换为自身 API Key}# 调用 API 创建 Dream 任务dream = client.beta.dreams.create( inputs=[ # 必需参数:指定待整理的记忆库 ID {"type": "memory_store", "memory_store_id": "store_xxx"}, # 可选参数:最多可指定 100 个历史会话,用于跨会话挖掘 {"type": "sessions", "session_ids": ["sess_1", "sess_2", "sess_3"]}, ], model="claude-opus-4-7", # 指定调用的模型 # 引导指令:明确 Dreaming 聚焦方向,忽略无关信息 instructions="Focus on coding-style preferences; ignore one-off debugging notes.",)print(f"Dream 任务创建成功,任务 ID: {dream.id}")import time# 循环轮询任务状态,直至任务结束while True: dream = client.beta.dreams.retrieve(dream.id) # 获取最新任务状态 if dream.status in ["pending", "running"]: # 任务未结束,打印当前状态及 Token 消耗 print(f"任务状态:{dream.status},已消耗输入 Tokens:{dream.usage.input_tokens}") time.sleep(10) # 每 10 秒查询一次 else: # 任务结束,打印最终状态 print(f"任务执行完毕,最终状态:{dream.status}") break# 从任务输出中提取优化后的 Memory Store IDoutput_store_id = next( output.memory_store_id for output in dream.outputs if output.type == "memory_store")# 将优化后的记忆库挂载到新会话,供 Agent 使用session = client.beta.sessions.create( agent="agent_xxx", # 指定 Agent ID environment_id="env_xxx", # 指定运行环境 ID resources=[{"type": "memory_store", "memory_store_id": output_store_id}],)timeout | ||
input_memory_store_too_large | ||
input_session_unavailable |

Harvey(法律 AI):引入 Dreaming 机制后,Agent 任务完成率提升约 6 倍,可精准记忆法律文件类型的变通方法与工具使用模式,大幅降低人工干预成本 Netflix:利用 Dreaming 实现多 Agent 并行分析运维日志,跨批次挖掘潜在故障规律,有效提升运维效率与问题排查速度 Wisedocs(医疗 AI):医疗文档审查速度提升 50%,错误捕获率提升 30%,记忆库实现自动规整,减少人工整理成本 Spiral(内容创作 AI):通过 Dreaming 让写作 Agent 持续维护统一编辑原则,保障多批次内容输出的一致性与规范性。
Dreaming 与Memory(记忆)+ Outcomes(执行结果)形成三位一体的 Agent 进化体系,具体闭环如下:1. Memory:Agent 在工作过程中主动学习,沉淀任务经验与环境信息2. Dreaming:Agent 离线休息时深度反思,优化记忆结构、挖掘隐藏规律3. Outcomes:Agent 执行任务时,基于优化后的记忆自检,评估执行效果并持续调整三者联动,彻底实现 Agent越用越聪明的长期进化目标。

- 访问限制
:目前处于 Research Preview 阶段,需单独向 Anthropic 申请使用权限,无法直接开放调用 - 成本可控性
:按 API Token 计费,长会话、大批量记忆处理的成本较高,建议先通过小批量场景验证效果后再规模化应用 - 审查成本
:大型记忆库优化后,新旧版本的差异(Diff)审查较为繁琐,目前暂无官方自动化质检工具支撑 - 安全风险
:Prompt Injection 攻击仍可能污染记忆库,只读模式仅能缓解风险,无法完全杜绝 - 模型绑定
:仅支持 Claude Opus 4.7 和 Claude Sonnet 4.6 两款模型,与其他模型的兼容性较差,灵活度不足。

Session(会话):持久化存储 Agent 执行事件日志,支持通过 getEvents()接口进行离线切片分析Harness(工具路由):负责 Agent 工具调用的路由分发,不与具体执行环境绑定,提升灵活性 Sandbox(安全沙箱):提供安全的工具执行环境,实现凭证零泄露,保障 Agent 运行安全
这一架构设计让「离线反思」成为可能,标志着 AI Agent 从单纯的「任务执行工具」,正式升级为「可自主学习、可持续进化的智能主体」,为企业级长期运行 Agent 的规模化落地扫清了核心障碍。

精准解决长期运行 Agent 记忆退化的行业顽疾,提升 Agent 长期运行的稳定性与可靠性 仿生人类睡眠记忆巩固机制,实现跨会话规律挖掘,让 Agent 具备「反思能力」 采用不可变异步设计,在保障记忆优化效果的同时,兼顾安全性与可追溯性
正如 Anthropic 产品负责人所言:Design for the next model(为下一代模型而设计)。Dreaming 机制今天或许仍有局限,但它清晰指明了 AI Agent 的进化终极方向——真正像人类一样,在反思中持续成长,在实践中不断完善。
夜雨聆风