很多人第一次看到 OpenClaw 里的 Dreams / 梦境系统,都会以为它只是一个好看的 UI,或者只是把一些聊天记录重新包装一下。其实不是。OpenClaw 的梦境系统,本质上是一套后台记忆巩固机制。它的任务不是陪你"做梦",而是把白天产生的短期信息做筛选、归纳、反思,最终把真正值得长期保留的内容推进到长期记忆里。

如果说平时对话阶段的 AI 像"人在清醒时处理信息",那么 Dreaming 更像"人睡着以后,大脑悄悄整理一天的经历"。

梦境系统到底是什么?

梦境系统是一个默认关闭的实验功能,需要显式启用。典型配置如下:

{
  "plugins": {
    "entries": {
      "memory-core": {
        "config": {
          "dreaming": {
            "enabled": true,
            "timezone": "Asia/Shanghai",
            "frequency": "0 */6 * * *"
          }
        }
      }
    }
  }
}

梦境系统为什么重要?

如果没有梦境系统,AI 的记忆往往会出现几个问题:

1)短期信息太多,长期信息太少
每天聊很多,文件也写很多,但真正值得长期记住的内容没有被提炼出来。

2)重要信息和噪音混在一起
用户随口一句闲聊、一次偶发错误、一次关键决策,都会堆在同一个地方。

3)长期记忆会越来越脏
如果什么都往 MEMORY.md 塞,迟早会变成垃圾场。以后检索、理解、复用都会越来越差。

4)AI 无法建立"经验沉淀"
一次错误、一次修复、一次配置经验,如果不能从短期材料里被提升出来,下次仍然会重复踩坑。

梦境系统出现后,OpenClaw 就有点像人脑:

  • 白天先接收信息
  • 晚上再统一整理
  • 重要的保留,不重要的淡化
  • 有规律的内容被加强
  • 真正的经验被推进长期记忆

三个阶段分别做什么?

OpenClaw 的梦境系统有三个阶段:Light(浅睡)REM(快速眼动)Deep(深睡)

第一阶段:Light Sleep 不是"存记忆",而是"整理"

Light 阶段的核心任务是对短期记忆文件做解析和整理。它会:

  • 读取 memory/YYYY-MM-DD.md 当天文件
  • 读取 memory/.dreams/ 下相关状态文件
  • 生成每日记忆摘要(## Light Sleep)
  • 为后续阶段提供候选条目

第二阶段:REM 不是"存记忆",而是"找模式"

REM 阶段的核心作用是:从近期材料中提取主题、反思、重复模式与潜在线索。

REM 会关注:

  • 最近反复出现的主题是什么?
  • 哪些内容在不同上下文里一再浮现?
  • 是否存在可抽象的规律?
  • 是否有值得总结的反思?
  • 是否形成了某种稳定倾向或长期信号?

REM 的作用很像人在梦里把白天的一些事情重组、联想、串联。REM 阶段自己不写 MEMORY.md,它更像给 Deep 阶段喂"理解后的增强信号"。

第三阶段:Deep Sleep 才是真正的长期记忆提升

Deep 阶段是真正做长期提升决策的阶段,它需要前两个阶段积累的证据和强化信号来做排名和筛选。所以 Deep 不是一上来就动手写长期记忆,而是最后才出手。

执行顺序:Light → REM → Deep

很多人在 Dreams UI 里经常只看到 Light 和 REM,以为系统只有两个阶段。其实不是——Deep 只是展示位置不一样。

Light 和 REM 经常以内联形式写到 daily memory 中,所以很显眼。Deep 的结果则更多体现在:

  • MEMORY.md 的实际新增内容
  • 可选的 deep 独立报告
  • Dreams UI 中的另一层展示

梦境系统会生成哪些文件?

1)memory/YYYY-MM-DD.md

这里是 daily note。梦境系统如果启用了 inline 输出,会插入 ## Light Sleep 和 ## REM Sleep。

2)memory/.dreams/

这是机器状态目录,不是给人直接日常阅读的。常见文件包括:

  • short-term-recall.json
  • phase-signals.json
  • daily-ingestion.json
  • session-ingestion.json
  • events.jsonl
  • 锁文件、阶段状态文件等

3)memory/dreaming//YYYY-MM-DD.md

如果配置允许 separate report,就会有按阶段分开的报告文件。适合做阶段级排查和回看。

4)MEMORY.md

这是最终长期记忆。只有 Deep 阶段会把真正达标的内容写进去。这也是整个 dreaming 机制最核心的目的地。

Dreams UI 里你看到的是什么?

OpenClaw 的 Gateway 里有一个 Dreams 标签页。这个界面主要展示:

Scene(场景) 更偏系统状态层,通常会展示:short-term、grounded、signals、promoted、phaseHits 等信息。

Diary(日记) 更偏叙事层,就是 Dream Diary 的查看区。可以直观看到:最近的 dreaming 周期产物、系统提炼出的主题和感受、已形成但还未固化为长期记忆的模式。

梦境系统最适合记什么?

并不是所有内容都值得经过 dreaming 提升到长期记忆。最适合的通常有:

1)长期有效的规则
外发操作前必须先确认、某个系统重启规则必须遵守、某个命令有高风险不能乱用。

2)稳定用户偏好
用户喜欢中文回复、用户喜欢详细解释、用户不喜欢过度啰嗦的套话。

3)重复出现的经验教训
某 API key 更新总容易漏改多个位置、某脚本在特定目录执行才不会报模块错误、某服务重启方式必须用 kill 自动拉起。

4)项目级重要决策
为什么某个技能选这个方案而不是另一个、为什么某个分类结构这样设计、为什么某个自动化任务拆成 cron 而不是 heartbeat。

5)跨会话依然有价值的上下文
某个项目路径、某个博客系统结构、某个技能的用途和位置。

最大的价值:不是"记更多",而是"记更像人"

Dreaming 最妙的地方,不在于技术名词有多酷,而在于它很像人脑处理记忆的方式:

  • 不是每件事都值得永远记住
  • 重要的事情会反复浮现
  • 重复出现的内容会越来越"像事实"
  • 有意义的模式会慢慢显形
  • 真正的经验教训需要经过时间和重复验证

它更像是在做三件事:筛掉噪音、放大信号、沉淀经验

结语

OpenClaw 的梦境系统不是一个花哨的名字,而是一套真正有实用价值的后台记忆巩固系统。如果你把 OpenClaw 当成长期陪跑的 AI 管家、助理、搭档,那么 Dreaming 很可能就是让它越来越懂你、越来越像"同一个人"的关键模块之一。

一句话速记版: OpenClaw 梦境系统 = Light 负责整理短期材料,REM 负责提炼主题和规律,Deep 负责把真正重要的内容写入长期记忆。如果你只在 daily memory 里看到 Light 和 REM,不要奇怪;Deep 的主战场本来就更偏 MEMORY.md 和独立报告层。

添加新评论