How Memory Management Impacts LLM Agents: An Empirical Study of Experience-Following Behavior

论文阅读:Memory 管理如何影响 LLM Agent——经验跟随行为的实证研究

论文标题:How Memory Management Impacts LLM Agents: An Empirical Study of Experience-Following Behavior
作者:Zidi Xiong, Yuping Lin, Wenya Xie, Pengfei He, Zirui Liu, Jiliang Tang, Himabindu Lakkaraju, Zhen Xiang
发表位置:ACL 2026 Main Conference,Volume 1: Long Papers
页码:623–645
arXiv 编号:2505.16067
论文页面:https://aclanthology.org/2026.acl-long.27/
论文 PDF:https://aclanthology.org/2026.acl-long.27.pdf
开源代码:https://github.com/yuplin2333/agent_memory_manage
主题:LLM Agent、Episodic Memory、Memory Addition、Memory Deletion、长期性能
核心问题:当 Agent 持续把自己的执行轨迹写入 Memory,并不断检索这些轨迹指导后续任务时,Memory 的添加和删除策略会如何改变 Agent 的长期行为?


1. 研究背景

为了让 LLM Agent 能够从过去的任务中积累经验,许多 Agent 系统会配置情景记忆(Episodic Memory)模块。

一条典型的情景记忆通常包含:

  • 过去的任务输入;
  • Agent 对该任务的执行过程;
  • 最终输出或执行结果。

处理新任务时,Agent 根据当前输入,从 Memory Bank 中检索若干相似的历史记录,并把它们作为 In-Context Learning 示例提供给 LLM。任务完成后,新的输入—执行轨迹又可能被写回 Memory Bank,供未来任务使用。

因此,Memory Bank 并不是一个静态知识库,而是一个随着 Agent 执行不断变化的动态经验池。

论文将一次基本的 Agent Memory 循环概括为:

  1. 接收当前任务查询;
  2. 从 Memory Bank 中检索相关经验;
  3. 将检索结果作为示例,生成当前执行轨迹;
  4. 评估当前执行;
  5. 决定是否把当前轨迹加入 Memory;
  6. 必要时删除部分已有记录。

image

【Figure 1(Agent 每次执行后的 Memory 管理工作流,包括读取、执行、添加与删除)】

以往工作提出了结构化改写、合并、摘要、反思等多种 Memory 管理方法,但这些方法往往针对特定任务或特定 Agent 架构。论文选择退回到两个最基础、最通用的操作:

  • Memory Addition:哪些新经验应该被写入;
  • Memory Deletion:哪些已有经验应该被删除。

作者希望借此研究一个更加基础的问题:Memory Bank 的动态演化究竟如何影响 Agent 的长期性能?


2. Agent Memory 的基本形式

假设当前 Memory Bank 包含若干条输入—执行记录:

D = {(q_1, e_1), ..., (q_N, e_N)}

其中:

  • q_i 表示第 i 条历史任务输入;
  • e_i 表示 Agent 对应的执行轨迹或输出。

面对新任务 q 时,Memory 系统通常按照以下方式运行。

2.1 Memory Reading

检索器根据当前任务与历史任务之间的输入相似度,从 Memory Bank 中选出最相关的 K 条记录。

例如,文本任务可以使用文本编码器将任务转换为向量,再通过余弦相似度进行检索。检索得到的输入—执行对随后作为示例放入 Prompt,引导 LLM 生成当前任务的执行轨迹 e

这里的检索主要依据“输入是否相似”,但真正被 LLM 复用的是历史记录中的“输出或执行轨迹”。

2.2 Memory Addition

当前任务完成后,系统需要决定是否将 (q, e) 写入 Memory Bank。

如果所有轨迹都被直接写入,Memory 会快速增长,但其中也会包含错误、次优或不适合重复使用的执行。

2.3 Memory Deletion

Memory Bank 不可能无限增长,因此系统还要删除过时、冗余或低价值的记录。

