Mem0g用图谱拿到 68.4%,TiMem5 层时间树为什么走另一条路

我前阵子在跑一个长会话的 agent demo,连续 200 轮对话之后用户突然问:"我上次说的那个公司你还记得吗?"

Mem0 选择性 pipeline 检索回来的是用户两个月前提过一次的公司名,但用户中途已经换了工作。Agent 一本正经地用了过期信息回答,被用户当场拆穿。

这个 case 让我重新审视了 2026 年这波 AI agent 记忆方案------尤其是 Mem0 团队在 v1.0.0 推出的图增强变体 Mem0g 之后。

Mem0g 凭什么能在 LOCOMO 上拿 68.4%

Mem0g 的设计思路很直接:在 Mem0 原本的向量存储之外,额外搭一层有向、带标签的知识图谱。

具体运作链路是三件套:

  • Entity extractor 从对话文本里抽出节点(用户、公司、产品、地点)
    • Relations generator 推断节点之间的标签化边(works at、located in、prefers)
    • Conflict detector 检测新信息和已有图谱节点/边的冲突
      ECAI 2025 那篇 benchmark 论文(arXiv 2504.19413)里给出的数据很有说服力:在 LOCOMO 多跳推理子集上,Mem0 LLM Score 是 66.9%,加了图谱的 Mem0g 提到 68.4%,p95 latency 从 1.44s 涨到 2.59s。

1.5 个百分点的精度提升,换 1.8 倍的延迟开销------在多跳关系推理题目上,这笔账算得过来。

但我看完源码后有个疑问:conflict detector 真的稳吗

Mem0g 的图谱方案有一个隐性前提------conflict detector 必须能可靠识别"新信息和旧节点冲突"。

放到开头那个例子:用户两个月前说"我在 A 公司",今天说"我刚跳槽到 B"。一个理想的 conflict detector 会标记 (user, works_at, A) 和 (user, works_at, B) 冲突,然后做覆盖。

实际跑下来的问题:

  1. 冲突检测依赖 LLM 的语义判断,模型一旦没把"跳槽"识别成 works_at 关系的更新,老节点就不会被淘汰
    1. 图谱写入是离线 pipeline,下次召回时如果两个节点都还在,单跳查询可能返回任意一个
    1. 对时间序的处理是"事后打补丁"------每个节点上要额外挂时间戳,召回时再做时间过滤
      这些细节在 paper 里被一句"conflict detector flagging contradictions"轻轻带过了。

TiMem 用的是另一套设计

TiMem(github.com/TiMEM-AI/timem)不走"向量 + 图谱"的双结构路线,走的是 5 层 Temporal Memory Tree (TMT)。

5 层从下往上是:

  1. Fragment------原始对话片段,保留完整上下文
    1. Evidence------从片段里提炼的事实证据,带时间戳
    1. Fact------聚合多条证据后形成的稳定事实
    1. Trait------用户的偏好、习惯、风格特征
    1. Persona------稳定人设画像
      每一层都有显式的时间序,上层 consolidation 时会自动用更新的下层覆盖陈旧的下层。

回到跳槽的例子,用 TiMem 跑:

  • 第 1 轮:"我在 A 公司" → fragment + evidence (timestamp: t1)
    • 第 200 轮:"我跳槽到 B 了" → fragment + evidence (timestamp: t2)
    • consolidation 触发时,新 evidence 升级到 fact 层时用 t2 覆盖 t1
      不需要专门跑 conflict detector,时间序本身就是 conflict 的解。

这套设计在更长程的 benchmark 上发力

LOCOMO 的对话长度还没那么夸张。真正考验长程一致性的是 LongMemEval-S------平均会话长度比 LOCOMO 长一倍以上,且专门测试"模型是否被早期错误信息误导"。

TiMem 在 LongMemEval-S 上是 SOTA。

为什么?因为这个 benchmark 的题目大量是"用户某个事实在中途变化了,agent 应该用新的还是旧的"------这正好是时间分层最擅长的领域。Mem0g 的图谱在这里需要 conflict detector 拼命兜底,TiMem 的 5 层结构相当于在系统层解决了同一个问题。

选型建议

不给一个谁吊打谁的结论,因为两套方案的最佳战场不一样。

选 Mem0g 的场景:

  • 短到中等长度会话(< 50 轮)

    • 多跳关系推理是主要任务(比如"用户的同事的项目用了什么技术栈")
    • 团队已经在用向量数据库,不想引入新的存储模型
      选 TiMem 的场景:
  • 长程会话(数百轮以上)

    • 用户状态/偏好会持续变化
    • 要 selective forgetting(记住,但用最新的)
    • 不想为"实体提取 + 关系生成 + 冲突检测"三件套单独维护一条 pipeline
      最近 ICLR 2026 接收的那篇 MemoryAgentBench(arXiv 2507.05257)把 agent 记忆的核心能力归为四类:accurate retrieval、test-time learning、long-range understanding、selective forgetting。前两类 Mem0g 不输甚至更强,后两类 TiMem 的结构性优势会更明显。

如果你正在选型,与其纠结"哪个框架更强",不如先看自己的场景落在哪个能力维度上。

那个让我重新审视方案的 demo 后来用 TiMem 重跑了一次。同样 200 轮对话,用户问"我上次说的那个公司",agent 用的是最新的 B 公司------没用 conflict detector,没写额外的过滤逻辑,时间序自己解决了问题。

这是我决定换路线的真正原因。

相关推荐
2501_938140073 小时前
做内容很省心,2026好用AI笔记,支持抖音小红书视频无水印保存
人工智能
sell-cloud6 小时前
Prompt Engineering要凉了?Fable 5.5能“猜“意图,但银行正在封杀AI Agent——企业AI的真正护城河是什么
人工智能·prompt
Navicat中国7 小时前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
4SAPI7 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
魔乐社区8 小时前
翼芯・智算测试与适配优化专区,让国产算力“选得准、跑得通、用得好“
人工智能·开源·大模型
XCDoris9 小时前
郴州logo设计机构
大数据·人工智能·python
Goboy10 小时前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V10 小时前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
AI_AGENT_DEV_AI10 小时前
AI英语教培智能体的开发
人工智能
物联网软硬件开发-轨物科技10 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人