深度解读Agent记忆框架:清华交大横评12大方案选型指南

type
status
date
slug
summary
tags
category
icon
password
网址
市面上已有几十种Agent记忆方案,有的基于向量检索,有的基于知识图谱,有的靠定期总结“压缩”对话,有的则完全依赖模型自身的上下文窗口。它们各有各的说法,但在系统层面,到底哪种方案靠得住?哪种方案在你的工作负载下既不贵又准?
如果你正纠结于这个问题,那么上海交通大学和清华大学最近联合发表的一篇论文一定值得你看一看:
这篇论文研究覆盖了12种具代表性的Agent记忆系统、5类workloads、11个数据集,研究者把记忆系统当成一个数据管理系统来拆解、测试、定量比较,还做了大量细粒度消融实验。
本文将围绕他们的核心发现展开。我们不谈概念,只谈现象、数据和可复现的结论。
五个关键问题,12个系统,11个数据集
研究者在统一测试平台上运行了12个具代表性的记忆系统 + 2个基线(纯长上下文、Embedding RAG),覆盖三类典型场景:
• LoCoMo:长对话QA,考察事实召回、时序推理、开放域记忆; • LongMemEval:跨会话记忆,要求系统能把散落在多个会话中的事实关联起来; • DB-Bench(来自LifelongAgentBench):模拟数据库操作场景,考察记忆系统是否支持有状态的过程执行(INSERT/UPDATE依赖链)。
评测围绕五个RQ(研究问题)展开。以下是参与测试的12个记忆框架:
图结构类型(Zep、Memo、Cognee):用节点和边建模实体间关系,支持沿关系追溯。Zep额外维护时间有效性标志,适合审计事实变化轨迹;Cognee在图上叠加社区摘要,适合跨会话聚合同一主题。
层次结构类型(MemTree、Letta):MemTree用动态树组织记忆,叶子存细节、祖先存摘要,查询时做全局相似度匹配,适合“先定位场景再查细节”的负载。Letta做两级存储——核心记忆(上下文内)加外存(向量库),LLM通过函数调用主动换页,适合上下文窗口受限的部署。
扁平轻量类型(LightMem、SimpleMem、Mem0):LightMem做追加式向量写入和最近邻搜索,延迟最低。SimpleMem在向量之外维护BM25和SQL谓词索引,并引入LLM做查询意图规划。Mem0写入时抽取独立事实存入向量库,适合用户画像维护,但更新场景表现脆弱。
复合多引擎类型(MemOS、MemoryOS、A-MEM、MemoChat):MemOS定义统一数据对象MemCube,底层委托给多个专用后端,在LoCoMo精确匹配上排第一。MemoryOS融合稠密和稀疏检索,用Heat值做优先级淘汰。A-MEM用KNN锚点后做局部图遍历,支持稠密-稀疏融合权重调节。MemoChat把结构化JSON记忆块直接放在上下文里,不依赖外部数据库,适合话题集中的长对话。
下面我们直接看结论。
RQ1:不同系统在不同workload下都有效吗?
结论:没有一种系统能通吃所有场景。最佳选择取决于你的任务瓶颈。
• LongMemEval(跨会话聚合、事件顺序推理):图/时序组织型系统领先。Zep的LLM Judge准确率达到48.0,Cognee的ROUGE-L F1达到35.3。 • LoCoMo(长对话中精确事实定位):混合过滤/粗到精路由的系统更优。MemOS的Exact Match达到11.5。 • DB-Bench(状态变更依赖链):保留完整交互轨迹的系统更强。纯长上下文基线的EM达到48.20,MemoChat的任务成功率高达55.40。
研究者的判断是:强记忆系统不是靠某一种“万能表示”,而是取决于它能否在正确的抽象层级上保留关键证据。
RQ2:记忆系统检索证据有多准?
研究者专门评估了“检索到标注的黄金证据”的准确率,而不是下游答案生成。
几个有意思的现象:
• SimpleMem在Recall@1上最高(39.0%),说明它最擅长把最相关的那一条证据顶到最前面; • 但随着需要的证据数量增加(Recall@5/10),A-MEM和MemTree明显更强(A-MEM达到69.5/85.9),而且随证据时间距离增大,衰减更缓慢; • 普通Embedding RAG在短期证据上还不错,一旦证据距离拉大,掉得很快。
研究者归纳为三种不同的检索行为:
• 压缩型记忆:擅长快速定位单条高相关事实; • 链接/层次化记忆:擅长把分散的、跨会话的证据组装起来; • 纯稠密检索:只在证据离当前上下文较近时有效。
对你选型的启示:如果你的业务场景经常需要“把几条散落在不同时间点的信息拼起来回答问题”,那就要优先考虑带显式结构(图或树)的记忆系统,而不是只看Recall@1高的方案。
RQ3:动态更新下还稳吗?
研究者做了两件事:一是测试“知识修正后能否正确回答时效性问题”,二是替换底层LLM看行为是否稳定。
关键发现:
• 图/关系组织的记忆在直接事实修正上最可靠(Zep在Knowledge Update上Substring EM达44.4); • 时序推理(要求区分“旧版本”和“新版本”)上,Cognee最强(ROUGE-L F1 35.8); • 对“当前有效状态”的精确查询,MemOS的EM最高(8.9)。
稳定性方面:替换LLM骨干(从较弱到较强模型)会整体提升答案质量,但哪种记忆方案更优的顺序几乎不变。这说明:判断“哪个事实是当前有效的”这件事,主要取决于记忆系统的组织方式,而不是LLM的推理能力。强模型只是把已经定位好的证据表达得更好,并不能弥补记忆层对时间状态的错误保留。
RQ4:长周期下会退化吗?
研究者分别测量了随着上下文长度增长、跨会话数量增长、证据时间距离增长,系统性能如何变化。
统一结论:当时间或距离拉长时,真正的问题不是“记不住更多东西”,而是“表示方式是否还能把远距离事实与当前查询连接起来”。
• 纯长上下文方法在LongBench上从Short桶(42.6)掉到Medium(19.0),证明单纯堆上下文在引入干扰项后快速恶化; • 在LoCoMo上,Embedding RAG从证据距离最近时的37.1跌到最远时的7.4,而Cognee、MemOS、MemoryOS衰减幅度小得多; • 跨会话场景(LongMemEval)也呈现同样规律:保留实体-事件-时间关系的系统,退化明显更慢。
RQ5:成本呢?
研究者测量了平均操作延迟/query(含构建+查询)以及标准化效用。
结论很直白:结构的丰富度本身不是成本高的原因,“维护范围”才是。
• LightMem和MemTree处于最强的性价比前沿。LightMem用3.67秒达到48.3归一化效用;MemTree用15.9秒达到63.5。 • 高效用系统会明显变贵:MemoryOS达到82.0效用需要28.6秒,Cognee和Zep超84效用分别需要116.5秒和155.1秒。 • 在LongBench这类长上下文workload下,差距更加极端:LightMem 17.3秒,MemTree 116.7秒,而MemoryOS、A-MEM等上升到400-550秒级别。
研究者的判断非常明确:如果维护操作需要反复重组全局状态,那么再好的组织效果也会被成本抵消。
消融实验:什么设计真正起作用
端到端对比只能看出系统间的差异,但说不清是哪个模块导致的。研究者做了大量“单模块变异”实验,这里提炼几个直接可用的结论。
M1:表示与存储 — 保留原始内容比抽象更重要
• LightMem的User-Only Raw在LoCoMo上Answer F1 38.9,EM 24.2;User-Only Summary骤降到15.6和8.5。 • User-Only Compressed(去除填充词但保留原始措辞)在LoCoMo上几乎不降(38.6/23.6),但在LongMemEval上从26.0 Substring EM降到10.7。 • MemTree的深层设置相对于扁平设置仅带来微弱增益(18.7 vs 18.2 EM,31.2 vs 30.7 F1)。
取走的信息,再好的结构也找不回来。抽象和层次化能改善导航,但不能恢复在表示阶段丢弃的细节。
M2:提取 — 覆盖保存比选择性提取更稳定
• MemoChat的启发式话题分割在LongMemEval上明显优于LLM话题分割(10.7 vs 7.3 Substring EM),LoCoMo几乎持平。 • MemOS的Fast Memorize在LoCoMo上远超Fine Memorize(25.5 vs 2.5 EM),尽管在后者的LongMemEval上略低。 • LightMem的Hybrid Raw(同时存用户和助手)在LoCoMo上略优于User-Only Raw(25.5 vs 24.2 EM),LongMemEval几乎持平。
研究者的建议是:写入时保守一些,保留更多上下文;筛选和过滤尽量推迟到查询时再做。过早的细节丢弃会损害组合推理能力。
M3:检索与路由 — 规划和平衡融合有效,额外反思无增益
• A-MEM的Hybrid-Balanced优于Hybrid Sparse-Leaning(24.6 vs 23.0 Answer F1,27.5 vs 24.3 Substring EM)。 • SimpleMem的Planning Only优于No Planning,且优于Planning + Reflect(20.7 vs 18.7 vs 20.0 Answer F1,90.6 vs 86.4 vs 88.6严格召回)。
结论是:适度的结构加入(融合、查询规划)有效;但一旦路由路径确定,额外反思主要增加开销而不带来收益。
M4:维护 — 保守合并优于延迟刷新和过粗摘要
• MemoryOS的Conservative-Merge比默认略好(23.5 vs 23.2 Answer F1,22.8 vs 22.4 Substring EM); • Delayed-Flush显著下降(20.6/19.5); • MemoChat强制单话题摘要低于默认多话题合并。
研究者建议:维护应选择性合并,既不要不及时写入(延迟刷新导致查询时证据碎片化),也不要过度压缩(过粗摘要丢失稀疏但有用的线索)。
九个可落地的发现
研究者在论文里总结了九条发现,每条都是可直接用于决策的判断:
• Finding 1(workload对齐):强记忆系统不是由单一表示定义的,而是由它是否匹配任务瓶颈定义的。跨会话推理选关系/时序感知;长语义对话选粗到细过滤;有状态执行选保留交互轨迹。 • Finding 2(证据组织优先于排序):检索质量更取决于“能否把分散证据组装起来”,而不是“第一条有多准”。显式结构(链接或层级)在证据分散或时间距离大时最有用,纯稠密检索只在短期访问时有效。 • Finding 3(时序更新是管线问题,不是模型能力问题):可修正性要内建于表示层(让新事实绑定到同一实体/事件),而不是作为无差别文本追加。LLM规模提升只应该在定位成功后帮助表达,而不能作为解决陈旧/冲突记忆的主要手段。 • Finding 4(长周期靠“分层抽象”,不靠“存更多”):多视角过滤帮助处理干扰项;关系感知索引帮助跨多轮/多会话;粗到细摘要帮助先定位相关会话再解析局部细节。 • Finding 5(成本由维护范围决定,非结构类型决定):局部化更新/搜索给出最强性价比;丰富组织只在避免全局重算时有净收益,否则会被成本抵消。 • Finding 6(表示层保留原始内容最重要):抽象/层次化可以提升导航能力,但不能恢复已被丢弃的信息。精确召回场景下,保留原文本比任何摘要都更可靠。 • Finding 7(写时保持覆盖,不要过早过滤):粗粒度分段、有限重写、同时存储用户和助手消息,都能提升下游可回答性。精确抽取带来的表面指标提升,往往以牺牲组合推理为代价。 • Finding 8(检索改进来自针对性结构,非堆叠复杂度):适度混合融合效果好;轻量规划对约束型查找有效;路径指定后加反思收益有限,主要增加开销。 • Finding 9(维护取“平衡更新”,不取“激进合并”或“延迟冲刷”):保守集成保留跨轮次关联;延迟冲刷使近期证据在查询时仍碎片化;过粗摘要掩盖稀疏但有价值的线索。
记住这四个模块,你就能看懂任何记忆方案
研究者给Agent记忆下了一个精确的定义:它是一个持久化数据管理基础设施,而非无状态的RAG检索器。区别在于状态,记忆需要写入、更新、冲突解决和生命周期管理,而RAG不需要。基于这一定义,研究者把记忆系统拆成四个模块:表示、提取、检索、维护。这是整篇论文的分析骨架,也是你评估任何记忆方案时可以套用的思维框架。
文章来自于"AI修猫Prompt",作者 "AI修猫Prompt"。
Loading...

没有找到文章