不过,“很少被检索”并不一定意味着“质量差”,“最初执行正确”也不一定意味着“适合作为未来任务的示例”。这使得删除标准的设计并不简单。


3. 实验中的四类 Agent

作者同时使用一个可控的合成 Agent 和三个面向真实任务的 Agent,以避免研究结论只适用于某一种输入、输出或检索形式。

Agent 任务 输入 输出 每次检索的经验数 初始 Memory
RegAgent 回归预测 六维输入向量 数值预测 6 100
EHRAgent 电子健康记录问答 自然语言医疗查询 查询代码及答案 4 100
AgentDriver 自动驾驶轨迹规划 自车状态、目标和历史轨迹 预测驾驶轨迹 1 180
CIC-IoT Agent IoT 网络流量分类 网络流量特征 推理过程及攻击类型 3 100

大部分主实验使用 GPT-4o-mini 作为 Agent 的 Backbone。附录还使用 GPT-4o、DeepSeek-V3、Qwen3-32B 和 Qwen3-14B 验证主要结论。

3.1 RegAgent:受控的合成环境

RegAgent 接收一个六维向量 x,需要预测一个未知线性映射的输出:

y = w^T x

Agent 不知道权重向量 w,只能根据从 Memory 中检索出的邻近输入及其历史预测结果进行推断。

这个环境具有三个作用:

  1. Agent 的决策明确依赖检索到的示例;
  2. Agent 可以推断潜在映射,也可以直接模仿最近的示例;
  3. 历史记录中的误差可以被精确计算。

初始 Memory 包含100条带有受控噪声的记录,长期实验再顺序处理4000个任务。当预测误差不超过1时,视为任务成功。

3.2 EHRAgent

EHRAgent 是面向电子健康记录的代码生成 Agent。它接收自然语言医疗问题,生成数据库查询代码,并在 MIMIC-III 数据上执行。

论文过滤重复和不可回答的问题后,共获得2392个任务。检索使用 text-embedding-3-large 生成文本表示,并从初始100条经验中取出最相似的4条。

最终指标为准确率 ACC。

3.3 AgentDriver

AgentDriver 是基于 LLM 的自动驾驶 Agent。论文使用 nuScenes 数据集,随机抽取2000个测试样本,初始 Memory 包含180条训练集经验。

原始 AgentDriver 先按向量相似度选出 Top-3,再让 LLM 从中选择一条。为了提高实验可复现性,本文将其简化为直接使用向量相似度最高的 Top-1 经验。

主要指标是驾驶轨迹的成功率 SR。严格评估器使用 UniAD 三秒平均 L2 距离判断轨迹质量,误差低于2.5的执行才能被加入 Memory。

3.4 CIC-IoT Agent

CIC-IoT Agent 根据单条网络流的特征判断流量类型。原始数据集包含34类攻击,作者移除了仅依靠单流特征无法区分的类别,最终保留8个类别,并随机抽取1000个测试样本。

Agent 每次按照特征相似度检索3条经验,初始 Memory 由 GPT-4o-mini 在独立训练子集上生成的100条记录构成。最终指标为分类准确率 ACC。


4. Memory Addition:不是加入得越多越好

论文首先研究不同的 Memory Addition 策略。

对于当前输入—执行对 (q, e),轨迹评估器需要输出一个二元决定:

  • 输出1:加入 Memory;
  • 输出0:丢弃该记录。

作者比较四类设置。

4.1 Fixed Memory

使用一批执行正确的训练数据初始化 Memory,此后不再加入任何新记录。

这种方法不能持续积累新经验,但也不会受到新产生错误的污染。

4.2 Add All

无条件保存 Agent 遇到的每一个任务及其执行轨迹。

这是最直接的“持续记忆”策略,但它假设所有新轨迹都值得被未来任务复用。

4.3 Coarse Selective Addition

使用自动评估器判断当前执行是否值得保存。论文设置三种不同能力的粗粒度评估器:

  • C1;
  • C2;
  • C3。

在 RegAgent 中,三者分别对应绝对误差阈值1.6、1.4和1.2,阈值越小,评估标准越严格。

