Memory Tax:智能体记忆的净收益,为什么多数算下来是负的

给智能体加记忆,多数情况下算下来的净收益是负的。把参照系换成桌上最便宜的那个做法,也就是不对历史做任何加工、直接对原始对话做分块检索(naive RAG),11 个代表性记忆系统、3 个基准、3 个骨干模型组成的 99 个成绩格里,按项目页口径有 90 格低于这个基线。记忆税(memory tax)就是这道减法里的负项:同一道题上,记忆答错而直接检索答对的那部分,按题数或分数点记账。

这个数字不是判决,是一道算术题的结果。锚论文 Memory Tax 把「给智能体加记忆值不值」从默认假设改写成可逐题复算的减法,然后承认净值的符号会按系统与基准翻转。真正需要改掉的是对比习惯:过去多数记忆工作只跟别的记忆系统比,很少跟直接检索原始历史比。

多数记忆系统没跑赢直接检索,而过去的对比对象一直选错了

记忆的问题从来不是有没有用,而是有没有拿它跟桌上最便宜的那个做法比过。这里说的记忆,指把跨会话的信息留存下来供后续任务复用,通常由写入、存储、检索、注入四段构成,与长上下文、参数记忆不是一回事。它是一个有写路径的系统组件:构造与存储发生在查询之前,检索、注入与生成发生在查询时,这两段的成本性质完全不同,代价要分开算。

主结果覆盖 11 个记忆系统、3 个基准(LongMemEval-s、PersonaMem-v2、MINT-Eval)、3 个骨干模型(Qwen3.5-4B、Qwen3.6-27B、GPT-5.6 Luna),共 99 个成绩格。项目页写的口径是 90/99 低于 naive RAG,而这个统计量在论文正文里并不存在,是按 Table 1 的逐格差值复核出来的,复核结果是 90 格低于、9 格高于,与项目页吻合。两条基线必须同时交代:Table 1 的着色与差值相对 RAG (2rd),而 memory tax 的定义相对 RAG (1rd),后者分数更低一档。MemoryTax

直接检索这个基线本身很硬。LongMemEval-s 上,RAG (1rd) 与 RAG (2rd) 在 Qwen3.6-27B 上是 77.6 与 81.4,在 Qwen3.5-4B 上是 70.2 与 72.2,在 GPT-5.6 Luna 上是 82.0 与 90.0。论文还做了 RAG 消融,最差的 BM25-only 变体在 LongMemEval-s/Qwen3.6-27B 上仍有 68.2。同一个数据集上,被复核的记忆论文里只有 3 个报告过 RAG 结果,其余主要与别的记忆系统互比。

净值的符号会按系统与基准翻转,这一点决定了本文所有判断都必须带场景。论文挑选的 5 个代表系统在两个设定下的净值如下,单位是题数差,不是准确率百分点。

系统LongMemEval-s · Qwen3.6-27BMINT-Eval · GPT-5.6 Luna
A-Mem+9−43
SimpleMem−20−109
PlugMem−9+123
OpenViking−94−88
Mem-T−13+133

A-Mem 在一个基准上是正的,换到另一个就变成 −43;PlugMem 与 Mem-T 反过来,在 MINT 上分别拿到 +123 与 +133。所以「记忆不如 RAG」不是一个可以全局成立的说法,能成立的只有「在这批系统、这批基准、这批骨干上,多数格子的净值为负」。

净收益只能在同一个坐标系里算:逐题配对的分数差,和 token 账单是两本不能相加的账

算净值之前先问两件事:跟谁比、比的是什么单位。混用这两栏,后面每一个数字都会被读错。

定义是这样的:交互历史经记忆写入过程得到持久记忆,查询时检索出记忆单元,再生成答案。把最朴素的做法(对原始历史做最少加工、直接检索 chunk)放进同一个形式化框架,就是 naive RAG,它被全文当作参照系。于是同一批 query 被切成四段:两边都对、记忆对而 RAG 错(benefit)、记忆错而 RAG 对(tax)、两边都错。benefit 与 tax 都是逐题配对出来的计数,相减才是净值,单位是分数点或题数。

