Skip to content

统一联合记忆

AuroraBot 的记忆不是"把对话存下来",而是结构化地生长。统一联合记忆(Unified Associative Memory)借助 mem0 实现图式的事实记忆、情景记忆与知识图谱经验记忆,覆盖所有认知活动。

挼挼如是说

大多数 chatbot 的记忆是一条线——上一句接下一句,最多往前翻几轮。AuroraBot 的记忆是一张网——你说过的事、她做过的事、她对自己的评价、甚至她"感觉"到的趋势,都会被织进同一张图里。下次她做决策的时候,不是翻"历史记录",而是在图里找"跟现在最相关的那几个节点"。

为什么不是线性记忆

线性记忆的问题:

  • 只能按时间顺序检索,无法按语义关联跳转
  • 对话记忆丢掉了"为什么做这个决策"的上下文
  • 不同来源的记忆(对话、行动、自我评估)无法融合

统一联合记忆的设计意图:

  • 所有认知活动——对话、计划、动作、自我评估——都写入同一张图
  • 记忆之间通过关系边连接,形成可遍历的关联网络
  • 检索时可以沿边跳跃,找到"跟当前最相关"的记忆片段

三类记忆

图式事实记忆(Graph-based Fact Memory)

将离散的事实编码为图中的节点和边:

  • 节点 — 实体(人、事件、概念)
  • — 关系("说过"、"属于"、"导致")
  • 更新 — 新事实不覆盖旧事实,而是在图中新增节点和边

情景记忆(Episodic Memory)

记录"发生了什么"的时序片段:

  • 每次对话、每个行动、每次自我评估都是一个情景片段
  • 情景之间通过时间边和因果边连接
  • 检索时可以"回想"相关情景的完整上下文

知识图谱经验记忆(Knowledge Graph Experience Memory)

从事实和情景中抽象出的"经验":

  • 不是"某年某月发生了什么",而是"类似情况下她倾向于怎么做"
  • 经验会随着时间演化——反思节点的自我评估会更新经验权重
  • 这是她"性格会偏移、口吻会老化"的底层机制

与 mem0 的关系

统一联合记忆借助 mem0 作为基础设施:

  • mem0 提供图存储、向量检索和记忆更新管道
  • AuroraBot 在 mem0 之上封装了认知活动的写入/检索接口
  • 所有记忆操作通过 Brain 层统一网关进行,不直接暴露给 App 或 Kernel

覆盖范围

统一联合记忆不仅覆盖"对话",而是覆盖所有认知活动:

来源写入内容
对话(QQ)对话情景、用户印象
计划(Planner)计划记录、决策理由
动作(Executor)执行结果、成功/失败
自我评估(反思节点)自我评价、倾向调整
日记(Diary App)日记条目
闹钟(Alarm App)提醒事件

当前状态

  • 记忆系统的设计已完成,mem0 整合在推进中
  • 当前阶段使用 JSON 文件作为过渡方案(src/brain/kernel/state_store.py 提供 load_json_listnext_record_idmove_to_done 等工具)
  • MemoryAgent(Router 类型)将执行结果写入 data/kernel/memory/ 下的 JSON 文件
  • 统一联合记忆是"认知节点插件体系开放"的前置依赖之一

下一步阅读

Built with VitePress