在另外三个 Agent 中:

  • C1 使用 GPT-4o-mini 作为评估器;
  • C2 使用 GPT-4.1-mini;
  • C3 使用经过微调的 GPT-4.1-mini。

C3 只使用了300条带有正确判断标签的数据进行微调。

需要注意的是,这些粗粒度评估器本质上是自动轨迹评估器。在真实 Agent 实验中,C1 和 C2 主要依靠 LLM Judge 判断轨迹是否正确或合理,并不直接访问完整的 Ground Truth。

4.4 Strict Selective Addition

严格评估器模拟人类或 Oracle 评估:只有真正符合 Ground Truth 标准的执行才会被写入 Memory。

不同 Agent 的严格判断方式分别为:

Agent 严格评估方式
RegAgent 预测值与真实值的绝对误差不超过1
EHRAgent 生成答案与标准答案 Exact Match
AgentDriver 三秒平均 L2 轨迹误差低于2.5
CIC-IoT Agent 生成答案中包含正确类别标签

论文将该设置称为 Human Evaluation,但实验中并不是每次执行后真的由人类实时标注,而是利用 Ground Truth 模拟严格的人类或 Oracle 判断。


5. 添加实验结果:Memory 质量与规模共同决定长期性能

四类 Agent 的结果如下。SR 表示成功率,ACC 表示准确率,Memory Size 表示最终记忆条数。

添加策略 RegAgent SR ↑ Memory Size ↓ EHRAgent ACC ↑ Memory Size ↓ AgentDriver SR ↑ Memory Size ↓ CIC-IoT ACC ↑ Memory Size ↓
Fixed 67.53 100 16.75 100 40.11 180 71.50 50
Add All 55.48 4100 13.05 2411 32.32 2125 59.90 1050
Coarse C1 63.18 3511 26.19 1447 36.92 1161 74.00 1030
Coarse C2 65.78 3347 32.21 1467 40.01 1119 68.80 936
Coarse C3 67.35 3139 34.66 1094 47.37 1285 79.50 952
Strict 70.95 2938 38.50 1012 51.00 1178 85.40 904

结果说明,Memory 数量增多并不会自然带来性能提升。

Add All 在四类 Agent 上都比 Strict Addition 差,而且在多个任务上甚至低于完全不添加新经验的 Fixed Memory。这意味着,将低质量执行持续写回 Memory 可能比不学习新经验更加糟糕。

Fixed Memory 在 RegAgent、AgentDriver 和 CIC-IoT Agent 上保持了较强表现。虽然它无法自我改进,但它不会积累新的错误记录,因此比部分粗粒度添加策略更加稳定。

Strict Addition 在四类 Agent 上都取得了最高性能,表明长期性能同时受到两个因素影响:

  • Memory 是否覆盖了足够多的任务模式;
  • 新加入的经验是否具有足够高的质量。

只扩大 Memory 而不控制轨迹质量,会让 Agent 获得更多与当前输入相似、但输出错误的示例。

实验还表明,评估器能力会直接影响长期结果。仅使用300条高质量判断数据微调的 C3,已经明显优于直接使用通用 LLM 的 C1 和 C2。这说明 Vanilla LLM Judge 并不天然是可靠的轨迹质量过滤器。

从长期曲线看,Add All 和部分粗粒度策略的性能保持平坦甚至逐渐下降;Strict Addition 和 C3 则能够在执行过程中继续提升。


6. 经验跟随特性

6.1 什么是经验跟随?

作者分别计算:

  • 输入相似度:当前任务与检索到的历史任务有多相似;
  • 输出相似度:当前执行与被检索经验中的执行有多相似。

实验发现,随着输入相似度提高,当前输出与历史输出之间的相似度也会提高。作者将这一现象称为经验跟随特性(Experience-Following Property)。

换言之:

当前任务越像某条历史任务,Agent 就越倾向于沿用这条历史任务的执行方式。

image

【Figure 3(RegAgent 与 AgentDriver 中输入相似度和输出相似度的关系)】

