乐于分享
好东西不私藏

OpenClaw 让记忆系统"做梦"了:拆解 Dreaming 机制

OpenClaw 让记忆系统"做梦"了:拆解 Dreaming 机制

✅点击上方🔺公众号🔺关注我✅

4 月 5 日,OpenClaw 发布 v2026.4.5。103 位贡献者参与的大版本,五个变化里最值得单独拆开讲的,是一个叫 Dreaming 的实验性功能——让 AI Agent 的记忆系统学会像人类睡眠时那样,把短期记忆巩固成长记忆。

这是整个版本里最有意思的一个突破。本文重点拆解它的原理。


先为什么 Agent 需要"做梦"

大多数 Agent 的记忆是这么工作的:你和它聊,它把关键信息记到文件里,下次再聊,它从文件里搜。

这个方式的局限在哪里?

每次回答问题,Agent 都在从零开始检索。没有真正形成"知识",只是在搜文档。每次推理都要重跑一遍同样的检索逻辑,知识和推理之间是割裂的。

OpenClaw 之前的记忆系统已经做到了让 Agent 记住偏好、事实、上下文——但哪些记忆值得保留、如何从大量短期记忆里筛选出真正重要的,这个问题一直没解决。

Dreaming 就是对这个问题的一个回答。


Dreaming 的核心思路:借鉴睡眠记忆巩固

人类睡眠时,大脑并不是简单地把白天的记忆存起来就完了。神经科学的研究表明,睡眠(包括浅睡、深睡、REM 快速眼动三个阶段)在记忆巩固中扮演了分工不同的角色。

OpenClaw 借鉴了这个思路,把记忆巩固也做成了三个阶段分工协作的流水线:Light / Deep / REM

关键规则只有一条:只有 Deep 阶段有权写入长期记忆(MEMORY.md),Light 和 REM 只负责提供输入和信号。


三阶段各干什么

Light(浅睡):整理和暂存

Light 阶段的任务是整理。它扫描近期短期记忆信号,去重、合并同类项,把候选条目暂存起来,同时记录每个条目的强化信号。

它的输出是 dreams.md 的摘要块。但 Light 永远不直接写入 MEMORY.md——它只做整理和筛选。

Deep(深睡):核心决策

Deep 是整个机制的核心决策阶段。它从 Light 那里拿到候选池,然后用六个维度的加权信号给每个候选条目打分:

信号 权重 含义
相关度(Relevance) 0.30 平均检索质量,与现有知识网络的关联强度
频率(Frequency) 0.24 被查询/使用的累计次数
查询多样性(Query Diversity) 0.15 触发的不同查询/天数上下文数量
时近度(Recency) 0.15 时间衰减后的新鲜度
跨天巩固度(Cross-day Consolidation) 0.10 多天连续出现的强度
概念丰富度(Conceptual Richness) 0.06 条目携带的概念标签密度

权重总和为 1。相关度和频率合计占 0.54,是晋升决策的最关键信号。六个信号都必须通过各自的阈值门才会晋升——任何一个不达标,条目都不会被提升。

此外,Light 和 REM 阶段还会给 Deep 提供额外的时近衰减强化信号,进一步影响最终排名。

此外,Deep 还会自动跳过已过期或已被删除的内容,保证 MEMORY.md 里没有垃圾。

REM(快速眼动):模式识别

REM 阶段的任务是从近期短期痕迹中识别主题模式,提取共性,生成反思性洞察,写入 dreams.md

它的输出不直接写入长期记忆,而是为 Deep 阶段提供强化信号——比如 Deep 在对某个条目打分时,REM 发现这个条目和近期连续出现的主题高度相关,就会给 Deep 一个额外的加权信号。


协作流程

短期记忆
    ↓
[Light] 整理筛选 → 候选池
    ↓
[Deep] 六维评分 + REM强化信号 → 晋升写入 MEMORY.md
    ↑
[REM] 主题反思 → 强化信号

Light 和 REM 为 Deep 提供输入和信号,但只有 Deep 拥有写入权限。三个阶段在同一 sweep 内按固定顺序执行:Light → REM → Deep,不是各自独立调度,也没有开始时间差异。


配置与使用方式

Dreaming 默认关闭,需要手动开启。

调度时间:默认每天 UTC 凌晨 3:00(北京时间上午 11:00)自动跑一次完整 sweep(Light → REM → Deep),可通过 dreaming.frequency 自定义 cron 表达式调整。

  • 开启命令/dreaming on(关闭用 /dreaming off,查看状态用 /dreaming status
  • CLI 预览openclaw memory promote(预览候选条目)
  • 执行晋升openclaw memory promote --apply
  • 配置项dreaming.enabled(总开关)、dreaming.frequency(运行频率)、recencyHalfLifeDays(衰减半衰期)、maxAgeDays(最大保留天数)

REM 相关 CLI 工具:openclaw memory rem-harness(REM 预览)、promote-explain(晋升决策解释)

Gateway 侧边栏有 Dreams 标签页,显示:

  • 短期记忆数量
  • 长期记忆数量
  • 已晋升数量
  • 下次巩固时间

还有一个 Dream Diary 界面可以查看完整的巩固记录。


和旧版本的区别

之前的 OpenClaw 记忆系统,候选条目是否晋升主要依赖简单的频率统计和人工触发。现在 Dreaming 机制引入了六维评估框架,晋升决策变得更加系统化。

此外,REM 阶段的主题模式识别功能,是旧版本完全没有的。这意味着 Agent 现在不只被动记录高频信息,还能主动发现"哪些概念在反复出现、可能值得固化成长期知识"。


这意味着什么

如果你是深度使用 OpenClaw 的用户,Dreaming 能解决的问题很具体:

  • 不需要手动维护 MEMORY.md,Agent 会自己判断什么值得留下
  • 真正重要的记忆不会因为单次查询没命中就被漏掉(跨天巩固度维度)
  • 长期对话中的知识积累终于不再是拼凑检索,而是有结构的知识网络生长

实验性功能默认关闭也说明团队对这个机制还在观察期。后续演进值得关注。


其他值得注意的更新

Dreaming 是核心,但这个版本还有几个重要变化:

内置视频和音乐生成。Agent 现在内置 video_generatemusic_generate 工具,支持 xAI(grok-imagine-video)、阿里云 Model Studio Wan、Runway,以及 Google Lyria、MiniMax 音乐生成,不需要额外装插件。

Claude CLI → GPT-5.4。新用户不再提供 Claude CLI 作为默认后端,全面转向 GPT-5.4。官方在推文里说得更直接:"Anthropic cut us off. GPT-5.4 got better. We moved on."(811 万次浏览)

Prompt Cache 优化。这个版本花了大量精力优化缓存命中率,包括 MCP 工具排序确定化、系统提示指纹归一化、移除重复内联工具清单等,缓存复用更稳定。

Control UI 新增 12 种语言。简体中文、繁体中文、巴西葡萄牙语、德语、西班牙语、日语、韩语等。


GitHub Release:https://github.com/openclaw/openclaw/releases/tag/v2026.4.5 

文档:https://docs.openclaw.ai

如果觉得这篇文章有帮助,欢迎点赞、在看、转发!有问题也可以在评论区留言,我会尽量回复!