Skip to content

LoCoMo —— Hebb Mind vs mem0

我们的头条 LoCoMo 指标是 session 级检索 Recall@10(评分回路中无判分器):

系统指标得分来源
Hebb Mind(bge-large + 重排)Session R@10(全量 1,978 题)95.75%LoCoMo
Hebb Mind(bge-large,默认)Session R@10(全量 1,978 题)94.14%LoCoMo
Hebb Mind(MiniLM-384)Session R@10(全量 1,978 题)91.41%LoCoMo
mem0未公布检索召回数字mem0ai/mem0

mem0 只公布由 LLM 判分器评分的端到端 QA 准确率(即「J score」),而非检索召回 —— 因此上表没有同指标的对照行。为了在他们的指标上对比,我们在完全相同的问题子集上跑了自己的端到端 QA;下面是这组同口径对照,随后说明为什么这个 QA 数字 —— 无论哪一方 —— 都难以采信。

同口径:相同子集(cat 1–4)、相同指标(端到端 QA)

mem0 只评测 LoCoMo 类别 1–4 —— 446 个对抗性问题被排除(这是他们声明的惯例「仅在类别 1–4 上评测」,也是标准的 LoCoMo-QA 做法,因为类别 5 是「模型应当拒答」且其 ground-truth 存在已记录的问题)。子集 = 约 1,540 题,而非 1,986 题

为了消除判分器作为混淆因素,我们在该子集上用两种方式对同一批检索并生成的答案评分。

(a) 我们自己的判分器(DeepSeek-V4-Pro,严格 —— 对列表型答案要求全部/除一项外全部命中):

Hebb Mind 端到端 QA准确率分母
所有类别77.0%1,986
类别 1–4(mem0 的子集)73.8%1,540
仅对抗性88.3%446

(我们的全类别头条数字被对抗性这一最强类别拉高了;73.8% 才是可比的数字。)

(b) mem0 的_原版_判分 prompt,逐字复制自 benchmarks/locomo/prompts.py —— 一套宽松得多的评分准则(「命中金标列表中 ≥1 项即判 CORRECT」,日期相差 14 天内通过,复述/额外细节/同指代对象均通过):

Hebb Mind,按 mem0 判分 prompt 评分cat 1–4
总计77.9%
多跳(cat 1)72.0%
时序(cat 2)72.3%
开放域(cat 3)34.4%
单跳(cat 4)86.9%

把我们的判分器换成 mem0 的,数字仅变动 +4.1 pp(73.8 → 77.9):他们的判分器更宽松,但提升空间并不在这里。

(c) 对比 mem0 公布的数字,相同子集、相同判分 prompt

系统cat 1–4 QA判分器vs Hebb 77.9%
Hebb Mind(bge-large + 重排)77.9%mem0 的,逐字
mem0 —— arXiv 论文66.9%mem0 的Hebb +11.0 pp
mem0 —— graph(论文)68.4%mem0 的Hebb +9.5 pp
mem0 —— README / 宣传91.6%mem0 的mem0 +13.7 pp

在 mem0 自己的判分 prompt相同的 1,540 题子集上,我们的检索 + 答案比 mem0 经同行评审的论文结果高出 +11 pp。上表中唯一高于我们的 mem0 数字是 README 的 91.6%,而判分器无法解释这个差距(对齐判分器只换来 +4 pp)。它来自两件事,都与检索质量无关:

  1. mem0 的 7 步思维链答案生成 prompt(实体核验、时序消歧、包含性检查……)。我们用的是普通的一次性答案 prompt;他们的生成 harness 才是出力的关键。
  2. 那个 91.6% 无法从 mem0 的公开 harness 复现(见下一节)。

仍存在的注意点:判分模型依然不同(我们用 DeepSeek-V4-Pro;mem0 用 GPT-4o-mini)—— 但判分 prompt 现在已是逐字节一致。

为什么这个 QA 数字 —— 无论哪一方 —— 都难以采信

这个排行榜被每一个参与者质疑。 Zep 的审计 「Lies, Damn Lies, and Statistics: Is Mem0 Really SOTA in Agent Memory?」 发现,一个全上下文基线(约 73% J)击败了 mem0 最佳的 graph 配置(约 68% J) —— 也就是说,完全不用记忆系统得分反而更高,因为 LoCoMo 会话(约 16k–26k token)能装进现代上下文窗口。为求平衡:mem0 发布了反驳,称 Zep 错误配置了他们的系统;而 Zep 自己的 84% LoCoMo 主张也被另行审计降到了 58.44%(getzep/zep-papers #5)。

mem0 自己的数字无法从公开 harness 复现。 mem0 #3944 报告用 GPT-4o-mini 跑他们的评测时 LLM 得分约 0.20(根源是平台用当前日期而非数据集时间戳给记忆打戳);mem0 #2800 在本地复现,得分「显著低于我在论文里看到的」。

LoCoMo 的 ground truth 本身就是坏的。 一份公开审计(dial481/locomo-audit,在 MemPalace #29 中有总结)记录了十段会话中约 99 个错误/臆造/张冠李戴的答案(诚实的上限约 93–94%,而非 100%)—— 并且关键在于,LoCoMo 的 LLM 判分器会接受多达约 63% 的故意写错的答案。一个对约 63% 的故意错误答案放行的判分器,给每一个 LoCoMo J-score(mem0 的和我们的都一样)都加上了一个巨大且系统性的误差棒。

这正是我们把检索召回作为头条指标的原因:ground truth 就是 evidence 的 session 集合,以集合求交评分,回路中没有判分器。

一次同指标的检索对比需要什么

要把 mem0 放进上面的 R@10 表,我们需要:

  1. 把 mem0 接入 Hebb Mind 的 eval/ 检索召回 harness,使两个系统都通过 evidence 求交得到 session 级 hit@10。
  2. 在双方都跑全量 1,978 题(与本站其他地方一致的排除策略)。
  3. 公开 mem0 的版本与 embedding 模型。

这在路线图上。如果你已经做过同 harness 的 mem0 运行,欢迎提交 PR。

来源

Released under the MIT License.