为何智能体需要 Dreaming 来优化记忆?

张开发
2026/6/7 18:04:01 15 分钟阅读
为何智能体需要 Dreaming 来优化记忆?
为何智能体需要 Dreaming 来优化记忆摘要人类睡觉时大脑在整理记忆AI Agent 也需要。OpenClaw Dreaming 是一个后台记忆巩固系统解决的是 Agent 的失忆症问题。问题的根源AI 的失忆症用过 ChatGPT、Claude 的人都有这个体验每次新对话都要重新介绍自己。昨天聊的项目今天从零开始。上周调好的配置这周重新解释。这不是用户的问题是架构问题。传统 Agent 的记忆模型用户输入 → 上下文窗口 → AI 响应 → 会话结束 → 一切归零这个模型有三个致命缺陷上下文窗口有限再大的模型也有 token 上限会话隔离每次对话都是独立实例无持久化层离开对话记忆消失后果是什么用户重复劳动每次都重新介绍背景Agent 无法积累长期知识跨 session 的洞察丢失用户体验割裂Dreaming 的设计哲学OpenClaw Dreaming 的核心思路来自神经科学人类不是 24 小时持续学习的。我们白天收集信息晚上睡觉时大脑整理记忆。人类睡眠周期 vs AI Dreaming阶段人类睡眠OpenClaw Dreaming浅睡轻度睡眠信息回放Ingestion - 收集当天对话/日志/决策REM快速眼动模式识别Pattern Recognition - 识别关联和模式深睡深度睡眠记忆巩固Memory Promotion - 写入长期记忆这个类比不是营销噱头是工程上的同构白天用户活跃期→ 快速响应不阻塞夜晚用户离线期→ 后台处理整理记忆Dreaming 解决什么问题1. 记忆碎片化 → 结构化归档问题一天的对话散落在多个 session 里没有组织。Dreaming 的做法原始对话 A 原始对话 B 原始对话 C ↓ 识别共同主题 ↓ 生成结构化笔记 → 写入 memory/主题.md2. 信号噪声混杂 → 信号提升问题不是所有对话都值得长期保存。Dreaming 的做法追踪每个记忆片段的召回次数recallCount记录查询哈希queryHashes——哪些查询触发了它计算总分totalScore——综合相关性 使用频率高分片段 → 提升到MEMORY.md低分片段 → 保留在短期缓存定期清理3. 知识孤岛 → 关联发现问题用户今天聊 A 项目明天聊 B 项目但两者有隐性关联。Dreaming 的做法提取概念标签conceptTags跨 session 比对标签重叠发现关联后生成知识图谱更新笔记技术实现Dreaming 如何工作配置方式在 OpenClaw 配置中启用{plugins:{entries:{memory-core:{enabled:true,config:{dreaming:{enabled:true}}}}}}运行时机默认每天凌晨用户离线时段触发条件距离上次运行 24 小时执行位置后台进程不阻塞用户交互输出产物Dreaming 运行后会在memory/.dreams/目录下生成memory/.dreams/ ├── events.jsonl # 事件日志每次记忆召回记录 └── short-term-recall.json # 短期记忆追踪高分片段候选short-term-recall.json结构示例{version:1,updatedAt:2026-04-10T00:58:51.660Z,entries:{memory:memory/2026-03-25.md:1:7:{key:memory:memory/2026-03-25.md:1:7,path:memory/2026-03-25.md,recallCount:2,totalScore:0.789,conceptTags:[jensen,AGI,商业叙事],recallDays:[2026-04-08,2026-04-10]}}}每个字段的含义recallCount被召回次数越高越重要totalScore综合得分召回次数 × 相关性conceptTags提取的概念标签recallDays在哪些天被召回过实际效果Dreaming 前后的对比没有 Dreaming场景体验第 1 天聊项目 AAgent 记住第 3 天聊项目 A从零开始用户重新介绍第 7 天聊项目 A再次从零开始第 30 天回顾无历史记录除非用户手动整理有 Dreaming场景体验第 1 天聊项目 AAgent 记住第 3 天聊项目 AAgent 自动加载项目 A 背景第 7 天聊项目 AAgent 关联到第 1 天的决策第 30 天回顾memory/项目 A.md已自动生成Dreaming 的边界它不是什么❌ Dreaming 不是AI 做梦没有诗意没有隐喻。就是一个定时批处理任务输入当天的记忆召回日志处理评分、排序、提取输出结构化记忆文件❌ Dreaming 不是自动写日记它不生成散文不写感悟。输出是机器可读的结构化数据JSON 文件Markdown 笔记事件日志❌ Dreaming 不是替代用户思考它不决定什么重要只是放大用户已经频繁访问的内容。决策权仍在用户。为什么这个设计重要1. 解决 Agent 的短期主义没有 DreamingAgent 的行为模式是响应当前请求 → 会话结束 → 遗忘有了 Dreaming响应当前请求 → 记录信号 → 夜间整理 → 长期积累2. 降低用户维护成本手动维护MEMORY.md很耗时。Dreaming 自动化了 80% 的整理工作用户只需定期审查每周/每月手动补充特殊洞察删除噪声误分类3. 为多 Agent 协作打基础当系统中有多个 Agentmain、writer、research、bigcommontask时每个 Agent 的 session 是隔离的Dreaming 提供共享记忆层跨 Agent 的知识传递成为可能如何启用 Dreaming检查当前状态ls-la/home/water/.openclaw/workspace/memory/.dreams/如果目录存在且有short-term-recall.json说明已在运行。查看最近一次运行时间cat/home/water/.openclaw/workspace/memory/.dreams/short-term-recall.json|\python3-cimport sys,json; djson.load(sys.stdin); print(d.get(updatedAt))手动触发可选目前 OpenClaw 没有提供手动触发命令Dreaming 是自动调度的。如果需要立即运行可以修改系统时间不推荐等待下次自动执行推荐结语Dreaming 是 Agent 成熟的标志早期的 AI Agent 像金鱼——记忆只有 7 秒。Dreaming 的出现标志着 Agent 系统从会话级智能迈向生命周期级智能不再是每次对话从零开始而是每次对话站在之前的肩膀上这不是炫技是工程上的必然演进。就像人需要睡觉来巩固记忆Agent 也需要 Dreaming 来优化记忆。参考OpenClaw Dreaming Guide 2026 | Turing Post - Can your OpenClaw dream?

更多文章