图注:同一张图上下两幅,分别对应 LongMemEval-s/Qwen3.6-27B 与 MINT/GPT-5.6 Luna。每幅用四段堆叠把同一批 query 切开:两边都对(米色)、记忆对而 RAG 错(蓝,benefit)、记忆错而 RAG 对(红,tax)、两边都错(灰),并在条末标出净值。读法是看蓝红两段谁更长,而不是比总分;net 是题数差,图中 5 个系统只是论文挑选的代表,不是 11 个系统的全表。MemoryTax

这张图同时是全篇的口径闸。benefit 永远是相对 naive RAG 的配对差值,不是记忆的绝对增益;tax 也不是把存储、检索、误用折算成货币的账单,而是同一批题上互相排斥的另一堆计数。

第二栏是成本空间,它和第一栏不能相加,也不能换算。论文自己只是把 token 成本、端到端时长、LLM 调用次数、记忆存储量作为成本侧指标并列报告,从没把它们折进净价值公式;本专题后面借用的存储、检索、误用三栏账是分析工具,不是论文结论。

分数空间成本空间
度量对象同一批 query 上记忆与 naive RAG 的逐题对错差每语料 token 成本、端到端时长、调用次数、存储量
单位分数点 / 题数token、秒、次、字节
基线RAG (1rd)视口径而定,常见 full-context 或 long-context
是否进入论文公式是,净值 = benefit − tax否,只并列报告
本专题的用法直接沿用存储维护、检索注入、误用三栏,属分析工具

还有三条报告纪律,各一句话。LongMemEval-s 这类基准结构上对检索友好,最朴素的 BM25 稀疏检索在按会话切分、键值同粒度的设定下 Recall@5 就有 0.634,干扰会话又被刻意构造得冲突最小,所以留给重型记忆的提升空间本来就窄。LongMemEval

评测方法本身也会伪造收益:把访问范围固定住之后,换用 query 感知的选择只值 +15.5 个百分点,而混合两格比较报出的 +68.7 个百分点里,有 +53.2 来自「能重排基线已经丢弃的材料」,也就是访问范围。Retain

指标效度同样不稳:词面 F1 与语义正确性会系统性错位,同一批模型换一套 judge prompt,绝对分就明显漂移,骨干模型的更换还会带来格式错误这类静默失败(silent failure)。这几条来自一份覆盖至 2026-05 的记忆系统综述,只能代表那个时点的版图。Anatomy

口径立完之后,代价这一侧的形状才看得清。下面这张图把准确率与每语料 token 成本放在同一坐标系里,气泡面积是记忆存储量。

图注:横轴是每语料 token 成本(对数刻度),纵轴是准确率,气泡面积对应记忆库存储的 token 数,灰色参照气泡是 RAG 的两个档位。它呈现的是一个形状而不是排名:多数记忆系统落在更靠右、也就是更贵的区域,却没有换到匹配的准确率。图里只有准确率与 token 成本两个轴,延迟、调用次数、存储量只藏在气泡大小里,所以只能读量级;图中的 RAG 参照点也不等于 tax 的定义基线。MemoryTax

成本不会消失,只会从写路径搬到读路径

换架构省不下成本,它只决定成本落在写路径还是读路径、落在离线还是用户可感的延迟里。说要省了多少之前,先交代相对谁、省的是哪一段。

记忆执行可以拆成一条流水线:查询进智能体,交互流经摄取进入构造与存储,也就是写路径;检索与提示拼装把记忆带回活动上下文,也就是读路径;中间还有维护。这条流水线的构造有四种形态:直接把历史留在提示里、不用 LLM 的确定性分块索引、由 LLM 按预定规则抽取事实或摘要、以及由 LLM 自主决定何时写与写什么。