在 RegAgent 的部分设置中,输入相似度与输出相似度之间的 Pearson 相关系数接近1。这说明当检索到的输入非常接近当前任务时,模型几乎会同步复用对应的历史输出。

Fixed Memory 的输入和输出相似度通常都较低。由于固定的少量经验不能覆盖所有新任务,Agent 无法总是找到高度相似的示例,因此还需要通过自身推理估计潜在映射。

当 Memory 不断扩张后,新任务更容易检索到高度相似的记录。此时,Agent 会更强地依赖经验模仿,而不是独立推理。

6.2 经验跟随的两面性

如果被检索经验是正确的,经验跟随可以帮助 Agent 快速复用有效解法,实现持续改进。

如果被检索经验是错误的,Agent 也可能忠实地重复其中的错误。

因此,经验跟随本身并不保证 Agent 变好。它实际上会放大 Memory Bank 的质量:

  • 高质量 Memory 越用越有效;
  • 低质量 Memory 越用越危险。

这也解释了为什么 Strict Addition 可以随着时间不断提高性能,而 Add All 可能随着 Memory 增长逐渐退化。


7. 错误传播:错误如何在 Memory 中不断扩散

经验跟随带来的第一个问题是错误传播(Error Propagation)。

它包含一个循环过程:

  1. Memory 中存在一条错误或包含错误中间步骤的经验;
  2. 新任务检索到这条经验;
  3. Agent 模仿该经验,产生新的错误执行;
  4. 新执行再次被加入 Memory;
  5. 后续更多相似任务检索到这些记录;
  6. 错误在 Memory Bank 中逐步累积并扩散。

即使最终答案看似正确,执行轨迹中也可能包含不正确的中间尝试。因此,即使有人检查最终结果,也未必能够完全避免错误经验进入 Memory。

7.1 Error-Free 对照实验

为了分离错误传播的影响,作者设计了 Error-Free 变体。

该变体保持每个任务检索到的经验不变,但将经验中的 Agent 输出替换为 Ground Truth 输出。这样,Memory 的检索范围和任务覆盖基本保持一致,而示例中的执行错误被移除。

image

【Figure 4(真实 Agent 输出与 Error-Free Ground Truth 经验之间的长期性能差距)】

RegAgent 和 AgentDriver 在正常设置下都迅速与 Error-Free 版本产生性能差距。

对于 Add All 和粗粒度添加策略,这个差距还会随着长期执行继续扩大,说明错误不是相互独立地出现,而是会通过“检索—模仿—写回”的闭环累积。

AgentDriver 的 Strict Addition 虽然早期落后于 Error-Free 版本,但在大约2000次执行后逐渐追上,甚至超过后者。作者据此强调,Memory 的效用不仅由单条轨迹是否接近 Ground Truth 决定,还受到经验数量、任务适用性及其对后续执行的实际帮助程度影响。


8. Memory Deletion

Memory Bank 无法无限扩张,因此论文进一步研究三种删除策略。

8.1 Periodical-Based Deletion

周期删除根据一条记录在最近一段时间内是否被检索来决定是否删除。

在时间区间内,如果某条记录的检索次数不超过阈值 alpha,系统便将其删除。

它主要回答的是:

这条经验最近是否仍然会被使用?

这种方法实现简单,能够删除长期未被检索的记录,并将 Memory 大小控制在一定范围内。但检索频率只反映使用次数,无法直接判断经验是否真正改善了后续任务。

8.2 History-Based Deletion

历史删除(History-Based Deletion)不只统计一条经验是否被检索,还记录它被检索后,后续任务执行得怎么样。

对于每条 Memory 记录,系统维护:

  • 历史检索次数;
  • 每次该记录参与检索后,当前任务得到的效用分数;
  • 多次检索对应的平均效用。

一条记录只有满足以下两个条件才会被删除:

  1. 它已经被检索至少 n 次;
  2. 这些检索对应的平均下游效用低于阈值 beta

