Useful Memories Become Faulty When Continuously Updated by LLMs
论文阅读:Useful Memories Become Faulty When Continuously Updated by LLMs
论文标题:Useful Memories Become Faulty When Continuously Updated by LLMs
作者:Dylan Zhang, Yanshan Lin, Zhengkun Wu, Yihang Sun, Bingxuan Li, Dianqi Li, Hao Peng
发表位置:arXiv preprint
arXiv 编号:2605.12978
提交时间:2026 年 5 月 13 日
原文链接:https://arxiv.org/abs/2605.12978
主题:LLM Agent 长期记忆、外部记忆、经验压缩、memory consolidation
核心问题:当 LLM Agent 不更新模型权重,而是不断把历史轨迹总结成文本记忆时,这种“持续总结式记忆”是否真的会稳定提升 Agent 能力?
1. 论文要解决什么问题?
很多 LLM Agent 系统都会引入“长期记忆”。一个常见做法是:Agent 在完成任务后,把自己的交互轨迹、失败原因、成功经验总结成一段文本经验,然后写入一个可持续更新的 memory bank。之后遇到新任务时,Agent 再读取这些记忆,用它们指导推理和行动。
这种设计的吸引力在于,它看起来提供了一条“不更新模型参数”的自我改进路径。模型权重保持冻结,经验通过外部文本记忆积累、压缩和复用。论文摘要中也明确把这一类系统描述为:LLM 将过去轨迹改写成持续更新的文本记忆库,从而实现没有参数更新的 self-improving agents。
但这篇论文提出的问题是:LLM 真的能可靠地把经验压缩成有用记忆吗?
论文的核心发现是否定的。作者发现,即使输入给记忆系统的轨迹本身是有用的,甚至来自 ground-truth solution,经过多轮总结、合并、改写之后,生成的 consolidated memory 也可能逐渐失真。记忆的效用往往先上升,然后下降,甚至低于完全没有记忆的 baseline。
换句话说,这篇论文不是在质疑“Agent 是否应该有记忆”,而是在质疑一个更具体的默认假设:
做完任务 → 总结经验 → 更新长期记忆 → 下次继续用
这个循环不一定是单调改进的。
它可能把有用经验变成有害记忆。
2. 背景:episodic traces 与 consolidated abstractions
论文开头借用了认知科学中的记忆区分:学习过去经验通常依赖两类互补的记忆。
第一类是 episodic traces,即原始事件轨迹。它保留“发生了什么”:具体观察、动作、反馈、失败步骤、环境状态、任务上下文等。
第二类是 consolidated abstractions,即从多个 episode 中抽象出的、类似 schema 的经验规则。它不再记录完整过程,而是把多个案例压缩成可复用的经验,例如“遇到某类任务时,应该先检查某个条件”。
这两类记忆各有作用。原始 episode 信息完整,但随着任务数量增加,直接保存全部轨迹会变得越来越长,也不方便组合复用;抽象经验更紧凑,但总结过程会丢失细节,也可能把本来只适用于某些任务的规律写成过于通用的规则。
现有很多 agentic-memory 系统追求的是第二类记忆:把过去轨迹压缩成文本经验,并在新交互之后继续修改这个 memory bank。论文关注的正是这一类 consolidated textual memory。
作者认为,问题的关键不在于经验是否有价值,而在于:当前 LLM 是否有能力稳定地完成 consolidation 这个动作。如果每次更新都是一次有损改写,那么多轮更新后,memory bank 可能不是更精炼,而是越来越偏离原始证据。
3. 实验总体设置
论文在多个 Agent benchmark 和一个可控环境上研究记忆压缩的退化问题。实验覆盖 ALFWorld、ScienceWorld、WebShop、AppWorld、Mind2Web,以及作者构造的 ARC-AGI Stream。论文采用的代表性记忆方法包括 CLIN、Agent Workflow Memory、Dynamic Cheatsheet 和 ACE。
论文中的实验环境可以概括如下:
| 环境 | 主要用途 |
|---|---|
| ALFWorld | 观察任务轨迹被总结为记忆后,对任务成功率的影响 |
| ScienceWorld | 研究长程持续更新下记忆效用如何变化 |
| WebShop | 测试 Agent Workflow Memory 等方法在电商交互任务中的表现 |
| AppWorld | 检验抽象记忆与原始轨迹 baseline 的对比 |
| Mind2Web | 作为文本/网页 Agent 场景的一部分 |
| ARC-AGI Stream | 作者构造的可控环境,用于追踪记忆管理动作和失败机制 |
其中最关键的是 ARC-AGI Stream。普通 benchmark 只能看到最后任务是否成功,但很难判断记忆到底在哪里坏掉。ARC-AGI Stream 提供了更可控的设置:任务来自已知 family,有程序化 ground-truth solution,并且暴露出结构化的记忆管理动作。作者因此可以观察模型何时保留 episode,何时删除记忆,何时把多个 episode 压缩成 abstract memory。
ARC-AGI Stream 中维护两类存储:
| 存储 | 内容 | 作用 |
|---|---|---|
| Episodic buffer | 原始 problem-solution pair | 保存具体证据 |
| Abstract store | consolidated lessons | 保存压缩后的抽象经验 |
每一步中,模型可以执行三类动作:
| 动作 | 含义 |
|---|---|
| Retain | 保留一个原始 episode |
| Delete | 删除已有条目 |
| Consolidate | 将若干 episode 压缩成抽象经验 |
论文比较了三种控制模式:
| 模式 | 含义 |
|---|---|
| Force | 每一轮都强制 consolidation,且 episode 不持续保留 |
| Auto | 允许模型自己决定保留、删除或压缩 |
| Episodic Management Only | 只允许保留和删除原始 episode,完全禁用 abstraction |
这个设置使论文可以直接检验一个问题:如果不强制模型每次都总结,效果会不会更好?
4. 主要发现一:持续更新的抽象记忆会非单调退化
论文最重要的实验现象是:抽象记忆的效用不是随着经验增加而单调上升,而是经常出现“先提升、后退化”。
在 ScienceWorld 中,作者从空 memory store 开始,每次用一小批轨迹更新抽象记忆。结果显示,记忆效用早期会上升,但随着更新步数继续增加,性能开始下降;在某些条件下,甚至低于 no-memory baseline。论文在 WebShop 上也观察到类似趋势:AWM 在 8 个例子时表现较好,但随着例子数量增加到 128,成功率降到接近无记忆水平。