图注:左侧是智能体的主回路,交互流经摄取进入标为写路径的「构造 + 存储」,再由标为读路径的「检索 + 提示拼装」把记忆条目送回智能体;右侧把整条流水线抽象成短期与长期两级记忆。这张图只负责告诉人钱在哪个盒子里转,它不含任何成本、时间、能量或 token 数字,因此不能据它判断哪个阶段更贵。AgentMemSys

把成本按构造、检索、生成三个阶段归因之后,量级的差别就出来了。

图注:三个并排面板,行序是同一批 9 个系统。最左面板是记忆构造的墙钟时间,对数刻度,最长的一行到约 13.3 小时;中间与右侧面板是每次查询的检索与生成耗时。读法是构造与每查询根本不在一个数量级上。注意最左面板的横轴是墙钟时间不是能量,图中也不含长上下文基线。AgentMemSys

同一批实测里,端到端能量跨度超过 26.5 倍(BM25 的 582 kJ 到 Letta 的 15,429 kJ),每正确答案的能量跨度超过 45 倍(4,128 J 到 185,873 J),而准确率只差约 20 个百分点。单样本构造上,BM25 的词法索引是 32 J,Mem0 的顺序事实抽取是 1,050 kJ,也就是说仅为 Mem0 构造一个样本,代价就是 BM25 在同一样本上整轮运行(构造加 60 次查询)的 9 倍。论文没有给出盈亏平衡的查询数,只给了方向性判据:高频查询加稳定历史适合把工作搬进构造,持续摄入加稀疏查询则适合低构造成本的系统。

换基线的对照最好用厂商自己的数字看。Mem0 报告相对 full-context 把 p95 总延迟压低 91%、注入 token 省下 90% 以上,按表复算是 p95 总延迟 1.440 s 对 17.117 s、查询时注入 token 1,764 对 26,031(均为 Mem0 对 full-context)。Mem0

同一张表里 full-context 的整体分数反而是最高的(72.90 对 Mem0 的 66.88),也就是说省下的成本是用准确率换的。更关键的是口径:这份数字的分母是 full-context,不是 naive RAG,而且只计读路径的检索与回答,写路径的抽取、更新与异步摘要成本论文没有给数字,所以总成本节省无法从论文复算。

图注:消息进入抽取阶段,产出候选记忆,再进更新阶段取回最相似的若干条已有记忆,由模型的工具调用在增、改、删、不动四种操作里选一种写回数据库;数据库同时供抽取阶段取摘要与近期消息。写路径与读路径共用同一个库,正好说明读路径省下的开销会在写路径另开一张单。图里没有任何 token、延迟或准确率数字,也没有画出查询时完整的检索注入环节,不能当作延迟分解图。Mem0

读路径还有一笔常被忽略的税:注入了不等于用上了。同一段证据被检索对了,放在长上下文中段照样会被浪费。

证据落在上下文的位置现象
最开头首因偏置,表现最好
中段显著变差;2023 年那批模型上最差情形低于完全不给文档的闭卷 56.1%
最末尾近因偏置,表现最好

这个 U 形在显式支持长上下文的模型上同样存在,4K 与 16K 两条曲线几乎重合,说明「窗口更大」不等于「更会用输入」。LostMiddle

同一篇工作还有个边际饱和的观察:检索文档从 20 条加到 50 条,GPT-3.5-Turbo 只涨约 1.5%、Claude-1.3 只涨约 1%,而上下文长度显著增加,延迟与成本照付。需要标注的是,这些结论绑定 2023 年的模型集合,只能引形状不能引强度;而且它研究的是上下文使用,不是智能体记忆,把它迁到注入策略上属于推论。

税主要来自构造与淘汰,而不是检索排序

税不是排序没排好,而是证据在写入时被改写、被埋进更长的文本里,或者在有界记忆下根本没活到查询那一刻。这个判断可以用一个反事实动作验证:把检索换成 gold memory units,也就是直接注入由原始证据构造出的正确记忆单元,检索被彻底排除,看 tax 还在不在。

