梦境蒸馏(Deep Dream)是 CowAgent 记忆系统的核心整理机制,负责将分散的天级记忆蒸馏为精炼的长期记忆,并生成梦境日记。
记忆流转
CowAgent 的记忆从短期到长期经历三个阶段:
对话上下文(短期)→ 天级记忆(中期)→ MEMORY.md(长期)
1. 对话 → 天级记忆
当对话上下文被裁剪或每日定时总结时,系统使用 LLM 将对话内容摘要为关键事件,写入当天的天级记忆文件 memory/YYYY-MM-DD.md。
触发时机:
- 上下文裁剪 — 轮次或 token 超限时,裁剪的内容被总结写入
- 每日定时 — 23:55 自动触发全量总结
- API 溢出 — 紧急保存当前对话摘要
2. 天级记忆 → MEMORY.md(蒸馏)
每日总结完成后,Deep Dream 自动执行蒸馏:
- 读取材料 — 当前
MEMORY.md + 当天的天级记忆
- LLM 蒸馏 — 去重、合并、修剪、提取新信息
- 覆写 MEMORY.md — 输出精炼后的长期记忆
- 生成梦境日记 — 记录整理过程的发现和洞察
3. MEMORY.md 的作用
MEMORY.md 会被注入到每次对话的系统提示词中,让 Agent 始终了解用户的偏好、决策和关键事实。因此它必须保持精炼——Deep Dream 会控制在约 30 条以内。
蒸馏规则
Deep Dream 遵循以下整理规则:
| 操作 | 说明 |
|---|
| 合并提炼 | 含义相近的多条合并为一条高密度表述 |
| 新增萃取 | 从天级记忆中提取偏好、决策、人物、经验等 |
| 冲突更新 | 新信息与旧条目矛盾时,以新信息为准 |
| 清理无效 | 删除临时性记录、空白条目、格式残留 |
| 删除冗余 | 已被更精炼表述涵盖的旧条目删除 |
梦境日记
每次蒸馏会生成一篇梦境日记,保存在 memory/dreams/YYYY-MM-DD.md,用叙事风格记录:
- 发现了哪些重复或矛盾
- 从天级记忆中提取了什么新洞察
- 做了哪些清理和优化
- 整体感受和观察
梦境日记可在 Web 控制台的「记忆管理 → 梦境日记」tab 中查看。
手动触发
除了每日自动执行外,也可以在对话中手动触发:
N:整理近 N 天的记忆(默认 3 天,最大 30 天)
- 蒸馏在后台异步执行,完成后在对话中通知结果
- Web 端通知包含可点击链接,直接跳转查看 MEMORY.md 和梦境日记
- 无需 Agent 初始化,首次对话前即可使用
首次部署后可以手动执行一次 /memory dream 30,将历史天级记忆全量蒸馏到 MEMORY.md。
安全机制
| 机制 | 说明 |
|---|
| 无新内容跳过 | 没有天级记忆时不执行蒸馏,避免空覆写 |
| 输入去重 | 定时任务中,输入材料未变化时自动跳过 |
| 异步执行 | 蒸馏在后台线程运行,不阻塞对话 |
| 顺序保证 | 定时任务中,天级 flush 全部完成后才启动蒸馏 |
| 禁止编造 | 提示词明确约束只能基于已有材料整理,不得推测或添加 |