← 返回 2026-05-13

MEME:多实体与演化记忆评测基准 MEME: Multi-entity & Evolving Memory Evaluation

Seokwon Jung, Alexander Rubinstein, Arnas Uselis, Sangdoo Yun, Seong Joon Oh 📅 2026-05-12 👍 7 2026-07-13 08:36
DAG知识图谱 LLM智能体 依赖推理 记忆系统 评测基准

面向长会话智能体的记忆评测基准,揭示所有系统依赖推理崩塌。

前置知识

LLM智能体持久记忆

指LLM驱动的智能体在多轮、多会话的长期运行中,需要将用户陈述过的事实、规则、变化等存储到外部记忆系统,并在后续查询时检索相关上下文。典型实现包括BM25等稀疏检索、向量检索(text-embedding-3-small)、LLM处理型记忆(Mem0用LLM抽取原子事实、Graphiti用时序知识图谱)以及基于工具调用的文件型智能体(Karpathy Wiki、MD-flat)。

本文所有实验都建立在六种具体记忆系统之上,理解这三类范式的区别是看懂实验设置和失败归因的前提。

DAG有向无环图知识图谱

本文用 $G=(V,E,P,\Phi)$ 表示一个领域内的实体依赖图,其中 $V$ 是实体集合、$E\subseteq V\times V$ 是有向依赖边、$P(v)$ 是实体 $v$ 的取值池、$\Phi$ 是条件规则集合(如”若健康状况变为高血压则药物切到Thrynexol”)。DAG结构保证当某个根实体变化时,可通过拓扑序逐层传播得到所有依赖实体的解析值 $v^*$。

DAG是MEME生成可验证金标准答案的数学基础:依赖推理(Cascade/Absence)的答案不是来自对话原文,而是由图传播计算得到,因此能保证ground-truth严格可解。

依赖推理(Dependency Reasoning)

指当一个实体发生变化时,智能体应识别出与之存在依赖关系的下游实体的值也应当随之变化(Cascade),或在没有可用规则时正确地表达”不确定”(Absence)。这是本文新增的两类评测任务,也是LLM记忆系统尚未覆盖的能力。

依赖推理是本文的核心切入点:作者通过表1对比指出RULER、NoLiMa、LoCoMo、LongMemEval、MemBench、MemoryAgentBench均不评估依赖传播,这是现有评测的关键盲区。

评测中的Trivial-Pass过滤

在Cascade、Absence、Deletion任务上,正确的回答必须同时满足”变化前”和”变化后”两个条件才算分。例如Deletion任务:用户先说爱好是陶艺,然后要求删除,系统必须在删除前能正确回忆出”陶艺”,删除后才能正确说”该信息已删除”。这避免了从不存储事实的系统靠”遗忘”来蒙混过关的假阳性。

这一过滤机制让评测对”假装不知道”的策略免疫,是本文方法论上保证评测有效性的关键设计。

研究动机

随着LLM智能体在跨多会话的长生命周期任务中部署(如个人助理、协作项目管理),它们必须能存储、检索并推理随时间演化的信息。然而作者通过表1系统对比发现,已有记忆评测基准如RULER、NoLiMa仅评估单上下文窗口的注意力极限,LoCoMo只测静态偏好保留,LongMemEval/MemBench/MemoryAgentBench虽引入动态更新但只评估独立实体的单点更新($v^*$ 单独变化),从不评估”一个实体变化后其依赖实体应当如何联动”——即真实场景中最常见的链式更新。例如用户报告”团队负责人从Seokjin Kang换成Jihoon Ryu”,那么基于规则”若团队负责人变化则周报接收人改为James Lee”,下游实体的值也应当自动传播。现有系统在六类任务中Exact Recall表现尚可(平均0.62),但Cascade仅0.03、Absence仅0.01,几乎是地板水平。更严重的是,作者对六种系统做了per-stage诊断(Table 11),发现依赖规则和变化事件在编码(✓)和维护(✓)阶段都成功写入存储,但检索(×)阶段失败——在向量检索器中变化事件被变更前的值压制,在工具调用/图/稀疏检索器中变化事件干脆没被取出来。