图注:左右两组横条图,斜纹条是原始检索下的表现,实色条是换成 gold memory units 之后的表现,右侧红框给出 tax 在替换前后的数值。要看的是红框两边不相等:即使检索被排除,tax 仍然不为零,说明构造阶段已经丢了或扭曲了证据。红框里的数字单位是分数点,下降幅度只是保真归因的上界。MemoryTax

具体到 LongMemEval-s/Qwen3.6-27B,SimpleMem 的 tax 从 12.0 降到 8.8,OpenViking 从 28.0 到 24.2,MAGMA 从 15.0 到 6.4,Memory-R2 从 12.8 到 12.4。降了但没归零,剩下的部分说明构造这一关本身就有损。论文还人工标注了 500 条原始对话轮次做信息损失分级,从无损失、部分损失、重大损失到根本没有对应的记忆单元,OpenViking 的最后一档高达 38.0%。

保真不是唯一的税源。可达性一栏说的是证据还在,但被埋得更深:口语化的三种退化模式是碎片化(证据被拆散到多个单元,关键部分排位靠后)、稀释(证据被无关内容包裹)、改写(证据被改写后不再匹配原问法)。稳健性一栏说的是固定构造模型、只换回答骨干时,许多记忆系统的掉分大于 naive RAG,论文对这一条只给了定性结论与图示,没有逐系统数值表。

税源探测方法可引用的典型数值
保真只用 gold memory units 回放问答,排除检索SimpleMem 12.0→8.8、MAGMA 15.0→6.4
可达多轮检索回放,每轮移走已取回的单元记忆系统第一轮召回的 gold 单元普遍少于 RAG
稳健固定构造模型,只换回答骨干多个系统掉分大于 naive RAG,无数值表

这张表要按机制读,不是三项可相加的金额,任何两项相加都得不出一个总数。

「没存下来」与「取不回来」必须分开测,否则会把淘汰误记成排序问题。一组有界记忆的因子网格给出了硬上界:在每一种有界留存规则下,query 感知、稠密检索、oracle 三列的表现恰好等于该行的留存率。

留存规则query / dense / oracle 三列 recall该行留存率
recency46.8 / 46.8 / 46.846.8
frequency45.8 / 45.8 / 45.845.8
type-oracle70.3 / 70.3 / 70.370.3

更强的检索器在这里不是没用,而是算术上无法帮忙,因为暴露给模型的集合是留存集合的子集。Retain

同一份实验里,有界 recency 条件下 319 次失败全部是淘汰,挤出与相似度混淆各为 0。所以顺序永远是先问留住多少,再问能不能捞回。

长期弱证据最亏:收益上限低,而成本随规模与距离往上走

习惯归纳这类任务不是再存多一点就好,它的收益上限由证据强度决定,而成本随规模与距离单向上涨,这是净值翻负的固定配方。

长期弱证据指的是只由少量、间接、含噪的观察支撑的长期偏好或规律。人设记忆基准把这种形态操作化了出来:1,000 个用户人设、300 多个场景、20,000 多条偏好,多数偏好不是用户声明的,而是在改邮件、翻译、咨询这类任务型对话里顺带漏出来的,每条偏好被写成 2 到 6 轮对话,并刻意混入歧义样本,比如用户转述他人的话或拿假设问题试探。所以「记什么」本身就是一个判断,不是搬运。

图注:上半是把整段历史交给模型推理的训练策略,下半是把历史切成块、逐块由模型更新一条长度封顶的记忆,最后带记忆作答。机器人图标表示模型在执行记忆写入这一步,不表示另有一个独立的记忆模型。图里没有 token 数字,也没有检索路径,2k 与 32k 这些数字都出自正文。PersonaMem

难度数字压得很低。前沿模型在隐式个性化上的准确率区间是 37–48%(多选题口径),他人偏好归属只有 17.5±11.7%,反刻板偏好 33.0±5.0%,动态偏好 35.4±10.5%。作者自家的 agentic memory 用 2,048 token 的封顶记忆替代 32k 历史,输入 token 少 16 倍,拿到 55.2%。这个成绩必须带着两条限定读:它是基准作者自己的框架在自己构造的数据上取得的,而且全文没有 naive RAG 基线,那节 RAG 实验在源码里还只是注释掉的待办。同一基准的 20% 子集上,naive RAG 依然很强,两条证据要并置而不是只取一条。

