95.8%:记忆系统的四道必答题
最好的记忆系统:知之为知之,不知为不知,是知也。
长期记忆,通常被当成一个检索问题:能不能把那句话找回来。
检索只是开头。真正难的在后面:系统得知道证据支持什么。旧事实和新事实要分得开,散在多次对话里的细节要拼得上,没明说的偏好不能瞎编,证据不够的问题要敢不答。
我们用这个标准,把 EchoMem 放上 LongMemEval[1]:500 道跨 session 记忆题,ICLR 2025。结果:Gemini 3.1 Pro 配置下 95.8%;同一套记忆栈换 GPT-4o,90.4%。
这篇不吹分数。拆题:一个好的记忆系统,到底要解决哪些问题;为什么大多数系统,抓不住该记的东西。
为什么是 LongMemEval
多数记忆 benchmark 测一件事:长文本里藏一个事实,看你捞不捞得到。有用,但离真实助手太远。
真实的助手记忆是乱的。偏好会变,事实会过期,关键细节散在几周里的多次对话,有的问题前提本身就是错的,有的答案要算时间,不是查字典。LongMemEval 的作者把这些难点做成了六类题[1]——所以它更像记忆系统的行为测试,不是检索测试。
LongMemEval 的六类题
知识更新(KU)
事实变了,能不能跟着变。旧地址不能顶掉新地址。
跨 session(MS)
证据散在多次对话里,能不能拼起来。
时间推理(TR)
先后、时长、“现在”——懂不懂时间本身。
单 session · 用户(SSU)
一次对话里用户侧的事实,记不记得住。
单 session · 助手(SSA)
助手自己说过的话,认不认账。
单 session · 偏好(SSP)
没明说的偏好,能不能有据地推出来。
六类题,最终问的是同一件事:四道必答题
考法不同,考点只有一个,拆开是四层:
压缩 · Compression
对话变成记忆的那一刻,能不能去芜存菁——冗余去掉,关键信息一点不丢。
提取 · Retrieval
要用的时候,能不能抓得到——它得在库里,还得找得回来。
筛选 · Selection
抓回来一把,能不能拎得清——哪条是新的,哪条作废了,哪条才和这个问题有关。
生成 · Generation
拎清了,能不能用得上——答案从证据里长出来,不是从语感里编出来。
四层混在一起,LLM 的答案才答得好。任何一层掉链子,后面全白搭:压缩丢了细节,提取无物可抓;提取抓不到,筛选无从谈起;筛选拎不清,生成就在噪音里编。
LongMemEval 的六类题,就是把这四层拆开来考:知识更新考筛选,跨 session 考提取和筛选,时间推理考压缩时留没留住时间、生成时算不算得动,偏好题考压缩和生成。拒答题,考的是生成层的最后一道闸——证据不够,敢不敢不答。
为什么大多数系统,抓不住该记的东西
大多数记忆系统的第一步就走偏了:把记忆当文本,把召回当相似度。
Embedding 能找到“像”的。分不清“新”的、“对”的、“够”的。
最朴素的方案,LongMemEval 的作者测过:把全部历史塞进窗口,GPT-4o 只有 60.6%[1];独立复现落在 60%–64%[10]。不是模型读不到——是读到了也用不好:长输入的中段信息会被系统性漏掉[2],输入越长,表现越不稳[3],窗口是有限资源,塞满不等于用好[4]。
所以“都存下来”不等于“记住了”。差的那一截,是结构。一条合格的记忆,至少要把四样东西装在一起:
- 实体:谁、在哪、什么时间。人物、地点、时间不是元数据,是索引本身。
- 事实:发生了什么,关键细节原样保留。
- 逻辑:这条事实和别的事实怎么连——先后、因果、归属。
- 更新链:它有没有被后来的话改写。旧事实不删,但要让位。
少一样,就有一类题答不了。没有实体,跨 session 的证据拼不起来(MS);没有时间,“去年感恩节之后”是一次计算,不是一次检索(TR);没有更新链,旧地址会顶掉新地址(KU);没有逻辑,偏好只能靠猜(SSP)。
这四样,就是压缩层要保住的底货。保住了,提取才有得抓,筛选才拎得清,生成才用得上。
这也是这个领域分出路线的原因:Zep 用时间知识图谱,把实体和关系显式建出来[6];Mem0 把对话压成结构化事实,再做冲突更新[7];MemGPT 把记忆做成分层调度的操作系统[5];Mastra 走观察—压缩—反思[9]。路线不同,方向一致:光有向量,不够。
EchoMem 的做法:每条记忆落库时就带全结构——时间、人物、地点、对象、描述、细节、关键词、出处。新事实进来,挂到同一条实体链上,旧事实降权,不消失。答题之前,先问一句:这些证据,够不够支持这个答案。
把“上周跟 Sarah 在西雅图看的那套房”存成一段向量,三周后你问“我在看的那套房在哪个城市”,召回的可能是旧的、被推翻的、别人的。把时间、人物、地点和这条事实锁在一起,这道题才成立。
结果
同一套 EchoMem 记忆栈,两个模型各跑一遍 500 题:Gemini 3.1 Pro 答对 479/500(95.80%,0 道未计分),GPT-4o 答对 452/500(90.40%)。评分用官方 LongMemEval GPT-4o scorer[1]。
同一套 500 题,六个类别的得分。
对照表
分数要放在同行里看。下面是各记忆系统公开报告过的 LongMemEval 成绩:
| 系统 | KU | MS | TR | SSU | SSA | SSP | 总分 |
|---|---|---|---|---|---|---|---|
| EchoMem | 100.0% | 92.5% | 94.0% | 98.6% | 100.0% | 93.3% | 95.8% |
| Supermemory | 99.0% | 93.0% | 91.0% | 97.0% | 100.0% | 90.0% | 95.0% |
| Mastra | 96.2% | 87.2% | 95.5% | 95.7% | 94.6% | 100.0% | 94.9% |
| Mem0 | 93.6% | 88.0% | 97.0% | 98.6% | 98.2% | 96.7% | 94.4% |
| Zep | 83.3% | 57.9% | 62.4% | 92.9% | 80.4% | 56.7% | 71.2% |
各家分数取自其公开报告[6][7][8][9]。设置与口径有差异,严格讲不可直接互比;放进一张表,是给量级一个参照。每列最高分加下划线。
核心纪律:证据优先
记忆系统的失败方式很多:没找到对的记忆;找到了,答的却是另一个问题;从相关证据过度泛化;把过期事实当现状;对着假前提硬答。五种失败,一个根源——答案和证据脱钩了。
只有当证据支持这个具体的问题,才给出基于记忆的答案。
听着像废话,做起来改变系统形态:记忆不再是一堆事实,而是一条流水线——保留证据,筛选证据,在证据上推理,最后判断够不够。
- 把对话沉淀成带结构的持久记忆。
- 对当前问题,召回证据。
- 检查证据是否真的支持答案。
- 够,才答。
- 不够,拒答。
- 复盘错题,回填流水线。
500 道里,有 30 道的正确动作是“不答”。问错了人、记错了地点、从没表达过的偏好——假前提题。知之为知之,不知为不知——LongMemEval 把这句老话做成了考题。会答的系统很多,会停的系统少。30 次正确拒答,和 449 次有据回答,同样重要。
错题复盘
| 结果 | 数量 | 含义 |
|---|---|---|
| 有据回答 | 449 | 记忆证据充分,答案从证据里来 |
| 正确拒答 | 30 | 证据不支持问题的前提,选择不答 |
| 剩余错题 | 21 | 证据不够,或者有证据没用对 |
剩下的 21 道错题,集中在跨 session 和时间推理。不意外——这正是记忆最难的两处:
- 证据存在,但散在多条记忆里,拼装差一步。
- 召回的记忆相关,但少了一个关键限定词。
- 新旧事实冲突,排序错了。
- 答案要在时间上做计算,不是做查找。
- 偏好被暗示过,但从没明说。
- 听起来合理的答案,不等于有证据的答案。
给模型塞更多记忆,能补一部分“证据缺失”。但也制造新问题:模型把几条相关记忆拼出一个听起来对的答案,而没有任何一条证据真的支持它。目标从来不是答得更多。是答得有据。
各家路线,殊途
近期的 LongMemEval 工作走了几条不同的路:有的证明强检索管线仍然能打[10];有的主攻生产环境的取舍——延迟、成本、token 效率[7][8];有的借人类记忆的观察、压缩、反思造新架构[9];有的把时间知识图谱立成骨架[6]。
EchoMem 的侧重与它们互补:证据纪律。我们不太关心系统有没有捞出“听起来相关”的东西,只关心最后那个答案有没有证据撑着。
一个记忆系统可靠,不是因为它永远有话说。是因为它分得清证据和感觉。
方法
和任何 benchmark 一样,分数要和方法、错题分析一起读。LongMemEval 的好处是它按行为分类施压;但没有任何 benchmark 能完整代表生产环境——延迟、成本、隐私、鲁棒性、可观测性,都在分数之外。
References
- [1] Wu et al., LongMemEval: Benchmarking Chat Assistants on Long-Term Interactive Memory, ICLR 2025.
- [2] Liu et al., Lost in the Middle: How Language Models Use Long Contexts, TACL 2024.
- [3] Chroma Research, Context Rot: How Increasing Input Tokens Impacts LLM Performance.
- [4] Anthropic Engineering, Effective Context Engineering for AI Agents.
- [5] Packer et al., MemGPT: Towards LLMs as Operating Systems, arXiv:2310.08560.
- [6] Rasmussen et al., Zep: A Temporal Knowledge Graph Architecture for Agent Memory, arXiv:2501.13956.
- [7] Chhikara et al., Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory, arXiv:2504.19413.
- [8] Supermemory, Supermemory Research.
- [9] Mastra, Observational Memory.
- [10] Emergence AI, SOTA on LongMemEval with RAG.
可靠的记忆,是带证据的记忆。
AI 记忆的未来,不由更大的窗口和更猛的检索定义。由分得清“有据的答案”和“合理的猜测”的系统定义。