OpenClaw“做梦“记忆法:让AI在夜间自动整理记忆
你做的梦,现在可以让AI帮忙记录了。

(图源网络,侵删)
和AI对话时,你是否有过这样的经历——聊了很多重要的事,约定了某个方案,或者交代了关键的背景信息,结果下次再问,AI一脸茫然?
这不能怪AI。传统的AI记忆系统大多数只是被动地存储信息,不会主动去整理、筛选和提炼。时间一长,重要的信息和过时的碎片混在一起,真正有价值的内容反而被淹没。
OpenClaw最新引入的 Dreaming(做梦)机制,就是来解决这个问题的。它模仿人类睡眠时大脑的整理活动,在后台自动对记忆进行分类、评分和晋升,把真正重要的内容沉淀为长期记忆,同时生成可读的梦境日记供人类审查。
什么是做梦?

Dreaming(做梦)是OpenClaw内置的后台记忆整合系统,由 memory-core 插件驱动。它不像传统cron任务那样机械地执行命令,而是模拟人类睡眠时大脑的工作方式——在后台安静地运行,对一天中积累的短期记忆信号进行系统化处理。
默认情况下,Dreaming在每天凌晨3点(UTC+8)自动启动,对过去24小时内积累的记忆碎片进行三个阶段的处理。只有Deep阶段会将内容真正写入 MEMORY.md,其他阶段只做分析和铺垫工作。
整个系统的设计哲学是:宁可少晋升,不要乱晋升。所以Deep阶段设置了较高的门槛,确保只有真正经过反复验证的记忆才会进入长期存储。
三个阶段详解
Light→REM→Deep
Light Phase(浅睡阶段)
Light阶段相当于人类睡眠中的浅睡期。系统此时做的事比较简单:
· 读取当天(以及最近几天)的 daily memory 文件(memory/YYYY-MM-DD.md)
· 读取召回记录(recall store),了解哪些记忆在对话中被多次唤醒
· 对重复出现的记忆碎片进行去重
· 给每个候选记忆打上初步的信号标签,为后续阶段做准备
这个阶段完全不会写入任何持久内容。它只是"把桌面整理干净",让后续阶段能更高效地处理。如果启用了 inline output,Light阶段还会在 DREAMS.md 中写入一个 ## Light Sleep 区块,记录本次轻睡的处理概况。
Deep Phase(深睡阶段)
Deep阶段是整个做梦过程中最核心的部分,对应人类睡眠中的深睡期。这个阶段真正决定哪些内容值得成为长期记忆。
系统用六个加权信号对候选记忆进行综合评分:
|
信号 |
权重 |
含义 |
|
Frequency(频率) |
24% |
这条记忆在短期记忆中被召回过多少次。次数越多,说明越重要。 |
|
Relevance(相关性) |
30% |
平均检索质量。每次被召回时,语义相关性得分如何。 |
|
Query diversity(查询多样性) |
15% |
有多少个不同的问题上下文触发了这条记忆。多样性越高,说明它越通用。 |
|
Recency(新鲜度) |
15% |
距离最后被访问过去了多久。越近期的记忆权重越高,但会随时间衰减。 |
|
Consolidation(巩固度) |
10% |
这条记忆是否连续多天出现。连续出现说明它是稳定的长期知识。 |
|
Conceptual richness(概念丰富度) |
6% |
从记忆片段的路径和标签中提取的概念密度。概念越丰富,越可能是结构化知识。 |
三个硬性门槛(必须同时满足才会晋升):
· minScore ≥ 0.8(综合分数必须超过0.8)
· minRecallCount ≥ 3(被召回至少3次)
· minUniqueQueries ≥ 3(来自至少3个不同的查询上下文)
只有同时通过三项门槛的候选记忆,才会被写入 MEMORY.md。如果某条记忆分数很高但召回次数不足,就不会晋升——宁缺毋滥。
另外值得注意的是:晋升写入之前,系统会重新从当天的日常记忆文件读取最新的内容快照。这意味着,如果你在文件中编辑或删除了某条信息,系统不会从过期的召回记录里错误地晋升一个已经被删除的内容。
REM Phase(REM阶段)

(图源网络,侵删)
REM阶段提取近期记忆中的主题模式和规律,生成反思摘要。它对应人类睡眠中的REM(快速眼动)期——这个阶段大脑会做梦、整合情绪和长时记忆。
REM阶段的工作包括:
·分析近期记忆中的高频主题
·识别反复出现的概念和关联
·生成简短的反思性摘要
·将REM的信号作为加成反馈给Deep阶段的评分系统
REM阶段本身不写 MEMORY.md,但它的输出会影响未来Deep阶段的评分——被REM识别为"主题性强的记忆"会在Deep阶段获得额外的加权加成。同样,如果启用了inline output,REM阶段会在 DREAMS.md 中写入 ## REM Sleep 区块。
梦境日记
让AI的思考过程可审计

