跳到主要内容

记忆框架与参考架构

Mem0 的架构经历过怎样的演进?​

  • v2 路线: 对话结束后 LLM 先抽取候选事实,系统再用向量检索找到相近的已有记忆,由 LLM 在 ADD、UPDATE、DELETE、NOOP 中做出决定;
  • 冲突处理: 用户先说“我住在北京”后说“我搬到了上海”时,系统把前一条 UPDATE 为“住在上海”,在写入时消除冲突;
  • 图变体: Mem0-g 用实体—关系图支持多跳与时序问题(2025 年论文,arXiv:2504.19413);
  • v2 风险: 一次错误的更新或删除会不可逆地丢失历史信息,且每条候选事实都要经历检索和第二次 LLM 判断;

Mem0 v3 为什么改成仅追加写入?​

  • 写法: 当前管线用一次 LLM 调用抽取事实,并且只做 ADD;
  • 结果: “住在北京”和稍后的“搬到上海”作为两条带时间信息的事实并存;
  • 读取: 查询时融合语义相似度、BM25 关键词和实体匹配,并结合时间信息排序;
  • 扩展: Agent 确认完成的动作也成为一等事实;
  • 收益: 避免错误 UPDATE/DELETE 丢失历史,减少 LLM 调用,还能用多种检索信号和时间排序找出当前事实;
  • 指标: LoCoMo 从 71.4 提升到 92.5(+21.1),LongMemEval 从 67.8 提升到 94.4(+26.6);
  • 现状: 当前 OSS 已移除外部图存储及 relations 返回值,实体链接仅用于内部检索加权,Mem0-g 应理解为历史设计(见 Mem0 OSS v2 到 v3 迁移指南);

Memobase 的设计理念是什么?​

  • 出发点: 不做通用记忆流水线,而是聚焦“用户画像”这一具体形态;
  • 用户画像(Profile): 一组可由开发者配置的槽位,按主题—子主题两级组织(如 basic_info→姓名、interest→兴趣偏好、work→职位),存放从对话中提取的稳定用户属性,范围与粒度可控;
  • 事件记忆(Event Memory): 按时间线记录用户经历的事件,用于回答“我们上次讨论预算是什么时候”这类与时间有关的问题;
  • 工程策略: 缓冲批处理——对话先在缓冲区累积,达到一定规模或时限后再统一触发一次记忆提取,以摊薄 LLM 调用成本;
  • 查询侧: 只需读取已整理好的画像和事件,保证低延迟;

多类型记忆协同的参考架构包含什么?​

  • 性质: 这是对记忆设计空间的概括,而非某个具体项目的实现;
  • 情景/语义/程序记忆: 沿用认知科学的三类定义,见 记忆的认知科学分类;
  • 新增重点: 情景记忆的多维元数据检索——存储带有时间戳、情感标记、任务标识的事件序列,可按时间、主题等多个维度组合检索;
  • 工作记忆: 参考架构显式保留这一层,管理当前任务状态,并与长期记忆动态交互——重要信息选择性转移到长期记忆,相关长期记忆被激活并加载到工作记忆;
  • 框架覆盖度: Mem0 的事实条目接近语义记忆;Memobase 的画像近似语义记忆,事件记忆近似情景记忆;
  • 工程现实: 实际框架往往只实现其中一两种类型,按业务需要取舍比追求“大而全”更符合工程现实;
  • 相关: 工作记忆与轨迹的差别见 记忆的层次结构;