首页 资讯 下载 教程 Skills 社群

OpenClaw Dream Diary 与 REM 回填:优化 Agent 长期记忆

什么是 Dreaming 系统

Dreaming 是 OpenClaw 的记忆巩固机制,在 v2026.4.5 首次引入,v2026.4.9 大幅增强。它模拟人类睡眠中的记忆整理过程,让 Agent 在空闲时"做梦"——自动整理和巩固短期记忆为长期知识。

核心机制:

  • Light Phase(浅睡期):轻量清理和整合
  • Deep Phase(深睡期):深度分析和关联
  • REM Phase(快速眼动期):创造性联想和知识生成

v2026.4.9 新功能

Dream Diary 结构化视图

控制 UI 新增了 Dream Diary 视图,让用户可以直观查看 Agent 的记忆整理过程:

  • 时间线导航:按时间查看 Dreaming 历史
  • 阶段可视化:展示 Light/Deep/REM 三个阶段的处理记录
  • 摘要追溯:每次 Dreaming 都有详细摘要说明做了什么
  • Scene lane:基于 Ground Truth 的场景分析通道

访问方式:

控制面板 → 记忆 → Dream Diary

或 CLI:

openclaw memory diary
openclaw memory diary --timeline

REM 历史回填

v2026.4.9 引入了重要的 REM 回填能力:

  • 旧的日记条目可以重新进入 Dreams 处理流程
  • 更清晰的持久化事实提取
  • 短期记忆提升机制与 REM 协同

这让用户可以让 Agent "回顾"之前的对话,重新整理和挖掘其中的知识。

使用 rem-harness 回填

# 回填最近 7 天的日记到 REM 阶段
openclaw memory rem-harness --path ./memory/diary --days 7

# 回填特定目录
openclaw memory rem-harness --path ./memory/conversations/2026-03

# 完全重新处理所有历史
openclaw memory rem-harness --path ./memory --all

加权记忆提升

短期记忆到长期记忆的提升采用加权机制:

  • 使用频率:经常被引用的记忆优先提升
  • 重要性评分:Agent 判断信息价值
  • 时间衰减:旧信息逐渐降权
  • 人工标记:用户显式标记的重要信息优先

基础配置

# config.yaml
memory:
  dreaming:
    enabled: true
    phases:
      light:
        enabled: true
        interval: "30m"  # 每 30 分钟执行一次
      deep:
        enabled: true
        interval: "2h"
      rem:
        enabled: true
        interval: "6h"
    diary:
      enabled: true
      path: "./memory/diary"

手动触发

触发 Dream Diary 提交

/memory dream commit

这会立即将当前短期记忆整理并写入 Diary。

触发各阶段

/memory dream light
/memory dream deep
/memory dream rem

重置记忆状态

/memory dream reset

谨慎使用——这会清除短期记忆缓存。

Dream Diary 结构

memory/diary/
├── 2026-04-09/
│   ├── 10-00-light.md     # 10:00 浅睡期
│   ├── 12-00-deep.md      # 12:00 深睡期
│   ├── 16-00-rem.md       # 16:00 REM 阶段
│   └── summary.md         # 当日汇总
├── 2026-04-10/
│   └── ...
└── index.md               # 全局索引

每个阶段的日记包含:

  • 处理的记忆条目数量
  • 提取的关键事实
  • 建立的记忆链接
  • 提升到长期记忆的条目

实际应用

案例 1:每周知识回顾

# 周末回填本周所有对话,生成知识总结
openclaw memory rem-harness --path ./memory --days 7

# 查看本周总结
openclaw memory diary --week

案例 2:项目结束知识沉淀

项目结束后,让 Agent 回顾整个项目的对话,提炼核心经验:

openclaw memory rem-harness --path ./memory/projects/xyz --all

生成的 REM 摘要可以直接作为项目回顾文档。

案例 3:记忆修复

如果发现 Agent 记忆有偏差,可以:

# 1. 查看 Diary 定位问题
/memory dream diary --find "错误信息"

# 2. 重置特定记忆段
/memory dream reset --from 2026-04-05

# 3. 从干净状态重新回填
openclaw memory rem-harness --path ./memory/diary --from 2026-04-05

与其他记忆系统的配合

Dreaming 系统与其他记忆机制配合工作:

系统 角色
Short-term Memory 当前会话上下文
Dreaming 记忆巩固和提升
Long-term Memory 向量存储的持久记忆
Memory-Wiki 结构化知识文档

Dreaming 负责从短期到长期的转化过程,确保记忆不会简单丢失,而是经过筛选和提炼后保留。

性能考虑

  • Dreaming 默认在空闲时运行,不影响正常对话
  • REM 阶段计算量较大,建议在低峰时段执行
  • 可以配置为仅在 CPU 负载低时触发:
memory:
  dreaming:
    trigger:
      maxCpuLoad: 30
      minIdleMinutes: 5

监控 Dreaming 状态

# 查看 Dreaming 系统状态
openclaw memory dream status

# 查看最近的 Dreaming 活动
openclaw memory dream recent

# 诊断 Dreaming 问题
openclaw doctor memory

注意事项

  • Dream Diary 结构化视图需要 OpenClaw v2026.4.9 或更高版本
  • REM 回填可能消耗较多 Token,大规模回填前建议预估成本
  • Diary 目录可能随时间增长较大,建议定期归档
  • Dreaming 过程中 Agent 响应可能短暂变慢,v2026.4.9 已优化此问题
  • 在高并发场景下建议调低 Dreaming 频率