(图源网络,侵删)
每次完整的睡眠周期(Light → REM → Deep)结束后,memory-core 还会启动一个后台子agent,用默认模型生成一段人类可读的"梦境日记",追加到 DREAMS.md(或已存在的 dreams.md)中。
日记内容包括:
· 各阶段的执行概况(处理了多少候选、晋升了多少条)
· 识别出的主要主题和规律
· 成功晋升的记忆条目摘要
· 系统对当前记忆状态的总体评估
日记的目的是让人类可以追踪AI的记忆整理逻辑——它为什么晋升了这条记忆而没有晋升那条?为什么某个概念被标记为重要?这些都可以在梦境日记中找到线索。Gateway还提供了 Dreams 面板,可以直观看到做梦功能的运行状态、各阶段进度、以及Dream Diary的阅读界面。
做梦的输出位置
|
路径 |
内容 |
|
MEMORY.md |
长期记忆存储。Deep阶段晋升的内容写到这里。 |
|
DREAMS.md / dreams.md |
人类可读的梦境日记。按时间顺序记录每次做梦的结果。 |
|
memory/.dreams/ |
机器可读的内部状态(信号数据、召回记录、锁文件)。 |
可选的阶段报告目录:memory/dreaming/<phase>/YYYY-MM-DD.md,其中 <phase> 可以是 light、rem 或 deep。
如何开启做梦功能
方式一:配置文件
在 openclaw.json 中添加以下配置:
|
{ |
自定义运行频率。例如改为每6小时运行一次:
|
{ |
方式二:聊天命令
在对话中直接输入(不需要手动添加cron任务,系统会自动创建托管任务):
|
/dreaming on # 开启做梦 /dreaming off # 关闭做梦 /dreaming status # 查看当前状态 /dreaming help # 获取帮助 |
手动操作命令
如果你不想等凌晨三点的自动运行,可以手动触发记忆晋升流程:
|
# 预览哪些记忆符合晋升条件(不实际写入) # 手动晋升符合条件的记忆到 MEMORY.md # 只显示前 N 条候选 # 调整晋升阈值(一次性覆盖) # 查看某条候选的详细评分 # 预览REM阶段的反思内容(不写入任何文件) # 查看记忆系统整体状态 # 强制重新索引记忆 |
完整工作流程
一个完整的做梦周期如下:
1. 时间触发:到达 cron 时间(默认每天3点),memory-core 自动启动
2. Light 阶段:读取日常记忆文件 → 去重整理 → 打信号标签 → 写 Light Sleep 日志
3. REM 阶段:分析主题模式 → 生成反思摘要 → 写 REM Sleep 日志 → 反馈信号给 Deep
4. Deep 阶段:对候选评分 → 检查三项门槛 → 重新读取原文 → 写入 MEMORY.md
5. Dream Diary:后台子agent生成梦境日记 → 追加到 DREAMS.md
6. Dreams 面板:Gateway面板更新状态、下次运行时间、今日晋升统计
几个关键细节
晋升前重新读取:写入 MEMORY.md 之前,系统从原始文件读取最新快照。如果你在文件中删除了某条内容,不会从旧召回记录里错误晋升。
三阶段顺序执行:Light → REM → Deep,严格按顺序,不会跳阶段也不会并行。只有Deep写 MEMORY.md。
REM信号影响Deep评分:REM阶段识别的主题信号会作为加成反馈给Deep阶段,使主题性强的记忆在Deep阶段获得额外分数。
跨多工作区执行:如果配置了多个memory workspace,自动运行时会分发给所有配置的工作区。
Gateway版本要求:做梦功能需要Gateway支持 secrets.resolve,旧版本会返回 unknown-method 错误。
适合谁用?
如果你有下面这些场景,做梦功能会明显提升AI的记忆质量:
长期项目跟进:需要AI记住项目背景、技术选型、关键决策。开启做梦后,重要决策会被自动提炼到 MEMORY.md。
个人知识管理:每天和AI讨论很多知识点,希望AI能主动整理出可以随时调用的长期知识库。
减少重复说明:不想每次都重新交代工作环境、配置偏好、团队约定。做梦会自动把这些沉淀下来。
可审计的记忆管理:希望了解AI为什么记住了某些内容、通过什么逻辑晋升。DREAMS.md提供完全透明的日记。
配置参考
|
配置项 |
默认值 |
说明 |
|
enabled |
false |
是否开启做梦功能 |
|
frequency |
0 3 * * * |
Cron表达式,默认每天凌晨3点 |
|
timezone |
UTC+8 |
时区设置 |
|
minScore |
0.8 |
Deep阶段晋升的最低分数门槛 |
|
minRecallCount |
3 |
晋升所需的最少召回次数 |
|
项目 |
说明 |
|
功能名称 |
Dreaming(做梦) |
|
核心作用 |
自动整理和晋升短时记忆为长期记忆 |
|
三个阶段 |
Light(整理)→ REM(反思)→ Deep(晋升) |
|
晋升门槛 |
分数≥0.8、召回≥3次、查询来源≥3 |
|
默认时间 |
每天凌晨 3:00(UTC+8) |
|
开启方式 |
配置文件或 /dreaming on |
Dreaming 目前标记为实验性(experimental)功能,但核心机制已经稳定。如果你在使用中对AI的记忆质量有更高要求,开启做梦后长期记忆的质量会明显提升。建议先从默认配置开始,观察梦境日记一段时间,再根据自己的需求调整阈值和频率。

怎么样,学会了吗,现在就来算家云试试吧!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)