本文的目标是本文要构建一个能系统性暴露记忆系统在”实体范围×时间动态”二维空间中薄弱区域的评测基准。作者用DAG $G=(V,E,P,\Phi)$ 形式化地定义依赖传播规则:金标准答案通过 $v^*=\phi_v(v_i^*)$ (Cascade)或 $v^*=\bot$(Absence)从图结构推导出来,而非由对话文本直接说出,从而保证任务在原则上可解。具体目标包括:定义六类覆盖二维四象限的任务;在两个领域(Personal Life 39实体/34边、Software Project 51实体/27边)生成100集~35K token的对话;在六种记忆系统上做主实验并对失败原因做per-stage归因;通过五项干预(提示优化、检索深度、答案模型、噪声、内部LLM)检验能否在不改动架构的情况下弥合差距。

与已有工作不同的是,本文的独特切入角度是把记忆评测的覆盖空间从”独立实体演化”扩展到”依赖链传播”,并在诊断粒度上做到per-stage(编码-维护-检索)。具体而言:(1)首次把知识编辑中的”涟漪效应”概念引入LLM记忆评测,对应Cascade任务;首次要求系统对”无法判定”做出正确表达,对应Absence任务。(2)通过DAG使金标准答案可验证——只需把金事实直接喂给答案LLM即得0.91上限,证实任务本身可解(而非任务太难)。(3)失败归因不只给数字,而是用Figure 4的可追溯图示(Graphiti、Karpathy Wiki两个失败、MD-flat×Opus 4.7一个成功)显式指出”事实已写入但检索未取出”这一共因,从而把后续干预的着力点定在检索阶段和内部LLM能力上。

核心方法

MEME的方法论由三部分组成:评测任务的二维定义、DAG驱动的可验证数据生成、以及对六类记忆系统的per-stage诊断与干预设计。直觉上,作者先用一个DAG把”哪些实体之间存在依赖、依赖规则是什么”显式建模,再从DAG中采样出每个episode的结构骨架,然后由LLM自对话把骨架自然语言化成多会话对话,最后插入filler会话把上下文撑到~35K token以增加检索难度。评测时,所有系统都统一用gpt-4.1-mini作为内部LLM和答案LLM,以保证架构差异而非模型能力差异主导结果。在主实验失败后,作者沿”编码-维护-检索”三阶段做归因,并通过提示优化(DSPy SIMBA)、检索深度(top-k扫描)、答案模型升级(gpt-4.1-mini→Sonnet 4)、噪声缩减(去掉filler)、内部LLM升级(gpt-5/GLM-5.1/Opus 4.7)五项干预进行”不开新药方”式的诊断。

本文最核心的创新是”用DAG作为金标准生成器”——把依赖推理任务的答案 $a=v^*$ 从对话中”听来的事实”提升为”从结构化图传播推出的事实”,配合trivial-pass过滤和in-context天花板实验共同保证评测有效性。这与传统评测(如LongMemEval用LLM自评、LoCoMo用人类标注)有本质区别:DAG使ground-truth在构造时即被确定且与生成对话解耦,避免了”LLM既当运动员又当裁判”的循环依赖。第二个核心创新是per-stage失败归因框架:把记忆系统的工作拆成encoding/maintenance/retrieval三阶段,对每一阶段做独立可观察的诊断(Figure 4的trace),从而把”系统崩了”这一笼统结论精细化到”事实写进去了但没被取出来”这一可操作结论。

方法步骤详情