要求至少被检索若干次,是为了避免仅根据一两次偶然失败就删除经验。

该策略回答的是:

这条经验被未来任务实际使用以后,通常会带来怎样的执行结果?

这里利用的不是额外为旧 Memory 逐条制作的新标签。Agent 本来就需要评估当前任务是否成功,而当前任务的评估结果可以反过来关联到本次检索到的历史记录,成为这条记录的下游效用信号。因此,论文将未来任务的执行评估视为一种“免费的质量标签”。

这也是历史删除的核心:一条经验最初被加入时可能看起来正确,但只有经过后续任务的反复使用,系统才能观察它是否真正适合作为示例。

8.3 Combined Deletion

组合删除同时应用周期删除和历史删除。满足任意一种删除条件的记录都会被移除。

它同时清理:

  • 很长时间没有被检索的低活跃记录;
  • 经常被使用,但实际下游效用较低的记录。

周期删除主要控制规模,历史删除主要改善经验质量,两者处理的是不同问题。


9. 删除实验结果

论文将三种删除策略分别与粗粒度 C1 Addition 和 Strict Addition 结合。

添加评估器 删除策略 RegAgent SR ↑ Memory Size ↓ EHRAgent ACC ↑ Memory Size ↓ AgentDriver SR ↑ Memory Size ↓ CIC-IoT ACC ↑ Memory Size ↓
C1 不删除 63.18 3511 25.91 1447 36.92 1161 74.00 1030
C1 周期删除 60.88 1012 26.65 338 36.38 426 78.10 355
C1 历史删除 62.10 3205 33.55 1004 34.00 1019 73.70 952
C1 组合删除 59.32 951 31.47 279 35.62 372 68.80 352
Strict 不删除 70.95 2938 38.67 1012 51.00 1178 85.40 904
Strict 周期删除 67.65 949 38.59 302 50.94 467 80.80 310
Strict 历史删除 69.80 2286 42.06 784 51.81 846 89.60 788
Strict 组合删除 66.58 890 42.34 248 49.97 323 85.50 188

9.1 周期删除能够清理大量冗余记录

周期删除显著压缩了 Memory,而且通常只带来较小的性能下降。

例如,在 Strict Addition 下:

  • AgentDriver 的 Memory 从1178条降至467条,成功率仅从51.00降至50.94;
  • EHRAgent 的 Memory 从1012条降至302条,准确率从38.67变为38.59。

这说明 Addition-Only 系统会积累大量很少被未来任务使用的冗余记录。

9.2 可靠的历史删除能够提升性能

在 Strict Evaluator 下,历史删除提高了三个真实 Agent 的性能:

  • EHRAgent:38.67 → 42.06;
  • AgentDriver:51.00 → 51.81;
  • CIC-IoT Agent:85.40 → 89.60。

这意味着即使某条经验最初通过了严格的加入标准,它仍然未必适合作为未来任务的示例。历史删除通过观察实际下游效用,可以进一步识别这些记录。

RegAgent 的历史删除结果略低于不删除版本:69.80 对 70.95。论文认为,这是因为该合成任务非常依赖较大的 Memory 覆盖范围。

为了排除 Memory 数量不同造成的影响,作者又从两种设置的最终 Memory 中各采样1000条高频记录,并在1000个新任务上测试:

策略 RegAgent SR ↑
Strict + History-Based Deletion 74.4
Strict Addition Only 72.8

在 Memory 数量相同的情况下,经过历史删除筛选的 Memory 表现更好,说明删除确实提高了平均经验质量。

9.3 组合删除更强调性能与规模的平衡

组合删除通常能够将 Memory 压缩到最小。

在 Strict Addition 下:

  • EHRAgent 只保留248条记录,准确率提高至42.34;
  • AgentDriver 保留323条记录,成功率为49.97;
  • CIC-IoT Agent 只保留188条记录,准确率为85.50。

因此,历史删除通常更有利于提高真实 Agent 的性能,而组合删除更适合同时考虑性能与存储开销的部署场景。

9.4 删除策略仍然依赖评估器质量

