MyClaws Logo MyClaws

跨对话记忆

通过 clue 线索树 / dream 治理 / 四类型记忆,让 Agent 在多对话、多项目、跨时间使用时保有上下文连续性。

最近更新 · Mon Jun 22 2026 08:00:00 GMT+0800 (China Standard Time)

本页目录 10
  1. 为什么需要跨对话记忆
  2. 让 Agent 写下并读回一条记忆
  3. 四种记忆类型
  4. 三层 Owner(scope)
  5. 内置 memory 工具一览
  6. 自动沉淀与 _raw 原材料
  7. Dream 治理服务
  8. Memory 管理 Tab(Client / Bernard)
  9. 写记忆时要避开的坑
  10. 相关

跨对话记忆

一句话总结:MyClaws 把长期记忆按 user / claw / project 三个 owner 存一份,通过 clue 线索树导航式 recall;后台 dream 服务定期治理与去重。

为什么需要跨对话记忆

  • 同一项目里反复开新对话,不想每次重新解释背景。
  • 跨设备/跨 Claw 继承用户偏好。
  • 让 Agent 主动记下重要决策、约束、外部资源。

让 Agent 写下并读回一条记忆

  1. 在任意对话中让 Agent 调 memory_write 记下值得保留的事实。
  2. 下次开新对话时,Agent 会在执行前看到 owner / clue 树索引总览(≤ 5k tokens)。
  3. Agent 通过 memory_recall 导航到具体 clue / item / 全文搜索。

四种记忆类型

  • user:用户画像(你是什么角色、偏好、知识背景)
  • feedback:行为纠正/确认("以后别这样做"、"这种做法是对的")
  • project:项目背景事实(架构、约束、决策、历史)
  • reference:外部信息指针(链接、文档、issue 编号)

三层 Owner(scope)

  • user_global:跨 Claw、跨项目,全用户共享。
  • claw_{clawId}:限定一台 Claw。
  • project_{projectSlug}:限定一个项目。

内置 memory 工具一览

  • memory_recall():默认返回 clue 树总览。
  • memory_recall({ clue }):进入某条 clue 查看成员。
  • memory_recall({ item }):读取单条 item 全文。
  • memory_recall({ query }):全文搜索(支持中文 trigram)。
  • memory_write({ type, scope, content }):写入新记忆。
  • memory_update({ id, content }):覆盖现有 item。

自动沉淀与 _raw 原材料

会话静默 30 分钟或自动压缩时,系统会把新增内容沉淀到 _raw/ 原材料,再由 Admin dream 服务整理为正式记忆。 你不需要手工 /new 或重置即可触发沉淀。

Dream 治理服务

后台按 cron 或阈值触发:

  1. Item 层治理:去重、合并、纠错、淘汰。
  2. Clue 层治理:编织 clue 关系、维护成员、消费用户引子。

每次 dream 都会留下日志,可在 Bernard 分析快照中查看。

Memory 管理 Tab(Client / Bernard)

桌面端设置页提供「Memory 管理」入口:

  • 浏览 clue 树和正式记忆。
  • 浏览 _raw 原材料。
  • 手工执行只读 memory_recall 调试。

数据通过 Admin 用户级 REST API 按 JWT userId 强隔离。

写记忆时要避开的坑

不要在 system prompt 中重复记忆内容

Memory 会自动注入,prompt 中再塞同样信息会浪费 token。

不要把凭据塞进 memory

Memory 会被 dream 服务读取并合并;机密信息应走 LLM Connection 或环境变量。

Bernard 不会直接改正式记忆

Bernard 默认只输出诊断报告与修复建议;任何修正都要用户确认。

删除是不可逆的

用户级 API 支持删除单条 item 或清理某 scope 的 _raw,会写审计但无法回收。

相关