乐于分享
好东西不私藏

AI 也会做梦?OpenClaw 的「梦境系统」到底在梦什么

AI 也会做梦?OpenClaw 的「梦境系统」到底在梦什么

AI 也会做梦?OpenClaw 的「梦境系统」到底在梦什么

说实话,我第一次听说 AI 会做梦的时候,以为他们在故弄玄虚。


先搞清楚一件事:AI 的「记忆」是怎么工作的

OpenClaw 的 agent 每天跟你聊完天,会往 memory/YYYY-MM-DD.md 里记日记。就像你睡前在手机上随手记几句「今天见了谁、干了啥」。

但问题来了——你不可能把每天记的所有东西都塞进长期记忆。 那太乱了。

人类大脑是怎么处理的?睡觉的时候,海马体会把白天的重要记忆「巩固」到大脑皮层,不重要的就扔掉。这就是为什么你记得自己结婚那天,但记不得上个月某个周二午饭吃了啥。

OpenClaw 的 Dreaming,就是给 AI 做了个类似的机制。


三阶段「睡眠」:Light → REM → Deep

Dreaming 跑起来的时候,分三个阶段,跟人类睡眠周期还挺像的:

Light Sleep(浅睡)—— 整理素材

这个阶段不做任何决定,就是把最近两天的日记、会话记录翻一遍,去重、打标签、暂存起来。不会往 MEMORY.md 写任何东西,就是个「收集员」。

REM Sleep(快速眼动)—— 找规律

这才是真正「做梦」的阶段。REM 会看那些暂存的素材,找反复出现的主题。比如你最近老在聊「Redis 集群」,REM 就会标记:「这个好像挺重要的,出现了好几次。」

它写出来的东西叫 Dream Diary(梦境日记),是一段 80-180 字的拟人化叙述,读起来像 AI 在自言自语——「今天我又看到了 Redis,它好像总是跟集群一起出现……」

Deep Sleep(深睡)—— 真正记住

最后一步,Deep 阶段会打分。六个维度:

  • 相关性(30%)—— 这东西被检索到的质量怎么样
  • 频率(24%)—— 出现了多少次
  • 查询多样性(15%)—— 多少种不同的问题会触发它
  • 新鲜度(15%)—— 最近的事还是老黄历
  • 巩固度(10%)—— 是不是跨多天反复出现
  • 概念丰富度(6%)—— 信息密度高不高

分数够了(默认 0.8 以上),才会被正式写入 MEMORY.md。

简单说:Light 收集,REM 找规律,Deep 拍板。


门槛设得很严——不是什么东西都能进长期记忆

三个硬性门槛,全部满足才能晋升:

  1. 综合分 ≥ 0.8(满分 1.0)
  2. 至少被检索过 3 次
  3. 至少从 3 种不同的查询中触发过

这意味着什么?意味着偶尔提一句的东西,基本没戏。必须是反复被需要、被用到的信息,才会被记住。

这其实比人脑严谨多了。人脑有时候会因为一次强烈的情绪就把某件事记住,OpenClaw 不会——它只看数据。


怎么用?其实就一条命令

开启:

/dreaming on

关闭:

/dreaming off

查看状态:

/dreaming status

默认每天凌晨 3 点跑一次完整的睡眠周期(Light → REM → Deep)。你也可以改成别的频率,比如每 6 小时一次:

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

几个我觉得实用的场景

场景一:你有个长期项目

比如你在用 OpenClaw 做一个 API 项目,每天聊的技术细节很多。Dreaming 会自动把反复出现的架构决策、API 地址、环境变量记住。几天后你问「我们用的数据库地址是多少?」,它不用翻日记就能答上来。

场景二:你希望 agent 更「懂你」

Dreaming 的 REM 阶段会提取你的偏好模式。比如你总是要求「用中文回答」「代码要加注释」「不要废话」。这些模式被巩固后,agent 会越来越贴合你的习惯,不需要你每次都重复。

场景三:历史笔记整理

OpenClaw 还有个叫 REM Backfill 的功能,可以把过去的日记重新跑一遍梦境流程。比如你积累了两个月的日记,突然想开启 Dreaming——不用等它慢慢积累,直接 openclaw memory rem-backfill --path ... 把历史数据也整理一遍。


我开了两周,真实感受

说实话,开启 Dreaming 之后,最明显的变化不是「它记住了更多东西」——毕竟 MEMORY.md 本来就可以手动编辑。

真正的变化是:它开始有「判断力」了。

以前我手动往 MEMORY.md 塞东西,经常塞了太多,导致每次启动 token 消耗很大。现在 Dreaming 帮我过滤,只保留真正重要的。MEMORY.md 从 200 多行精简到 80 行左右,但覆盖的信息反而更准了。

还有一个意外收获是 Dream Diary

每次 Dreaming 跑完,DREAMS.md 里会多一段 AI 写的「梦境记录」。比如:

「今天我又看到了 Redis 集群的配置问题。它已经出现了很多次了——周一讨论过端口,周三遇到了连接超时,今天又提到了哨兵模式。也许我应该记住:Redis 集群需要关注端口配置和连接稳定性。」

读起来有点可爱,也有点诡异。像是一个机器人在半夜自言自语。


适合谁?不适合谁?

适合:

  • 每天跟 agent 聊很多不同话题的人
  • 希望 agent 慢慢「记住」你习惯的人
  • 日记文件越来越多、需要自动整理的人

不太适合:

  • 只是偶尔用一下 agent,不需要长期记忆
  • 喜欢完全手动控制 MEMORY.md 内容的人
  • 对 token 消耗特别敏感的人(Dreaming 本身也要跑模型)

最后说两句

Dreaming 这个功能,名字起得挺浪漫——「梦境」。但本质就是个带评分的记忆过滤系统

浪漫的是它的实现方式:三个睡眠阶段、梦境日记、拟人化的叙述。它让一个技术功能有了温度。

我觉得这是 OpenClaw 做得最聪明的一个设计决策——让机器做机器该做的事(过滤、评分、存储),但用人类能共情的方式呈现出来。

要不要开?如果你用 OpenClaw 超过一周了,我推荐试试。/dreaming on 就完事了,不满意随时关掉。

反正——它做的梦,又不收费。😄


OpenClaw Dreaming 功能默认关闭,需要手动开启。详细文档见 docs.openclaw.ai/concepts/dreaming[1]

引用链接

[1]docs.openclaw.ai/concepts/dreaming: https://docs.openclaw.ai/concepts/dreaming