如果效用评估器本身比较粗糙,历史删除的效果会明显不稳定。

例如,使用 GPT-4o-mini 评估器时,历史删除能够提高 EHRAgent 的性能,却会降低 AgentDriver 的性能。经过微调的评估器则表现得更加稳定,通常可以在缩小 Memory 的同时维持与不删除版本接近的性能。

因此,历史删除并不会自动修正低质量评估器。它只是将评估器产生的信号从“控制新经验是否加入”进一步扩展到“判断旧经验是否保留”。如果信号本身不可靠,添加和删除都可能做出错误决定。


10. 错位经验回放

经验跟随带来的第二个问题是错位经验回放(Misaligned Experience Replay)。

某条记录可能在产生时执行正确,也通过了 Addition Evaluator,但当它被用于后续任务时,却仍然可能提供有限甚至有害的指导。

出现这种现象有两类原因:

  • 历史轨迹与当前任务的具体执行上下文不一致;
  • 评估器能力有限,将存在隐性错误的轨迹误判为高质量经验。

因此,“一条轨迹自身是否正确”和“它是否适合作为其他任务的示例”不是完全相同的问题。

10.1 为什么未来效用比初始正确性包含更多信息?

Addition Evaluator 只在轨迹刚生成时检查一次,回答:

这次执行看起来是否正确?

History-Based Deletion 则观察一条经验被多个未来任务使用后的实际结果,回答:

这条经验作为示例时,是否经常帮助未来任务成功?

第二种判断包含了经验与后续任务之间的适配关系。

一条经验即使最终答案正确,也可能包含:

  • 对特定上下文的偶然依赖;
  • 不适用于其他输入的中间操作;
  • 容易被模型错误模仿的推理路径;
  • 评估器当时没有识别出的局部错误。

10.2 被删除经验与保留经验的质量差异

作者在 RegAgent 上比较了历史删除所保留和移除的记录。

image

【Figure 6(History-Based Deletion 下被删除记录与保留记录的误差分布)】

结果显示,被保留记录的误差整体低于被删除记录。

即使在 Strict Addition 中,所有被加入记录的初始误差都不超过1,那些误差相对较高的经验,例如误差超过0.5的记录,仍然更容易在后续任务中传播误差,并最终因下游效用较低而被删除。

附录在 EHRAgent 和 CIC-IoT Agent 上也比较了被保留与被删除记录相对于 Ground Truth 的正确率:

Agent 记录类别 GPT-4o-mini GPT-4.1-mini GPT-4.1-mini-FT
EHRAgent 保留 44.1 49.1 54.8
EHRAgent 删除 36.3 32.1 48.2
CIC-IoT Agent 保留 78.9 72.2 86.6
CIC-IoT Agent 删除 56.7 55.1 61.0

大多数情况下,历史删除所保留记录的真实正确率更高。这说明由未来任务产生的效用信号,确实能够帮助区分经验质量。

不过,论文也报告了例外:在 AgentDriver 使用 GPT-4o-mini 评估器时,保留记录的平均质量反而低于被删除记录。这再次说明,历史效用机制是否有效取决于评估器能否正确判断下游执行。


11. 任务分布变化下的 Memory 管理

论文进一步研究任务分布漂移(Task Distribution Shift)。

作者首先为 EHRAgent 和 AgentDriver 的测试任务生成输入向量,然后使用高斯混合模型 GMM 将任务聚为三组,再按照聚类标签重新排列任务,使三类任务依次到来。

这种排列会让任务流在不同阶段呈现明显不同的分布。

作者比较:

  • Fixed Memory;
  • Strict Addition;
  • Strict Addition + History-Based Deletion;
  • Strict Addition + Combined Deletion;
  • 无分布漂移情况下的 Combined Deletion。

总体上,分布变化后的性能与无漂移版本之间差距较小。

在 AgentDriver 上,Strict Addition 甚至超过了无漂移条件下的组合删除版本。EHRAgent 的结果则有所不同:单独使用历史删除不如组合删除稳定。