距离这一侧的证据更硬。目标事实之后又流过 0–2、3–5、6–9 条事实时,近因留存下的召回是 100% → 58.5% → 0%,而无界留存的曲线恒为 100%。

图注:三个面板分别对应预算、距离与分解,这里只读中间那幅:横轴是目标之后又流过多少条事实,几条规则各自的召回随之下降,其中近因留存那条一路掉到 0,无界留存保持 100。它不是某个记忆系统的性能曲线,而是留存与选择规则的网格;0% 是合成流内的位置距离,作者明确不可外推成时间阈值。左侧面板还可看到预算小于暴露条数时选择完全不起作用。Retain

证据退远之后不是变难取,而是已经不在了,这与上一章 319 次失败全部是淘汰的结论是同一件事的两面。

弱证据本身还会被时间修订推一把。一组长时程干扰评测里,每段上下文平均含 86 次时间有序更新、平均 138.8k token、最长 1.8M token,7 个系统平均只有 27.9%;误差分解显示检索与构造先掉 41.7%,回答阶段再掉 25.2%,而加上显式时间标记后,全上下文基线的掉分从 13.22 降到 5.48。MINTEval

这张示意图把因果串起来:左边决定收益上限,右边决定代价走势,两边一起决定符号。

语料里 1.2% 的坏记忆就能抹掉三分之二的价值,所以准入、恢复、失效要成对出现

误用这一栏压不住,准入与失效必须成对设计;判断一个记忆方案该不该上,顺序永远是先定基线、再分栏、最后看场景。

误用成本已经能被写成剂量与反应的对应关系。在一份 500 题的长期记忆基准里抽出 120 题做对照,每题只放入 3 条伪造记忆,360 条合计占语料 1.2%,没有任何触发词、角色操纵或载荷,也没有对嵌入或检索器做优化。结果检索型记忆的准确率从干净的 0.850 掉到 0.300,只剩 35% 的价值。检索侧的数字解释了为什么只报准确率会低估问题:毒记忆在每一道题上都排第一,并占据检索上下文的 20.0%。Poison

图注:记忆生命周期上有两个防御拦截点,写入端是内容筛查,读取端是来源加权排序;红色虚线是这类攻击的路径,它不含可检测的载荷,因此绕过筛查直达存储,之后仅凭语义相似度参与竞争。这张图只负责把两组失败挂回结构,图中没有任何数字,拦截点存在既不表示它有效,也不表示它无效。Poison

两道门都没拦住,而且失败方式不同。这套写入筛查的确定性核心(前三阶段)在良性触发词文本上误报只有 1.5%,加入第四阶段分类器后升到 3.5%;四阶段版本在间接注入上召回 0.832,却对 360 条毒记忆一条都没拦住;作者的解释不是调参失败,而是方法边界,因为判断一句陈述真假通常需要被筛查文本之外的信息。读取端的出厂来源权重与完全不防御在统计上不可区分(p=0.80),因为相似度差距 0.32 每次都越过了出厂设定的 0.175 这道边际。Poison

这里必须收窄外推:这是单作者预印本、单一系统、单一基准与单一语料家族,攻击者还非自适应,所以攻击成功率是下界,不能当成所有记忆系统的安全水平。作者给出的建议是按「有界占用」给不可信内容在检索上下文里划配额,但这个门没有实现也没有评估。

与投毒并置的是良性过期,两者不能合并。同一类基准里的典型形态是同一事实从第 8 位修订到第 7 位,没有攻击者,只是信息自己变了。

图注:左栏是四个领域与五类题型,中栏是同一条事实被后续修订的例子,绿色框与粉色框分别给出修订前后两个取值,其中被改动的数字用下划线标出;右栏是作者归纳的三类失败模式,包括全上下文太贵且超窗、检索在冲突信息下取错源、记忆智能体只看最近一次改动而答不出回溯题。中栏是正常的信息修订,不是投毒;右栏是分类,不是实测曲线。MINTEval