数据生成的完整pipeline分五步执行:第1步”实体集选择”——从领域DAG $G$ 中选一个根实体 $r$,沿依赖边采样其所有后代作为本次episode涉及的实体,再补一部分依赖链外的实体用于Exact Recall/Aggregation;第2步”取值分配”——从 $P(v)$ 中给每个实体分配初始值,再做后处理一致性检查(如vehicle为none时commute_method不能是driving);第3步”任务分配”——按实体在DAG中的拓扑角色映射到六类任务:链外实体做Tracking(三次更新)/Exact Recall/Deletion,根的后代做Cascade/Absence,预先定义的三元组做Aggregation;第4步”自然语言化”——混合策略,基础事实用gpt-4.1自对话生成多轮对话,依赖规则和Exact Recall用模板直接嵌入以保证字面精度,再用gpt-4o加Gemini 2.5 Flash做两层语义校验;第5步”haystack组装”——用BM25+text-embedding-3-small候选+GPT-4o-mini冲突判断的离线管线过滤filler池,再用关键词黑名单选出与本episode金事实不冲突的filler会话交错插入,最终得到~35K token的对话。评测流程是:对每个episode让六种记忆系统依次摄入所有session,然后让答案LLM在统一prompt下回答694个问题,GPT-4o作为judge(与作者标注的一致率达98.6%,Cohen's $\kappa=0.965$),对Cascade/Absence/Deletion施加trivial-pass过滤。

技术新颖性

技术新颖性体现在三个层面。其一,任务设计上的新颖性:Cascade和Absence在记忆评测领域是首次被形式化定义(Table 1中所有先前的benchmark在Cas/Abs/Del三列均为$\times$),其答案定义 $v^*=\phi_v(v_i^*)$ (Cascade)与 $v^*=\bot$ (Absence)以及链式传播 $v_2^*=\phi_{v_2}(v_1^*)$ 借鉴自知识编辑领域的”涟漪效应”(ripple effect)研究,但被本文首次移植到LLM agent memory评测。其二,数据构造上的新颖性:DAG-based generation with verifiable gold answers把评测从”对话中存在什么”解耦为”图上能推出什么”,配合in-context天花板(0.91 with Opus 4.7)证明任务可解。其三,诊断方法上的新颖性:把记忆系统的工作流拆为encoding/maintenance/retrieval三个可独立观测的阶段并做出per-stage trace(Figure 4、Section I),从而把”系统失败”的笼统结论定位到”事实已写但检索未取”的具体环节——这是先前工作(如LongMemEval的纯指标对比、MemBench的pipeline对比)没有做过的精细化诊断。

Examples of the six MEME task types across three categories: Retrieval (Exact Recall, Aggregation), State Management (Tracking, Deletion), Dependency Reasoning (Cascade, Absence).
Figure 2: Examples of the six MEME task types across three categories: Retrieval (Exact Recall, Aggregation), State Management (Tracking, Deletion), Dependency Reasoning (Cascade, Absence).

实验结果

主实验(Table 2,100 episodes,统一gpt-4.1-mini)核心发现有三:(1)所有六类记忆系统都不能可靠地完成依赖推理——Cascade在六系统上平均0.03(最高MD-flat 0.06),Absence平均0.01(最高MD-flat 0.05),与静态任务的最低值Aggregation 0.23相比明显落入地板;最佳整体准确率来自MD-flat的0.42(仍低于in-context gpt-4.1-mini的0.36与MD-flat的0.42在Overall上几乎打平,记忆系统的优势体现在成本——记忆系统推理成本$0.00–$0.04/ep远低于in-context的$0.16/ep)。(2)两个评估轴独立且联合作用显著:实体范围把均值从0.31降到0.0以下?此处按Figure 3重述为”实体范围轴0.31 vs 0.0/0.35、时间轴0.28 vs 0.0/0.35”,跨过两个轴后多实体-演化单元跌至0.02(图3c)。(3)失败归因——Figure 4对Graphiti、Karpathy Wiki做了per-stage trace:编码✓、维护✓、检索×;其中Graphiti是图检索top-k排不上变化事件,Karpathy Wiki是工具调用循环从未打开含变化事件的日志;BM25/MD-flat (gpt-4.1-mini) 同属检索失败,text-embedding-3-small/Mem0同属答案侧失败(变化事件已取到但答案LLM仍报变更前值)。五项干预结果:DSPy SIMBA提示优化对Cas/Abs无效(图5a);top-k扫描(Table 3a)显示Cas在$k\in\{5,10,20,40\}$上始终≈0,Abs在$k=20$峰值0.24(BM25)后下降,说明Cas撞答案侧瓶颈、Abs撞检索饱和;答案LLM从gpt-4.1-mini换到Sonnet 4(Table 3b)只给BM25/dense在Abs上带来0.12/0.16的微小提升,Cas全系统无提升;去掉filler(图5b)无明显改善;唯一有效的是内部LLM升级(Table 4,20-episode子集):MD-flat×Opus 4.7把Cas推到0.32、Abs推到0.59、Overall推到0.55,但成本是$3.87/episode的摄取开销(基线$0.05)加上$0.67/episode的推理开销,约70×基线。

Comparison between MEME and existing memory benchmarks. Tasks: Exact Recall (ER), Aggregation (Agg), Tracking (Tr), Deletion (Del), Cascade (Cas), Absence (Abs).
Table 1: Comparison between MEME and existing memory benchmarks. Tasks: Exact Recall (ER), Aggregation (Agg), Tracking (Tr), Deletion (Del), Cascade (Cas), Absence (Abs).
System accuracy across the six MEME task types, grouped by paradigm.
Table 2: System accuracy across the six MEME task types, grouped by paradigm.
Two intervention sweeps: (a) top-k retrieval depth on raw retrieval and Mem0; (b) answering-LLM swap on all six main-table systems.
Table 3: Two intervention sweeps: (a) top-k retrieval depth on raw retrieval and Mem0; (b) answering-LLM swap on all six main-table systems.
Internal-LLM swap on the three systems with internal LLMs (20-episode subset, Sonnet 4 answer).
Table 4: Internal-LLM swap on the three systems with internal LLMs (20-episode subset, Sonnet 4 answer).
Marginal effect of each evaluation axis on mean accuracy across the six main-table systems.
Figure 3: Marginal effect of each evaluation axis on mean accuracy across the six main-table systems.
State of two failing systems (Graphiti, Karpathy Wiki) and the closure case (MD-flat × Opus 4.7) on episode sw_033, traced across encoding, maintenance, and retrieval.
Figure 4: State of two failing systems (Graphiti, Karpathy Wiki) and the closure case (MD-flat × Opus 4.7) on episode sw_033, traced across encoding, maintenance, and retrieval.
Two interventions external to the memory architecture: (a) prompt optimization (DSPy SIMBA, 10-episode test set); (b) noise reduction (32K filler → no filler, 40-episode subset).
Figure 5: Two interventions external to the memory architecture: (a) prompt optimization (DSPy SIMBA, 10-episode test set); (b) noise reduction (32K filler → no filler, 40-episode subset).
查看结构化数据
任务指标本文基线提升
Cascade依赖推理(100集主实验) Accuracy(trivial-pass过滤) 六系统平均0.03,最佳MD-flat 0.06 in-context gpt-4.1-mini 0.03,in-context Sonnet 4.6 0.05 几乎无提升——记忆系统在这一任务上没有跑赢in-context基线
Absence依赖推理(100集主实验) Accuracy(trivial-pass过滤) 六系统平均0.01,最佳MD-flat 0.05 in-context gpt-4.1-mini 0.04,in-context Sonnet 4.6 0.35 Sonnet 4.6的in-context在此任务上比所有记忆系统高7-35×,说明系统化机制比简单堆上下文更无效
Exact Recall静态检索 Accuracy BM25 1.00、text-emb-3-small 0.96、MD-flat 0.94、Mem0 0.67、Karpathy Wiki 0.11、Graphiti 0.03 in-context gpt-4.1-mini 1.00(已知无记忆系统的上限) BM25/稠密检索/MD-flat基本打平in-context,验证编码-检索基本链路是通的
Overall综合准确率(100集主实验) Accuracy(六类任务均值) MD-flat 0.42(最佳)、text-emb-3-small 0.33、Mem0 0.28、BM25 0.25、Karpathy Wiki 0.10、Graphiti 0.03 in-context gpt-4.1-mini 0.36 MD-flat以$0.04/episode的摄取和$0.01/episode的推理成本超越in-context,记忆架构的成本优势在长尾查询时显现
内部LLM升级下的Cascade(20集子集,Sonnet 4答案) Accuracy MD-flat×Opus 4.7 = 0.32(基线gpt-4.1-mini = 0.00) 同任务Mem0×Opus 4.7 = 0.03、Graphiti×Opus 4.7 = 0.00 MD-flat×Opus 4.7把Cascade从0推到0.32,是唯一在依赖推理上产生质变的配置,但成本约70×
In-context上限(gold-facts in-context,验证任务可解) Overall Accuracy Opus 4.7 in-context = 0.91(四答案模型详见Section L) 六系统平均0.24 上限0.91 vs 实际0.24的差距说明失败来源于记忆机制本身,而非任务不可解

局限与改进

作者在Section 6明确指出四点局限:(1)数据集仅两个手工知识图(PL 39实体、SW 51实体),更广泛的领域和众包图会进一步检验泛化;(2)对话由LLM自对话生成而非真实用户,限制了真实感;(3)100集×~35K token的规模在长上下文与统计显著性上可能不足;(4)多数消融(SIMBA、top-k、噪声、内部LLM)仅在10–40集子集上跑,只覆盖部分系统;只有主结果和答案LLM swap覆盖了全100集×全6系统。我自己的观察还包括:(a)verbalization对依赖规则用了显式条件句(”if ... then ...”),这是对记忆系统的最佳框架,未做隐式条件或无条件变体的消融;(b)评测judge用GPT-4o,虽与作者标注有98.6%一致率,但LLM-as-judge本身在长答案上仍可能存在系统性偏置;(c)内部LLM升级实验的子集只有20集,Opus 4.7在MD-flat上的Cas 0.32、Abs 0.59在更大规模上是否稳定仍待验证;(d)MD-flat×Opus 4.7在Exact Recall 0.60、Tracking 0.20上明显低于MD-flat×gpt-4.1-mini(0.94/0.80),说明强内部LLM在依赖推理和静态检索之间存在权衡,并非无损升级。

独立分析的弱点

独立分析可见的弱点及其改进方向:(1)评测成本不对称——主实验100集×6系统×gpt-4.1-mini成本可控,但内部LLM升级实验(Table 4)中Graphiti×Opus 4.7的摄取成本高达$37.12/episode,Mem0×Opus 4.7也要$6.00/episode,限制了对强模型+强架构组合的全面评估。改进方向是引入缓存、批处理或主动学习式的子集设计,让昂贵的ablation也能在更大集上跑。(2)verbalization偏向显式条件——本文用模板直接写入”if X changes then Y becomes Z”,但真实用户极少这样说话;隐式条件变体(”我们小组以前是John负责review,现在改规矩了”)的鲁棒性未测。改进方向是引入自然蕴含/隐式条件verbalization并测试。(3)trivial-pass过滤的”双门”标准可能在Deletion上过于宽松——任何回答”deleted”都能通过”删除后”那一关,只要”删除前”答对,但用户实际更在意”删除前能否精确指认”。改进方向是改成”前-后对称”的精确匹配。(4)评测未覆盖冲突解决——现实对话常有”我家在A/不是A/其实在B”的多轮自相矛盾,MEME的filler机制并未生成结构化冲突。改进方向是增加Conflict Resolution任务。(5)成本与性能的帕累托前沿未充分刻画——Table 4只给了离散三档(gpt-4.1-mini/gpt-5/GLM-5.1/Opus 4.7)的点,没画连续帕累托曲线。改进方向是补一个”成本-性能”的连续扫描图。

未来方向

作者明确指出的未来方向有两条:一是部署模式层面——对检索密集或静态负载,沿用BM25/Mem0/MD-flat等现有系统即可;对依赖密集负载,没有实用成本方案,建议通过”上游设计”(在对话日志中显式写入依赖规则、用预定义模板浮现变化事件)作为短期变通。二是架构层面——长远路径是”在maintenance阶段原生传播依赖”的新型记忆架构,而非依赖昂贵的内部LLM在ingest阶段代为传播。基于本文成果可延伸的方向还包括:(a)多模态依赖记忆评测(图像/语音/视频场景下的依赖传播);(b)跨episode的元记忆评测——智能体是否知道自己”不知道什么”(元认知层面的Absence);(c)人机协作式依赖管理——让用户在对话中显式声明”以下事件互为依赖”,并测试系统能否自动建图;(d)检索阶段的”重排序”——既然失败定位在retrieval,未来工作可设计专门的依赖感知重排序器(dependency-aware reranker),在向量召回后用规则+LLM把变化事件重新提到top-k;(e)Streaming记忆——本研究是离线episode,未来可拓展到流式增量更新场景下的依赖一致性。

复现评估

复现性较好:作者在项目页 https://seokwonjung-jay.github.io/meme-eval/ 公开了代码与数据,论文给出了per-system完整配置(Section C)、ingest/retrieve/answer prompt(Section D)、verbalization prompt(Section D.2)、judge prompt(Section D.5)、SIMBA超参(Table 12)等关键细节。算力方面,主实验在100集×6系统上跑完用gpt-4.1-mini估计只需几百美元,但内部LLM swap中Graphiti×Opus 4.7单20集就需$37.12/episode×20≈$742,Mem0×Opus 4.7需$6.00/episode×20≈$120,MD-flat×Opus 4.7需$3.87/episode×20≈$77,整体复现成本约$1.5k–$2k。复现难度主要在三处:一是Graphiti和Karpathy Wiki作为外部系统需要分别搭建pip/源码环境,Graphiti涉及Neo4j等依赖;二是DSPy SIMBA的优化过程含随机性,多seed统计(Table 15)需要重跑;三是LLM自对话生成对话受API版本和温度影响,复现对话可能与原文分布有微差。Judge用GPT-4o与作者标注一致性98.6%、Cohen's $\kappa=0.965$这一可验证指标为评测可靠性提供了保障。