作者据此指出,在存在任务分布漂移的实际场景中,简单的周期删除可能仍有作用。它能够清除在当前阶段很少被检索的旧任务经验,从而帮助 Memory 适应新的任务分布。

历史删除主要根据经验被使用后的质量判断是否保留,而周期删除能够直接处理“过去有用、现在不再常用”的记录。两者在分布变化场景下具有互补性。


12. Memory 容量受限场景

作者还将 EHRAgent 和 AgentDriver 的 Memory 容量分别限制在初始规模:

  • EHRAgent:最多100条;
  • AgentDriver:最多180条。

在该设置下,组合删除策略被调整为:

  1. 当前任务执行完成后,按照 Addition 策略加入新记录;
  2. 执行周期删除;
  3. 如果 Memory 仍然超过容量限制,则只删除平均历史效用最低的一条记录;
  4. 重复执行过程中始终维持容量上限。

实验表明,在严格容量限制下,合理的 Memory 管理仍然可以明显优于 Fixed Memory。

这说明 Agent 的长期改进并不要求 Memory 无限增长。关键在于持续替换低价值记录,使有限的 Memory 优先保留:

  • 与当前及未来任务相关的经验;
  • 本身质量较高的经验;
  • 在历史使用中带来较好下游结果的经验。

AgentDriver 的不同容量实验还显示,在使用严格效用评估器时,随着 Memory 容量增大,性能会逐渐收敛。这进一步表明,超过一定规模后,无限制积累新记录并非必要。


13. Backbone 与超参数鲁棒性

13.1 不同 LLM Backbone

论文在 GPT-4o 和 DeepSeek-V3 上复现了主要实验趋势,并在 RegAgent 上测试了 Qwen3-32B 与 Qwen3-14B。

策略 Qwen3-32B Qwen3-14B
Add All 56.9(相关系数0.74) 55.4(相关系数0.82)
Coarse Addition 67.9(相关系数0.69) 65.7(相关系数0.76)
Strict Addition 72.9(相关系数0.72) 72.9(相关系数0.89)
Coarse + History Deletion 66.5 64.4
Strict + History Deletion 68.4 73.6

不同模型上仍然可以观察到:

  • Strict Addition 优于 Add All;
  • 输入相似度与输出相似度保持较强相关;
  • 历史删除能够区分质量不同的经验。

13.2 不同检索数量

RegAgent 分别检索3、6、12条经验,CIC-IoT Agent 分别检索1、3、5条经验。不同设置下,经验跟随相关性仍然较高,而且 Strict Addition 基本持续优于 Add All。

这表明经验跟随现象并非由某一个固定的 Top-K 参数偶然造成。

13.3 不同删除参数

作者还改变了:

  • 一条记录被允许删除前所需的最少检索次数;
  • 历史效用阈值;
  • 周期删除的时间间隔。

在合理参数范围内,历史删除和周期删除的定性行为整体保持一致。不过,具体性能仍会随着阈值变化,尤其是过于频繁的周期删除可能明显损害 RegAgent,因为该任务比较依赖较大的经验覆盖范围。


14. 论文得出的 Memory 管理原则

综合添加、删除和挑战场景实验,论文给出了几项相互关联的结论。

14.1 Memory 不是越大越好

Add All 虽然拥有最大的 Memory,却经常得到最差的长期性能。Memory 规模只有在经验质量得到控制时才有帮助。

14.2 Agent 会强烈跟随相似经验

输入越相似,Agent 越可能复用历史输出。这种经验跟随行为是 Memory 能够促进持续学习的基础,也是错误能够长期传播的原因。

14.3 Addition Evaluator 是长期性能的关键组件

评估器的一次错误决定不只影响当前 Memory。错误经验还可能被反复检索、模仿并重新写入,从而产生长期影响。

直接使用未经适配的 Vanilla LLM Judge,可能不足以可靠地过滤执行轨迹。论文实验中,使用少量高质量判断数据微调的评估器表现得更加稳定。