【Figure 1。该图展示 ScienceWorld 和 WebShop 中,memory utility 随 consolidation 增加先升后降的现象。】
这个结果说明,memory bank 变大并不必然更好。更多经验经过持续压缩后,可能带来更多错误归纳、更多无关规则和更多互相干扰的经验。
论文还指出,即使起始 memory 很强,也不意味着它在后续更新中稳定。作者先用较强模型构造一个高质量 ALFWorld memory,然后继续用新的 batch 更新它,最后发现不同 solver 上的效用都会下降。这里的问题不是“初始记忆不好”,而是持续 rewrite 本身会持续侵蚀记忆。
5. 主要发现二:Agent 会在自己已经解出的题上退步
论文中最干净、也最有冲击力的实验来自 ARC-AGI。
作者选取一组 GPT-5.4 在无记忆条件下可以 100% 解出的 ARC-AGI 问题。然后,作者给 consolidation loop 输入这些问题的 ground-truth solution,也就是说,输入轨迹本身是正确且有用的。按理说,这应该是对记忆系统最有利的情况。
但实验结果是:当这些问题以 streaming 的方式逐步进入记忆更新过程后,GPT-5.4 在同一组原本已经能解出的题上,准确率下降到 52.6%。论文摘要中也概括说,在根据 ground-truth solution 进行 consolidation 后,GPT-5.4 在一组此前无记忆可解的 ARC-AGI 问题上失败了 54%。

【Figure 2。该图对比 Static 与 Stream:Static 多轮 refresh 后仍接近 ceiling,而 Stream 在第 10 轮下降到 52.6%。】
这个实验排除了一个常见解释:退化不是因为输入轨迹质量差。因为这里的输入是 ground-truth solution。退化更可能来自 consolidation 过程本身:模型在压缩、合并、改写这些正确经验时,生成了会误导后续求解的记忆。
6. 主要发现三:同一批轨迹,更新方式不同,最后记忆也不同
论文进一步说明,记忆退化不仅和“内容”有关,也和“更新方式”有关。
作者比较了几种 memory construction condition:
| 条件 | 含义 |
|---|---|
| Static-All | 将全部轨迹一次性输入,整体总结成 memory |
| Static-Group | 按任务类型分别总结,然后拼接 |
| Stream | 按 batch 持续更新 memory,模拟 Agent 长期运行过程 |
实验显示,按任务类型分组的 Static-Group 通常优于把异质任务混在一起总结的 Static-All;而在同样轨迹池固定的情况下,Stream 又显著弱于一次性 whole-pool consolidation。论文在 Figure 3 中报告,streaming consolidation 相比 whole-batch pool 损失了 17 到 38 个点。

【Figure 3。该图展示不同模型下 No Memory、Summary、Grouped、Ungrouped、Stream 的准确率差异。】
这说明 memory consolidation 有明显路径依赖。早期总结中的小错误会成为后续更新的上下文,被继续引用、放大、重写。持续更新不像“反复打磨同一段知识”,更像“在已经有误差的文本上继续改写”。
论文还发现,在 streaming 场景中,batch 的组成也很重要。如果一个 batch 混入异质任务,模型更容易把不相干的经验合并成同一条规则,从而加速记忆侵蚀。
7. 原始轨迹本身是很强的 baseline
既然 consolidation 会丢失信息,一个自然问题是:如果不总结,只保留原始轨迹会怎样?
论文在 WebShop、ALFWorld 和 AppWorld 中比较了 lesson-style consolidated memory 与 episodic-only memory。episodic-only memory 的做法很简单:不做跨轨迹抽象,只把原始 rollout 作为 in-context demonstration 放入上下文中。
结果显示,很多情况下,抽象记忆并不能显著超过直接使用原始轨迹。论文认为,这说明原始经验中本来就包含可被 solver 使用的任务信号,例如观察、动作、中间失败和环境反馈;而这些信息在总结成抽象 lesson 时可能被丢掉。
论文因此提出一个方法论建议:
如果一个 memory 方法的价值依赖于 distillation,那么它应该与它所压缩的 unabstracted rollouts 进行对比。
也就是说,不能只比较“有记忆”和“无记忆”。还应该比较:
无记忆
vs.
原始轨迹作为记忆
vs.
压缩后的抽象记忆

浙公网安备 33010602011771号