还有一种机制被反复提起,但在这批材料里没有被测量:错误记忆被写回后置信度更高,形成随使用时长放大的回路。所有引用的工作都没有做过这个实验,所以它只能作为待验证假设,不能进结论。

设计动作分两条,都要带数字。一是让偏差可恢复:在正常记忆检索之外同时检索原始历史,两者联合 rerank 再作答。LongMemEval-s/Qwen3.6-27B 上,SimpleMem 从 73.6 分、tax 12.0 变成 82.8 分、tax 5.2,MemoryOS 从 73.4/11.4 到 76.4/7.8,Mem-T 从 75.0/10.8 到 80.0/5.2,同时提分降税。论文没有为这条机制做消融,所以收益归因仍属未证实。MemoryTax

二是让记忆可失效:随响应下发版本戳,让客户端按可机器比对的依据淘汰过期记忆。这套协议把节省拆成「版本有效比例 × 模型采纳率」两个因子相乘,任何一项为零,节省就归零。行级失效在 4/7 个模型上回收 29–33% token,而表级失效在 5/7 个模型上把漂移后的首试成功率打到 0%,协议本身带来 15.1% 的载荷开销。Invalidate

必须交代应用域:这篇研究的是 API 错误恢复建议的跨 episode 缓存,不是偏好记忆,偏好记忆没有服务端版本字典可依赖。另外,被测系统默认都不剪枝,存储单调增长,遗忘策略必须自带。

这四步就是一次成本审计。缺第一步,任何「省了多少」都无从复算;缺第二步,分数与 token 会被混算;缺第三步,结论会从「这批系统在这批基准上多为负」滑成「记忆无用」;缺第四步,剩下的就只有一张诊断书。

最后是边界。锚论文自述评测全部是静态、离线、英文,且用了分层子集,也没有纳入更强的前沿模型。更长周期的一侧已有对照:把环境换成按周回放的真实世界数据、让任务跨度以周计、动作稀疏时,「什么时候行动」本身就成了关键变量,而最优设计随任务与模型翻转,同一配置的种子间方差是每个任务的最大方差来源。ReLiveGym

这些都不改变前面的结论,只说明这本账还欠一行:真实产品级的长周期、交错查询、多语言部署,目前没有可复算的净值。

参考文献

本专题引用的核心资料如下,建议深入学习时阅读原文:

  1. Memory Tax: Dissecting the Net Value of Agent Memory — arXiv:2610.34073
  2. Agent Memory: Characterization and System Implications of Stateful Long-Horizon Workloads — arXiv:2606.06448
  3. Anatomy of Agentic Memory: Taxonomy and Empirical Analysis of Evaluation and System Limitations — arXiv:2602.19320
  4. PersonaMem-v2: Towards Personalized Intelligence via Learning Implicit User Personas and Agentic Memory — arXiv:2512.06688
  5. MINTEval: Evaluating Memory under Multi-Target Interference in Long-Horizon Agent Systems — arXiv:2605.18565
  6. LongMemEval: Benchmarking Chat Assistants on Long-Term Interactive Memory — arXiv:2410.10813
  7. Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory — arXiv:2504.19413
  8. Utility Under Attack: Agent Memory Poisoning and the Limits of Content Screening and Provenance Ranking — arXiv:2608.21230
  9. Lost in the Middle: How Language Models Use Long Contexts — arXiv:2307.03172
  10. What Should an Agent Remember? Disentangling Retention from Retrieval in Bounded-Memory Evaluation — arXiv:2610.00366
  11. ReLiveGym: Evaluating Long-Lived Agents over Weeks of Replayed Reality — arXiv:2610.00710
  12. Invalidation Contracts for Cross-Episode Agent Memory — arXiv:2609.00243
Memory Tax:智能体记忆的净收益,为什么多数算下来是负的