14.4 初始正确不等于长期有用

Addition Evaluator 只能判断当前轨迹是否满足当时的任务要求,但无法完全判断它作为未来示例是否合适。

因此,Memory 系统还需要根据经验的真实使用历史重新估计其价值。

14.5 当前任务的评价可以成为旧经验的免费标签

当某条 Memory 被检索并参与当前执行时,当前任务的评估结果能够作为这条经验的下游效用信号。

这使系统无需逐条重新标注所有旧经验,也可以随着执行不断更新对 Memory 价值的判断。

14.6 添加和删除需要协同设计

选择性添加控制进入 Memory 的初始质量;历史删除根据未来效用进行二次筛选;周期删除则清理低活跃和可能过时的记录。

三者分别处理:

环节 主要问题
选择性添加 阻止明显错误或低质量轨迹进入 Memory
历史删除 移除初始合格、但实际复用价值较低的经验
周期删除 清理长期未使用、冗余或因分布变化而过时的经验

15. 论文局限性

论文明确指出了两方面局限。

15.1 只研究了添加和删除

为了获得跨 Agent、跨任务的通用观察,论文只研究了最基础的 Addition 和 Deletion,没有覆盖:

  • Memory 结构转换;
  • 多条经验合并;
  • Memory 摘要;
  • 基于反思的内容重写。

这些高级操作会直接改变 Memory 内容及其组织结构,而且通常依赖具体 Agent。本文关于经验跟随、错误传播和历史效用的结论能否直接扩展到这些复杂机制,还需要更细粒度的研究。

15.2 缺少理论保证

论文的结论主要来自大量受控实验,没有给出 Memory 动态与 Agent 长期性能之间的形式化理论证明。

Agent 系统包含 LLM 推理、检索、任务分布、轨迹评估和动态写回等多个相互作用的组件,因此获得严格理论保证较为困难。作者认为,可控的 RegAgent 环境可以为未来的理论研究提供基础。


16. 总结

这篇论文研究的不是如何构建一个更加复杂的 Agent Memory 架构,而是分析最基础的 Memory 添加和删除操作如何改变 Agent 的长期行为。

论文发现,带有 Memory 的 LLM Agent 存在明显的经验跟随特性:当前输入与检索经验的输入越相似,Agent 当前输出与历史输出也越相似。

这一行为同时带来两种结果:

  • 高质量经验可以被不断复用,推动 Agent 自我改进;
  • 错误经验也可能被不断模仿和写回,形成错误传播。

即使一条经验最初执行正确,也不代表它适合作为未来任务的示例。部分经验会导致错位经验回放,使相似任务受到不恰当轨迹的影响。

实验表明:

  1. 无条件加入所有执行通常会降低长期性能;
  2. 严格的选择性添加能够稳定提高性能;
  3. 评估器质量直接决定 Memory 管理质量;
  4. 未来任务的评估结果可以作为历史经验的下游效用标签;
  5. 可靠的历史删除能够移除实际复用价值较低的经验;
  6. 周期删除可以有效压缩 Memory,并在分布漂移下提供稳定作用;
  7. 合理管理的有限 Memory 可以优于不断增长但缺少筛选的 Memory。

因此,Agent Memory 的核心并不只是“能否记住更多”,而是能否持续判断哪些经验值得进入、哪些经验仍然有用,以及哪些经验正在通过检索和模仿损害未来执行。

参考

  1. Zidi Xiong, Yuping Lin, Wenya Xie, Pengfei He, Zirui Liu, Jiliang Tang, Himabindu Lakkaraju, Zhen Xiang. How Memory Management Impacts LLM Agents: An Empirical Study of Experience-Following Behavior. ACL 2026.
  2. ACL Anthology:https://aclanthology.org/2026.acl-long.27/
  3. arXiv:https://arxiv.org/abs/2505.16067
  4. 开源代码:https://github.com/yuplin2333/agent_memory_manage
posted @ 2026-09-14 20:41  YourF4u1t  阅读(19)  评论(0)    收藏  举报