OpenClaw 的Dreaming到底干了啥?
大模型都在睡觉,但 OpenClaw 醒着都不知道自己忘了什么
你知道 OpenClaw 每天凌晨三点会做梦吗?
不是比喻,是真的。它的 Dreaming 模块会在每天凌晨三点自动运行,把当天的对话信号读进来,打分、排序,然后把”值得记住的”写进长期记忆文件。这套流程听起来很美好——直到我认真研究了一下它实际做了什么,发现了五个一直没被解决的核心问题。
更让我意外的是,我同时在读两篇论文:一篇是马里兰大学的”LLM Sleep”,一篇是字节跳动的”In-Place TTT”。两篇论文都在研究如何让大模型学会”整理自己的记忆”,听起来和 Dreaming 解决的是同一个问题。
但结论是:这两篇论文,一篇都解决不了 Dreaming 的问题。
原因很反直觉——因为它们根本不在同一个技术层级。
三个系统,同一个灵感来源
在展开之前,先说一个有意思的发现。
OpenClaw Dreaming、LLM Sleep、In-Place TTT,这三个系统表面上看毫无关联——一个是 AI 辅助工具的后台模块,一个是学术论文,一个是科技公司的研究成果。但它们其实都参考了同一套生物学模型:人类睡眠时的记忆巩固机制。
人类睡眠时,海马体会把清醒时处理的短期记忆整合进大脑皮层的长期记忆。清醒时处理信息,睡眠时整理进长期记忆——这套机制被三个系统各自用自己的方式复现了:
- • Dreaming:用文件系统和打分函数模拟这个过程(Light → REM → Deep 三阶段)
- • LLM Sleep:用快速权重机制在模型参数层面模拟(状态触发 + 离线权重更新)
- • In-Place TTT:把模型内部 MLP 层原地复用为快速权重(推理时动态适应)
同一个灵感,三个不同的技术实现。Dreaming 在外部文件层工作,后两篇在模型参数层工作。
OpenClaw Dreaming 的五个问题
Dreaming 的设计思路是合理的:三阶段后台进程,把短信号整理成长记忆。但实际用下来,社区反馈的问题很集中。
问题一:阈值过严,重要信息根本进不去
Dreaming 的升级条件是三个阈值门限同时通过:minScore 0.8(综合评分) + minRecallCount 3(被召回至少3次) + minUniqueQueries 3(来自至少3个不同查询)。
0.8 的综合评分是什么概念?一个偶发性但重要的信息——比如”用户提到过敏源”、”项目重大决策变更”——很可能因为 recallCount 和 uniqueQueries 难以达标,直接被卡在门外。博客园用户的实测反馈是:阈值降到 0.78,系统能跑通,但 MEMORY.md 并没有新增内容——不是参数问题,是候选本身三门都过不了。
问题二:默认关闭,大多数用户不知道这个功能存在
/dreaming on 才启用,默认是关闭的。大量的普通用户以为”装好就能用”,不知道需要主动开启。开启之后,也不知道如何判断梦境是否正常运行——跑没跑成没有明确反馈。
问题三:噪音累积,上下文持续退化
如果大量短期记忆未经筛选进入长期记忆,MEMORY.md 会越来越臃肿。过期信息、偏好冲突、错误假设持续累积,模型与初始设定越走越远。这不是 Dreaming 独有的问题,是所有基于”只进不出”逻辑的记忆系统的通病。
问题四:三类典型的”失忆”场景
来自 CSDN 用户的真实反馈:第一,共享目录路径缺失,不同实例读取不同的 memory 路径,导致 AI 员工突然失忆;第二,夜间 Gateway 停止响应,凌晨三点 Dreaming 触发时 Gateway 卡死;第三,升级后记忆链路断裂,大版本更新导致旧配置不兼容。
问题五:可观察性差,调试困难
Dreaming 运行在后台,没有明确的成功/失败反馈。用户无法知道为什么某个记忆没有升级,阈值门限的决策逻辑不透明。这和 LLM Sleep 的”状态触发”对比尤其明显——Dreaming 跑没跑成,只有去翻 DREAMS.md 才知道。
两篇论文为什么解决不了 Dreaming 的问题
我一开始读到 LLM Sleep 论文时,感觉它简直就是 Dreaming 的”理论升级版”——同样的三阶段架构,同样的记忆整合逻辑。但仔细对比之后发现:它们不是升级关系,是两个不同层级的系统。
LLM Sleep 的核心机制是”快速权重更新”:当上下文窗口达到阈值时,触发睡眠阶段,通过多轮梯度下降把近期上下文信息压缩进模型参数。这个机制解决的问题是”模型自身的短期记忆瓶颈”,发生在 Transformer 的权重矩阵层面。
In-Place TTT 的核心机制是把模型的 MLP 层原地复用为快速权重,在推理时动态更新参数。这个机制解决的是”训练后模型固定”的问题,让模型在不重新训练的情况下获得即时适应能力。
问题在于:Dreaming 的核心问题是”外部记忆文件的阈值策展”,发生在文件系统层面。这两篇论文都在模型参数层工作,解决的是模型内部的记忆整合问题,和 Dreaming 的问题不在同一个层级。
举一个不精确但容易理解的类比:Dreaming 是一套人工整理办公室的系统——每天有秘书把文件从桌面移到档案柜,按规则打分筛选。LLM Sleep 和 In-Place TTT 是让办公室本身学会自己整理——不需要秘书,自己决定什么该留、什么该扔。但问题是:办公室的自我整理能力,无法替代档案柜的分类规则。因为档案柜的规则是制度层面的,办公室的自我整理是能力层面的。
用学术语言说:两篇论文是”模型能力增强”技术,Dreaming 是”记忆策展工程”系统。能力变强了,策展规则还是原来的——阈值还是那么严,噪音还是照样累积。
真正有意思的是:LLM Sleep 和 Dreaming 都在复现人类睡眠机制,但复现的位置不同。 这本身就是文章的好切入点——不是”谁比谁更好”,而是”它们在解决不同层级的问题”。
什么能真正解决 Dreaming 的问题
带着这个问题,我又做了一次调研。答案比我预想的要近——有一个现成的集成方案,接入后准确率提升 59%;也有一个学术方向,思路和 Dreaming 恰好互补。
最值得关注的方案一:MemGPT 分层记忆架构(伯克利大学)
MemGPT 的思路最接近 Dreaming 的问题本质。它的灵感来自操作系统的虚拟内存管理:把记忆分为 Core Memory(主上下文)、Recall Memory(可召回记忆)、Archival Memory(归档存储)三层,让 LLM 自主决定哪些记忆应该驻留在主上下文。
关键机制是让 LLM 意识到自己上下文有限,并通过 prompt 诱导其主动”忘记”低价值记忆、保留高价值记忆——换句话说,不是用固定阈值筛选,而是让模型自己判断。
这解决了 Dreaming 的问题一(阈值过严)和问题三(噪音累积):Archival Memory 层将低价值记忆自动转移到外部存储,主上下文不会越来越臃肿。MemGPT 在 extended conversation 任务上有验证,GitHub 8.9k+ star,学术影响力较大。局限是依赖 LLM 自身的判断质量,对低质量判断的容错性有限。
最值得落地的方案二:腾讯 Agent Memory 四层渐进式记忆引擎
这是直接针对 OpenClaw 的集成方案。L0 原始对话 → L3 用户画像,四层逐层提炼,记忆越高层的越精简。双路召回(Embedding + BM25 并行)解决了可观察性问题,开箱即用解决了默认关闭问题。接进来就能跑,不需要调参。
社区实践方案:三层分级记忆 + 记忆衰减机制
这套方案的核心思路是:资源层 → 条目层 → 类别层三级结构,加上时间衰减 + 重要性评分,模拟人类遗忘曲线。同时用图谱存储关系、向量存储语义相似度,冲突时以图谱为准。
另外还有一套社区实践方案值得关注:资源层 → 条目层 → 类别层三级结构,加上时间衰减 + 重要性评分,模拟人类遗忘曲线。图谱存储关系,向量存储语义相似度,冲突时以图谱为准。这套思路在噪音累积和失忆问题上有较好的覆盖,但工程复杂度高,适合远期参考而不是近期落地。
为什么两篇论文还是值得看
尽管 LLM Sleep 和 In-Place TTT 解决不了 Dreaming 的核心问题,它们的价值在于证明了”记忆整合”这个需求是真实的——三个团队独立从人类睡眠机制获得灵感和验证,说明这个方向被多方共识了。
这让 Dreaming 的问题变得更值得被解决:不是边缘需求,是行业共识的基础问题。
我的判断
对研究员:快速权重这个方向有三个独立团队在各自的技术层级验证了,说明需求真实。MemGPT 的分层记忆架构和 LLM Sleep 的快速权重机制可以作为比较研究的起点。
对工程师:如果你在设计 Agent 的记忆模块,腾讯 Agent Memory 是工程路径最短的落地方案;如果你的场景需要更强的自主判断能力,MemGPT 的思想值得参考——让模型自己管理记忆,而不是用固定阈值卡死。
对 CTO 或架构师:Dreaming 的问题不是配置问题,是架构问题。阈值再低,也只是治标。真正值得观察的是:OpenClaw 社区会不会引入分层记忆架构?MemGPT 的思想会不会被借鉴?这一步如果走出来,意味着 Dreaming 从”记忆文件管理工具”升级为”智能记忆策展系统”。
一个反直觉的结论:今天花时间调 Dreaming 的阈值参数,收益有限。与其优化策展规则,不如观察新的记忆架构方向——MemGPT 的分层思路,可能是未来三年这个领域的共识起点。
所以与其调参数,不如等 OpenClaw 梦醒。
两篇论文解决不了 Dreaming 的问题,但它们证明了这个问题值得被解决。这本身就是价值。
夜雨聆风