【论文阅读】Agent 记忆机制(53):Experience-Following——为什么错误经验会在记忆中不断传播

文章目录

  • 前言
  • 零、论文基本信息
  • 一、背景与问题
    • [1. 本文研究的是 Episodic Memory](#1. 本文研究的是 Episodic Memory)
    • [2. 动态记忆与静态 RAG 的差异](#2. 动态记忆与静态 RAG 的差异)
    • [3. 为什么只研究 Addition 与 Deletion](#3. 为什么只研究 Addition 与 Deletion)
  • 二、相关工作与本文定位
    • [1. 记忆结构研究解决什么](#1. 记忆结构研究解决什么)
    • [2. 记忆管理优化研究解决什么](#2. 记忆管理优化研究解决什么)
  • 三、统一实验框架
    • [1. 记忆工作流](#1. 记忆工作流)
    • [2. 四类 Agent](#2. 四类 Agent)
    • [3. RegAgent 为什么重要](#3. RegAgent 为什么重要)
    • [4. 三个真实 Agent 的设置](#4. 三个真实 Agent 的设置)
      • [4.1 EHRAgent](#4.1 EHRAgent)
      • [4.2 AgentDriver](#4.2 AgentDriver)
      • [4.3 CIC-IoT Agent](#4.3 CIC-IoT Agent)
  • [四、Memory Addition:写得越多,不一定学得越多](#四、Memory Addition:写得越多,不一定学得越多)
    • [1. 四种写入策略](#1. 四种写入策略)
      • [Fixed Memory](#Fixed Memory)
      • [Add All](#Add All)
      • [Coarse Evaluator](#Coarse Evaluator)
      • [Strict Evaluator](#Strict Evaluator)
    • [2. 主结果:质量和容量共同决定性能](#2. 主结果:质量和容量共同决定性能)
    • [3. 小规模 evaluator 微调为什么值得](#3. 小规模 evaluator 微调为什么值得)
    • [4. 长期曲线揭示的差异](#4. 长期曲线揭示的差异)
  • 五、Experience-Following:输入越像,输出越像
    • [1. 定义](#1. 定义)
    • [2. 为什么 Fixed Memory 有时反而更强](#2. 为什么 Fixed Memory 有时反而更强)
    • [3. 这不是 GPT-4o-mini 的偶然现象](#3. 这不是 GPT-4o-mini 的偶然现象)
    • [4. 经验跟随是能力,不只是风险](#4. 经验跟随是能力,不只是风险)
  • [六、Error Propagation:错误怎样沿记忆回路扩散](#六、Error Propagation:错误怎样沿记忆回路扩散)
    • [1. 错误传播链](#1. 错误传播链)
    • [2. Error-Free 对照](#2. Error-Free 对照)
  • [七、Memory Deletion:删除的不只是旧内容,而是低效示范](#七、Memory Deletion:删除的不只是旧内容,而是低效示范)
    • [1. Periodical-Based Deletion](#1. Periodical-Based Deletion)
    • [2. History-Based Deletion](#2. History-Based Deletion)
    • [3. Combined Deletion](#3. Combined Deletion)
    • [4. 删除主实验](#4. 删除主实验)
    • [5. Periodic deletion 的结论](#5. Periodic deletion 的结论)
    • [6. History deletion 的结论](#6. History deletion 的结论)
    • [7. Combined deletion 的结论](#7. Combined deletion 的结论)
  • [八、Misaligned Experience Replay](#八、Misaligned Experience Replay)
    • [1. 正确经验为什么也可能不适合作示范](#1. 正确经验为什么也可能不适合作示范)
    • [2. 删除与保留记录的质量分布](#2. 删除与保留记录的质量分布)
  • 九、任务分布漂移
    • [1. 设置](#1. 设置)
    • [2. 结果](#2. 结果)
  • 十、内存容量约束
    • [1. 受限策略](#1. 受限策略)
    • [2. 结果与边界](#2. 结果与边界)
  • 十一、稳健性实验
    • [1. 不同 LLM backbone](#1. 不同 LLM backbone)
    • [2. 不同检索数量](#2. 不同检索数量)
    • [3. 删除超参数](#3. 删除超参数)
  • 十二、论文没有提供的消融与效率信息
  • [十三、与 Agent Memory 系列方法的横向比较](#十三、与 Agent Memory 系列方法的横向比较)
  • [十四、对 Coding Agent 的启发](#十四、对 Coding Agent 的启发)
    • [1. 不要把"任务成功"当作唯一写入条件](#1. 不要把“任务成功”当作唯一写入条件)
    • [2. 用未来 CI 结果给旧经验打分](#2. 用未来 CI 结果给旧经验打分)
    • [3. 记录 provenance,才能追踪错误传播](#3. 记录 provenance,才能追踪错误传播)
    • [4. 高相似报错要提高警惕](#4. 高相似报错要提高警惕)
  • [十五、对 Tool Agent 与 Multi-Agent 的启发](#十五、对 Tool Agent 与 Multi-Agent 的启发)
    • [1. Tool Agent](#1. Tool Agent)
    • [2. Multi-Agent](#2. Multi-Agent)
    • [3. 评价器本身也需要版本化](#3. 评价器本身也需要版本化)
  • 十六、局限性
    • [1. 只研究 Addition 与 Deletion](#1. 只研究 Addition 与 Deletion)
    • [2. 缺少理论保证](#2. 缺少理论保证)
    • [3. Strict evaluator 是近似 Oracle](#3. Strict evaluator 是近似 Oracle)
    • [4. Utility credit assignment 过于粗糙](#4. Utility credit assignment 过于粗糙)
    • [5. 相似度指标具有任务定制性](#5. 相似度指标具有任务定制性)
    • [6. Distribution shift 是人工重排](#6. Distribution shift 是人工重排)
    • [7. 隐私与合规没有讨论](#7. 隐私与合规没有讨论)
    • [8. 成本分析不足](#8. 成本分析不足)
  • 十七、我的理解和启发
    • [1. Agent Memory 本质上是一个在线数据飞轮](#1. Agent Memory 本质上是一个在线数据飞轮)
    • [2. 最危险的不是随机错误,而是相似错误](#2. 最危险的不是随机错误,而是相似错误)
    • [3. 一次成功不是经验价值,跨任务复用成功才是](#3. 一次成功不是经验价值,跨任务复用成功才是)
    • [4. Forgetting 应同时看时间与效用](#4. Forgetting 应同时看时间与效用)
    • [5. 记忆评估器可能比记忆结构更重要](#5. 记忆评估器可能比记忆结构更重要)
  • 十八、总结
  • 参考资料

前言

当一个 Agent 完成任务后,最自然的自我改进方式,是把这次执行保存下来。下次遇到相似问题时,系统检索过去的 query--trajectory,把它作为示例交给模型。

如果旧经验正确,Agent 可以少走弯路;如果旧经验错误,问题就复杂了。

例如,一个 Coding Agent 曾经错误地判断某次测试失败来自网络波动。系统把这段排查过程写入记忆。几天后出现相似报错,检索器把旧记录召回,模型沿用相同判断,又把新的错误排查轨迹写回记忆。随着类似任务不断出现,最初的一次误判可能复制成一整片"看起来彼此支持"的错误经验。

很多 Agent Memory 工作关注如何构造更丰富的记忆:A-MEM 让记忆动态关联,MAGMA 用多图表示多种关系,CoM 组织可调用的记忆内容,ReMemR1 在写入时回看历史,Mem²Evolve 让记忆管理策略演化。本文却退后一步,研究一个更基础的问题:

即使不引入复杂图、层级或反思,只看最基本的记忆写入和删除,记忆库的长期演化会怎样改变 Agent 行为?

作者在四类差异很大的 Agent 上进行受控实验,发现一个跨任务、跨模型的规律:当前 query 与检索经验的输入越相似,当前 execution 越倾向于复制经验中的输出。这被称为 Experience-Following Property(经验跟随性质)

它既是 Agent 从经验中学习的来源,也是两个风险的共同根因:

  • Error Propagation:错误轨迹被模仿并重新写回,导致错误沿时间传播;
  • Misaligned Experience Replay:某条经验自身可能"答对过",但作为当前任务示例时持续产生负面影响。

论文进一步发现,已经完成的未来任务能免费提供经验效用标签:如果某条记忆被召回后经常导致低质量执行,它就应被删除。基于这一观察,作者提出 history-based deletion,并结合 periodic deletion,在性能与记忆规模之间取得平衡。

本文的唯一核心增量可以概括为:

论文把动态 Agent 记忆的长期行为归结为"相似输入诱发相似输出"的经验跟随机制,并据此说明写入质量和基于未来效用的删除,比无筛选积累或只按频率遗忘更能决定长期性能。

这篇论文的重要性不在于提出一个复杂系统,而在于给 Agent Memory 提供了几条可以跨架构复用的经验规律。


零、论文基本信息


一、背景与问题

1. 本文研究的是 Episodic Memory

Agent 的长期记忆通常可分为:

  • Semantic Memory:世界知识、事实和环境规律;
  • Procedural Memory:规则、技能和操作流程;
  • Episodic Memory:过去某次任务的输入、执行过程与结果。

本文只研究 episodic memory。记忆库表示为:

D = { ( q 1 , e 1 ) , ( q 2 , e 2 ) , ... , ( q N , e N ) } \mathcal D=\{(q_1,e_1),(q_2,e_2),\dots,(q_N,e_N)\} D={(q1,e1),(q2,e2),...,(qN,eN)}

q i q_i qi 是过去任务 query, e i e_i ei 是 Agent 的 execution trajectory。需要处理新 query q q q 时,系统按照输入相似度,从 D \mathcal D D 中检索 K K K 条经验:

ξ K ⊂ D \xi_K\subset\mathcal D ξK⊂D

这些经验作为 in-context demonstrations,引导模型生成当前执行 e e e。

2. 动态记忆与静态 RAG 的差异

静态 RAG 的知识库通常由外部文档构成。即使检索失败,错误答案也不会自动写回知识库。

Agent 记忆则是一个反馈系统:

text 复制代码
检索旧经验
  ↓
生成当前执行
  ↓
评估当前执行
  ↓
写回为新经验
  ↓
影响未来任务

记忆内容由 Agent 自己不断产生,因此天然带噪。一个写入决策不仅影响当前样本,还会改变未来的检索候选和行为分布。

3. 为什么只研究 Addition 与 Deletion

现有系统还会做总结、合并、反思、图结构转换等操作。作者刻意只研究两种最基础、最通用的动作:

  • Addition :当前 ( q , e ) (q,e) (q,e) 是否进入记忆库;
  • Deletion :已有 ( q i , e i ) (q_i,e_i) (qi,ei) 是否被移除。

这样做牺牲了系统复杂度,却让实验更容易回答因果问题:长期性能变化究竟来自记忆数量,还是记忆质量?


二、相关工作与本文定位

1. 记忆结构研究解决什么

图、树、层级摘要和多粒度索引主要解决记忆的表达和访问问题:如何减少冗余、组织关系、支持多跳检索。

本文不与这些结构直接竞争。它研究一个更底层的条件:无论记忆最终存成向量、图节点还是文本摘要,只要旧 execution 会作为 demonstration 回到 prompt,就可能发生经验跟随。

2. 记忆管理优化研究解决什么

已有工作会把记忆管理建模成 MDP、EM 优化或特定任务策略。它们往往证明自己的策略有效,却较少解释"为什么错误记忆会持续伤害""删除哪种记忆真正有价值"。

本文的价值是把现象拆成:

  1. input similarity;
  2. output similarity;
  3. evaluator quality;
  4. future retrieval utility。

这些变量可以用于分析很多已有 Agent Memory 系统。


三、统一实验框架

1. 记忆工作流

论文 Figure 1,Memory Management Workflow。

对新完成的 ( q , e ) (q,e) (q,e),给定 evaluator π \pi π:

π ( q , e ) ∈ { 0 , 1 } \pi(q,e)\in\{0,1\} π(q,e)∈{0,1}

π ( q , e ) = 1 \pi(q,e)=1 π(q,e)=1 表示写入,0 表示丢弃。

作者比较四种 addition:

  1. Fixed Memory:从不添加;
  2. Add All:所有执行都添加;
  3. Coarse Selective Addition:自动 evaluator 判断;
  4. Strict Selective Addition:用接近 oracle 的严格标签判断。

2. 四类 Agent

论文没有只在聊天任务上验证,而是选取四种输入、输出和检索机制明显不同的 Agent。

Agent 任务 输入 输出 每次检索数
RegAgent 线性回归预测 6 维向量 数值 6
EHRAgent 电子病历问答/分析 文本 query 代码 4
AgentDriver 自动驾驶轨迹预测 车辆状态 轨迹 1
CIC-IoT Agent 物联网流量分类 数据包特征 推理与攻击类别 3

表源:论文 Table 3。该表说明四个实验对象覆盖数值回归、代码生成、轨迹规划和分类,experience-following 并非某一种输出格式特有。

大部分主实验使用 GPT-4o-mini 作为 Agent backbone,附录又在 GPT-4o、DeepSeek-V3、Qwen3-14B/32B 上做稳健性验证。

3. RegAgent 为什么重要

真实 Agent 很难知道"输出究竟错在哪里"。作者设计 RegAgent 作为可控环境:

y = w T x + ϵ y=w^Tx+\epsilon y=wTx+ϵ

x x x 是 6 维输入, w w w 未知, ϵ ∈ − 1 , 1 \epsilon\in-1,1 ϵ∈−1,1 是噪声。Agent 看到若干过去的 ( x , g u e s s ) (x,guess) (x,guess) demonstration 后预测新 y y y。

预测成功条件为:

∣ y ^ − y ∣ ≤ 1 |\hat y-y|\le 1 ∣y^−y∣≤1

它可以模仿最近示例,也可以从多个 demonstration 推断 w w w。因此研究者可以直接控制 memory noise、测量误差,并区分"推理"与"照抄相似经验"。

初始记忆 100 条,持续处理 4,000 个输入。

4. 三个真实 Agent 的设置

4.1 EHRAgent

使用 MIMIC-III,过滤重复和不可回答项后共 2,392 个任务。初始记忆 100 条,每次按文本 embedding 余弦相似度取 4 条;指标为 accuracy。

输入相似度来自 query embedding;输出相似度使用 pycode_similar 衡量当前代码与最相似经验代码的相似程度。

4.2 AgentDriver

从 nuScenes 测试集抽样 2,000 个样本,初始记忆 180 条。为可复现性,作者将原方法的"Top-3 后再让 LLM 选一个"简化为直接取向量相似度最高的 Top-1。

严格 evaluator 使用 UniAD 3 秒平均 L2 轨迹误差,低于 2.5 才写入;指标为 success rate。

4.3 CIC-IoT Agent

从 CIC-IoT 中保留能够仅凭 single-flow features 区分的 8 类流量,抽样 1,000 个测试样本。初始记忆 100 条,每次取 3 条经验,指标为 accuracy。

严格 evaluator 用字符串匹配检查 ground truth 是否出现在答案中。


四、Memory Addition:写得越多,不一定学得越多

1. 四种写入策略

Fixed Memory

π f i x e d ( q , e ) = 0 \pi_{fixed}(q,e)=0 πfixed(q,e)=0

记忆库永远不更新。它失去持续学习能力,却提供了重要对照:如果动态写入比它更差,说明新增经验的噪声大于数量收益。

Add All

π a l l ( q , e ) = 1 \pi_{all}(q,e)=1 πall(q,e)=1

所有轨迹无条件加入。它最大化容量,也最大化错误污染。

Coarse Evaluator

π a u t o m a t i c ( q , e ) = Automatic ⁡ ( q , e ) \pi_{automatic}(q,e)=\operatorname{Automatic}(q,e) πautomatic(q,e)=Automatic(q,e)

RegAgent 用误差阈值 1.6、1.4、1.2 形成 C1/C2/C3;其他 Agent 的 C1、C2 分别用 GPT-4o-mini、GPT-4.1-mini,C3 使用在 300 条正确判断数据上微调的 GPT-4.1-mini。

Strict Evaluator

π h u m a n ( q , e ) = Human ⁡ ( q , e ) \pi_{human}(q,e)=\operatorname{Human}(q,e) πhuman(q,e)=Human(q,e)

论文以 ground truth 规则模拟严格人工评估。它不是现实部署成本下的可用方案,而是用来估计高质量筛选的上界。

2. 主结果:质量和容量共同决定性能

策略 RegAgent SR EHRAgent ACC AgentDriver SR CIC-IoT ACC
Fixed 67.53 16.75 40.11 71.50
Add All 55.48 13.05 32.32 59.90
Coarse C1 63.18 26.19 36.92 74.00
Coarse C2 65.78 32.21 40.01 68.80
Coarse C3 67.35 34.66 47.37 79.50
Strict 70.95 38.50 51.00 85.40

表源:论文 Table 1。这里省略了 memory size 列以便阅读;原表显示 Add All 的记忆最大,而 Strict 虽保存更少,四个 Agent 的长期性能都最好。

最反直觉的结果是 Add All 全面差于 Fixed:

  • RegAgent 低 12.05 点;
  • EHRAgent 低 3.70 点;
  • AgentDriver 低 7.79 点;
  • CIC-IoT 低 11.60 点。

这说明"多经验"不是单调增益。错误 trajectory 一旦进入可检索池,会直接降低 demonstration 的平均质量。

3. 小规模 evaluator 微调为什么值得

C3 只使用 300 条判断数据微调 evaluator,却在 EHRAgent、AgentDriver 和 CIC-IoT 上明显优于未经微调的 C1/C2。

这支持一条实用原则:如果预算有限,与其训练更复杂的 memory architecture,不如先收集一小批高质量 trajectory evaluation 数据。写入门槛的错误会在未来被放大,因此 evaluator 的边际价值高于一次普通分类判断。

4. 长期曲线揭示的差异

论文 Figure 2,EHRAgent 与 AgentDriver 的长期性能曲线。

终点分数只告诉我们最后谁更好,曲线则显示错误如何积累。Fixed 基本保持稳定;Strict 随任务推进继续改善;Add All 可能先从新增经验受益,随后被噪声拖累。


五、Experience-Following:输入越像,输出越像

1. 定义

对每次 query,作者计算:

  • input similarity:当前 query 与被检索记忆 query 的相似度;
  • output similarity:当前 execution 与对应旧 execution 的相似度。

随后观察整个任务流上的累计均值和 Pearson correlation。

如果 input similarity 增加时 output similarity 也同步增加,说明模型不是仅把旧经验当背景知识,而是在行为上跟随它。

论文 Figure 3,Experience-Following Correlation。

2. 为什么 Fixed Memory 有时反而更强

Fixed 的输入与输出相似度都较低。模型找不到几乎一样的旧样本,只能更多依靠内部推理或从多个 demonstration 归纳规律。

Add All 虽然更容易召回高度相似记录,但如果这些记录有错,模型会更自信地模仿错误。于是"更相关"反而比"没那么相关"更危险。

3. 这不是 GPT-4o-mini 的偶然现象

附录在 GPT-4o、DeepSeek-V3、Qwen3-14B 和 Qwen3-32B 上得到相同方向。不同检索数量下相关性也保持较高:

  • RegAgent Add All 的 r r r 为 0.90--0.95;
  • CIC-IoT Add All 的 r r r 为 0.87--0.93。

这说明 experience-following 更像 in-context demonstration 的通用行为,而非某个 Agent prompt 的 bug。

4. 经验跟随是能力,不只是风险

严格 evaluator 下,经验跟随让 Agent 复制高质量 execution,从而产生真正的 test-time improvement。不能简单地通过降低输出相似度解决问题。

核心不是让模型"少跟随",而是让记忆库中值得跟随的经验比例更高。


六、Error Propagation:错误怎样沿记忆回路扩散

1. 错误传播链

text 复制代码
错误经验进入记忆
  ↓
相似任务召回该经验
  ↓
Experience-Following 复制错误模式
  ↓
新轨迹仍通过粗糙 evaluator
  ↓
新错误再次写入

错误传播的关键不是一条坏记录一直被使用,而是它会产生"后代"。

2. Error-Free 对照

作者对每种 addition 构造 error-free(EF)版本:检索的 query 完全相同,但将旧经验中的 LLM execution 替换成 ground-truth output。

这样可以隔离:同样的检索覆盖下,性能差距有多少来自 execution noise。

论文 Figure 4,真实 Agent 输出与 Error-Free Memory 的运行性能对比。

RegAgent 和 AgentDriver 都在很早出现真实记忆与 EF 记忆的差距;Add All 和 coarse 策略的差距继续扩大。

一个有趣反例是 AgentDriver 的 Strict:开始时落后于 EF,约 2,000 次执行后逐渐追平甚至超过。论文的解释是,ground-truth trajectory 并不一定是最适合作为 future demonstration 的轨迹,而 strict evaluator 可能保留了更适合复用的模型输出。

这也为后面的 misaligned replay 埋下伏笔:单条经验是否"正确",与它是否"适合教未来任务"并不完全相同。


七、Memory Deletion:删除的不只是旧内容,而是低效示范

1. Periodical-Based Deletion

设记忆 ( q i , e i ) (q_i,e_i) (qi,ei) 在时间 t t t 的累计检索次数为 f r t ( q i , e i ) fr_t(q_i,e_i) frt(qi,ei)。给定周期区间 t ′ , t t',t t′,t 与阈值 α \alpha α:

ϕ p e r ( q i , e i , t , t ′ ) = I f r t ( q i , e i ) − f r t ′ ( q i , e i ) ≤ α \phi_{per}(q_i,e_i,t,t')= \mathbb I\leftfr_t(q_i,e_i)-fr_{t'}(q_i,e_i)\\le\\alpha\\right ϕper(qi,ei,t,t′)=Ifrt(qi,ei)−frt′(qi,ei)≤α

长时间很少被检索的记录被删除。

这是一种"使用频率"策略。它能控制规模,却不能判断一个频繁被召回的经验是在帮助还是伤害 Agent。

2. History-Based Deletion

作者提出用未来任务结果衡量记忆 utility。某条经验每次被检索后,当前任务 evaluator 都会产生效用 Φ ( q m , e m ) \Phi(q_m,e_m) Φ(qm,em)。

只有当记录至少被检索 n n n 次,才估计平均效用:

δ ( q i , e i , t ) = I 1 f r t ( q i , e i ) ∑ m = 1 f r t ( q i , e i ) Φ ( q m , e m ) ≤ β \delta(q_i,e_i,t)= \mathbb I\left \\frac{1}{fr_t(q_i,e_i)} \\sum_{m=1}\^{fr_t(q_i,e_i)}\\Phi(q_m,e_m) \\le\\beta \\right δ(qi,ei,t)=I frt(qi,ei)1m=1∑frt(qi,ei)Φ(qm,em)≤β

删除条件为:

ϕ h i s t ( q i , e i , t ) = { δ ( q i , e i , t ) , f r t ( q i , e i ) > n 0 , otherwise \phi_{hist}(q_i,e_i,t)= \begin{cases} \delta(q_i,e_i,t), & fr_t(q_i,e_i)>n\\ 0, & \text{otherwise} \end{cases} ϕhist(qi,ei,t)={δ(qi,ei,t),0,frt(qi,ei)>notherwise

n n n 避免只凭一两次调用误判, β \beta β 是最低平均效用门槛。

这套方法最巧妙的地方是不需要重新人工标注旧记忆。未来任务原本就要被评估,这个结果可以反向归因给参与生成的 retrieved memory,成为近似免费的经验质量标签。

3. Combined Deletion

ϕ c o m b = ϕ p e r ∨ ϕ h i s t \phi_{comb}=\phi_{per}\lor\phi_{hist} ϕcomb=ϕper∨ϕhist

周期删除负责清理长期无用记录,历史删除负责清理频繁使用却持续带来坏结果的记录。

4. 删除主实验

Addition / Deletion RegAgent SR / Size EHRAgent ACC / Size AgentDriver SR / Size CIC-IoT ACC / Size
Coarse No deletion 63.18 / 3511 25.91 / 1447 36.92 / 1161 74.00 / 1030
Coarse Periodic 60.88 / 1012 26.65 / 338 36.38 / 426 78.10 / 355
Coarse History 62.10 / 3205 33.55 / 1004 34.00 / 1019 73.70 / 952
Coarse Combined 59.32 / 951 31.47 / 279 35.62 / 372 68.80 / 352
Strict No deletion 70.95 / 2938 38.67 / 1012 51.00 / 1178 85.40 / 904
Strict Periodic 67.65 / 949 38.59 / 302 50.94 / 467 80.80 / 310
Strict History 69.80 / 2286 42.06 / 784 51.81 / 846 89.60 / 788
Strict Combined 66.58 / 890 42.34 / 248 49.97 / 323 85.50 / 188

表源:论文 Table 2。性能与 memory size 必须一起看;粗体是这里为阅读方便标出的关键项,不是对原表格式的逐字复制。

5. Periodic deletion 的结论

Periodic 能将记忆规模压缩到原来的约三分之一甚至更低,而多数任务性能只小幅变化。例如 strict AgentDriver 从 51.00 降到 50.94,size 从 1,178 降到 467。

这说明 addition-only 系统确实积累了大量从未再次使用的冗余。

6. History deletion 的结论

严格 evaluator 下,History deletion 在三个真实 Agent 上提升性能:

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

RegAgent 从 70.95 降到 69.80,因为这个合成任务极度依赖大量相近 demonstrations,数量损失抵消了部分质量收益。

作者在附录做了 size-matched comparison:都只保留 1,000 条时,Strict + History 的 SR 为 74.4,Strict-only 为 72.8。这证明 RegAgent 原表中的下降主要来自 memory size,而不是 history deletion 删除了更好的记录。

7. Combined deletion 的结论

Combined 通常给出最小记忆。例如 strict EHRAgent 从 1,012 降到 248,同时 accuracy 从 38.67 升到 42.34;但 strict RegAgent 性能降到 66.58。

因此 Combined 是性能---存储折中,而不是在所有任务上都绝对最优。


八、Misaligned Experience Replay

1. 正确经验为什么也可能不适合作示范

一条 execution 当时通过 evaluator,只能说明它完成了原任务。未来 query 虽然在 embedding 空间相似,却可能在隐含目标、环境状态或正确推理路径上不同。

当这条经验作为 demonstration 持续导致低质量未来执行时,它就是 misaligned experience。

这和 error propagation 的区别是:

  • Error propagation 的起点是错误或有噪声的旧输出;
  • Misaligned replay 的旧输出可能自身正确,但不适合当前任务分布。

2. 删除与保留记录的质量分布

论文Figure 6,History-Based Deletion

即使 Strict addition 只允许误差不超过 1 的 RegAgent 记录进入,History deletion 仍更倾向删除误差大于 0.5 的样本。这说明"一次性合格"与"长期教学价值高"之间仍有差距。

附录的正确率进一步支持这一点:

  • EHRAgent GPT-4o-mini evaluator 下,保留记录正确率 44.1%,删除记录 36.3%;
  • CIC-IoT GPT-4.1-mini-FT 下,保留记录 86.6%,删除记录 61.0%。

但 AgentDriver 在 GPT-4o-mini evaluator 下出现反例:保留记录平均质量甚至低于删除记录。这说明如果 utility evaluator 不可靠,history-based deletion 也会系统性保错删对。


九、任务分布漂移

1. 设置

作者将 EHRAgent 和 AgentDriver 的 query embedding 用 GMM 分成三个 cluster,再按 cluster 重排测试流,制造显著的阶段性分布变化。

这种构造不是自然时间漂移,却能控制"前一阶段常见经验到下一阶段不再常见"的情况。

2. 结果

论文 Figure 7,Task Distribution Shift。

不同 Agent 的最佳策略并不一致:

  • AgentDriver 中,Strict addition 在漂移下甚至超过 no-shift variant;
  • EHRAgent 中,History deletion 不如 Combined;
  • Periodic deletion 虽不看质量,却能清除只在旧分布中频繁的经验,从而帮助适应。

这表明 under distribution shift 时,"过去很有用"不保证"未来仍有用"。History utility 是滞后指标,需要 periodic forgetting 补充时间适应性。


十、内存容量约束

1. 受限策略

作者将 EHRAgent 的容量固定为初始 100 条,AgentDriver 固定为 180 条。

每次 addition 后:

  1. 先做 periodic deletion;
  2. 如果仍超限,只删除平均 utility 最低的一条,而不是删掉所有低于 β \beta β 的记录。

这相当于在线维护一个按未来价值排序的有限经验池。

2. 结果与边界

论文 Figure 17,Unlimited 与 Limited Memory 对比。

论文 Figure 18,AgentDriver 不同容量上限与性能。

这组实验支持"更好地选"可以替代"无限地存",但论文只测了两个真实 Agent,也没有报告向量检索延迟、存储成本或删除计算开销。


十一、稳健性实验

1. 不同 LLM backbone

GPT-4o、DeepSeek-V3 和 Qwen3-14B/32B 都保持主趋势:Strict addition 优于 Add All,input/output similarity 保持正相关,History deletion 能区分高低质量记录。

Qwen 结果如下:

策略 Qwen3-32B SR Qwen3-14B SR
Add All 56.9 55.4
Coarse 67.9 65.7
Strict 72.9 72.9
Coarse + History 66.5 64.4
Strict + History 68.4 73.6

32B 上 Strict + History 低于 Strict,14B 上则略高。这再次说明删除带来的质量收益与容量损失之间存在模型和任务依赖。

2. 不同检索数量

RegAgent 分别检索 3、6、12 个 demonstration,Strict 始终优于 Add All;CIC-IoT 检索 1、3、5 条时也保持相同结论。

相关系数仍然很高,说明 experience-following 不依赖某个固定 Top-K。

3. 删除超参数

改变 minimum retrieval count、utility threshold β \beta β、period length 后,整体方向保持稳定,但数值差异明显。

例如 RegAgent periodic period 从 500 改成 100,SR 从 67.7 降到 53.2,说明过度频繁遗忘会显著破坏需要大样本池的任务。策略"形式稳健"不代表超参数不重要。


十二、论文没有提供的消融与效率信息

论文是一项 empirical study,不是模块堆叠式方法,因此没有传统神经网络消融表。但它通过以下受控对照完成机制拆解:

  • Fixed vs Add All:分离动态更新与静态记忆;
  • Coarse vs Strict:分离 evaluator quality;
  • Agent output vs Error-Free output:分离 execution noise;
  • Periodic vs History vs Combined:分离频率、效用和两者联合;
  • Size-matched deletion:分离 memory quality 与 memory quantity;
  • Different backbones / Top-K / thresholds:检验稳健性。

论文没有系统报告:

  • evaluator 的 token 成本和延迟;
  • history utility 的在线存储结构;
    -删除与检索时间复杂度;
  • 错误归因到多条同时召回记忆时如何分配 credit;
  • 大规模记忆库上的端到端吞吐。

因此,它能说明性能规律,却不能直接给出生产级成本结论。


十三、与 Agent Memory 系列方法的横向比较

方法 核心问题 主要机制 与本文的关系
A-MEM 记忆如何动态组织 记忆关联与演化 本文说明无论怎样组织,写入错误 experience 都可能被相似任务复制
MAGMA 多种关系如何共同支持检索 多图结构 本文提醒图检索的高相关节点也可能放大错误输出
CoM 怎样组织和调用记忆内容 结构化记忆使用 本文聚焦 episodic query--execution demonstrations 的行为影响
ReMemR1 写入时如何回看历史 Revisitable memory update 本文不是让写入模型回看,而是用 trajectory evaluator 决定是否写入
Mem²Evolve 记忆系统如何随任务演化 管理策略自进化 本文提供了可用于演化的信号:未来任务 utility
Cognitive Scaffold 怎样控制长轨迹上下文与图记忆 结晶与主动回访 本文指出写入图前仍应严格筛选 execution quality
SteeM 检索出的记忆应影响输出多少 可控 memory dependence SteeM 控制跟随强度;本文控制什么经验值得被跟随
本文 基础 Addition/Deletion 如何影响长期行为 evaluator-guided 写入与 future-utility 删除 重点是揭示 experience-following、error propagation 与 misaligned replay

SteeM 与本文尤其互补:本文提高 demonstration 的质量,SteeM 让用户控制当前回答对 demonstration 的依赖程度。一个可靠 Agent 既要"库里少放坏经验",也要"这次知道该跟随多少"。


十四、对 Coding Agent 的启发

以下是基于论文结论的工程推演,不是论文直接实验。

1. 不要把"任务成功"当作唯一写入条件

代码最终通过测试,不代表 trajectory 适合复用。过程中可能包含:

  • 偶然修好的错误;
  • 无关的大范围修改;
  • 被后续步骤推翻的诊断;
  • 环境专属 workaround;
  • 依赖过期版本的命令。

写入 evaluator 应同时检查最终测试、变更最小性、根因解释、适用版本和副作用。

2. 用未来 CI 结果给旧经验打分

如果某条修复经验被召回后:

  • 新补丁多次通过相关测试;
  • review 很少要求返工;
  • 没有引入回归;

它的 utility 应上升。反之,多次导致错误修改或被回滚,应降低权重并最终删除。

这正是 history-based deletion 在 Coding Agent 中的自然映射。

3. 记录 provenance,才能追踪错误传播

新 memory 应记录"本次生成检索了哪些旧经验"。否则后来发现错误时,系统无法识别是哪一条 demonstration 传播了坏模式,也无法做有根据的删除。

建议使用:

text 复制代码
memory_id
source_task
retrieved_parent_ids
verification_results
future_uses
future_success_rate
applicable_versions

4. 高相似报错要提高警惕

Experience-following 说明 query 越像,模型越可能复制旧修复。对于高度相似的错误日志,可以强制加入一个独立验证步骤:先判断环境、版本和根因是否真正一致,再允许复用 patch。


十五、对 Tool Agent 与 Multi-Agent 的启发

1. Tool Agent

工具轨迹是否值得写入,不应只看最终 API 返回 200。还要检查:

  • 参数是否最小必要;
  • 是否发生了不可见副作用;
  • 是否经过重试才偶然成功;
  • 凭证、区域、时间窗口是否具有环境依赖;
  • 当前成功路径能否安全用于相似任务。

future utility 可以由后续工具执行成功率、人工撤销率和异常率构成。

2. Multi-Agent

多个 Agent 共享经验池时,错误传播更快:一个 Agent 的错误 execution 可能成为全体 demonstration。

可以为每条经验保留:生产者 Agent、验证者 Agent、适用角色、被不同 Agent 使用后的成功率。只有跨角色验证稳定的经验才升级为共享记忆;其余保留在局部池。

3. 评价器本身也需要版本化

论文显示粗 evaluator 可能让 history deletion 保错删对。生产系统必须记录一条 memory 是被哪个 evaluator 版本批准、以后又由哪个版本评分。评价标准变化时,应允许重新审计旧记忆。


十六、局限性

1. 只研究 Addition 与 Deletion

作者明确承认没有研究合并、总结、反思和结构转换。这些操作会重写 memory content,可能改变 experience-following 的形式和错误传播路径。

2. 缺少理论保证

结论来自大量实证,没有证明 input/output similarity 必然相关,也没有给出在何种 evaluator error、任务分布和容量下 history deletion 保证提升。

3. Strict evaluator 是近似 Oracle

真实部署中往往没有 ground truth trajectory。Strict 结果主要说明"高质量判断值得投入",并不代表人类可以逐条低成本标注。

4. Utility credit assignment 过于粗糙

一次任务可能召回多条 memory,成功或失败却被用于评价每条参与记录。论文没有细致区分哪一条真正贡献了结果,可能误删协同有用、单独看不明显的经验。

5. 相似度指标具有任务定制性

数值用距离,代码用 plagiarism score,轨迹用 RBF,分类输出用 embedding similarity。跨任务规律一致,但这些分数不能直接比较,也可能漏掉"表面不同、策略相同"的模仿。

6. Distribution shift 是人工重排

GMM 聚类后按簇排序能制造突变,但与现实中渐变、周期变化和新类别出现不同。Periodic deletion 在真实漂移中的收益仍需在线验证。

7. 隐私与合规没有讨论

长期保存 query--execution 可能包含病历、驾驶数据和网络流量信息。哪些经验必须因合规而删除,不能只由 future utility 决定。

8. 成本分析不足

更强 evaluator、持续记录 retrieval history 和重复评估都会增加调用与存储成本。论文报告 memory size,却未给出 end-to-end token、延迟或金额。


十七、我的理解和启发

1. Agent Memory 本质上是一个在线数据飞轮

它不像普通数据库只是保存事实,而是不断生产下一批 in-context training examples。Addition 相当于在线数据采集,retrieval 相当于样本选择,generation 相当于临时学习,deletion 相当于数据清洗。

因此,记忆工程其实也是数据工程。

2. 最危险的不是随机错误,而是相似错误

随机错误可能很少被检索;与高频任务高度相似的错误,会反复成为最邻近 demonstration。它更容易复制,也更容易形成错误簇。

所以 memory evaluator 应优先审计"高相似、高召回、高影响"的记录,而不是平均分配检查预算。

3. 一次成功不是经验价值,跨任务复用成功才是

传统写入只在 execution 完成时判断质量。本文的 history-based deletion 给出更合理的定义:

一条经验的价值,不只由它当时是否正确决定,还由它后来作为示范时是否持续帮助新任务决定。

这让 memory quality 从静态标签变成时间累积的因果近似。

4. Forgetting 应同时看时间与效用

只按时间删,会删除很少使用但关键的经验;只按历史效用删,又对分布变化反应迟钝。Combined deletion 的意义不是公式复杂,而是承认两种遗忘原因:

  • 不再相关;
  • 持续有害。

未来还应加入风险和不可替代性:低频但涉及安全事故的经验不能轻易删除。

5. 记忆评估器可能比记忆结构更重要

Table 1 中,Add All 即使拥有最大的 memory bank 也最差;只用 300 条数据微调 evaluator 就带来明显长期提升。这提醒工程团队,先把写入门槛和反馈闭环做对,往往比立即上复杂知识图更重要。


十八、总结

本文用 RegAgent、EHRAgent、AgentDriver 和 CIC-IoT Agent 系统研究 episodic memory 的 Addition 与 Deletion。

最核心的发现是 experience-following:query 与旧经验输入越相似,模型 execution 越像旧输出。这种行为使高质量记忆带来自我改进,也让低质量记忆产生 error propagation;即使旧 execution 当时正确,也可能因不适合当前任务形成 misaligned experience replay。

主实验表明,无筛选 Add All 在四个 Agent 上都显著差于 Strict addition,甚至差于 Fixed Memory;基于未来任务 utility 的 History deletion 能在三个真实 Agent 上同时缩小记忆并提高性能,而 Combined deletion 提供更激进的规模---性能折中。

一句话总结:

Agent 会跟随最相似的过去,因此长期记忆的关键不是无限积累,而是用可靠评价器控制写入,再用未来任务结果持续淘汰"不值得被模仿"的经验。


参考资料

  1. How Memory Management Impacts LLM Agents: An Empirical Study of Experience-Following Behavior
  2. 论文正式 PDF
  3. 官方代码仓库
  4. AgentDriver: Agent-Based Autonomous Driving with Large Language Models
  5. EHRAgent: Code Empowers Large Language Models for Few-shot Complex Tabular Reasoning on Electronic Health Records
相关推荐
额,不知道写啥。1 小时前
从区间加一次函数到区间加多次函数最值-----区间数据结构与函数的一些东西(《浅谈函数最值的动态维护》的学习笔记)
数据结构·笔记·学习
艾莉丝努力练剑2 小时前
【AI大模型接入SDK】Provider分析与实现
c++·人工智能·学习·面试·大模型·llm
磁场转动100万匹2 小时前
PyTorch 手写数字识别实战:从数据加载到模型训练(零基础详解版)
人工智能·pytorch·python
TaoMetrix8 小时前
TaoMetrix:AI 硬件创业公司如何做好原型制造
人工智能·制造
智圣新创018 小时前
面向多级组织协同场景 高校第二课堂一站式管理中枢落地全场景实操答疑
大数据·人工智能
cd_949217218 小时前
AI纹理和Substance Painter手绘纹理哪个更适合游戏资产制作?
人工智能·游戏·substance painter
sali-tec9 小时前
C# 基于OpenCv的视觉工作流-章106-差值追踪
图像处理·人工智能·opencv·算法·计算机视觉
Shockang9 小时前
用 AI 打造高品质 Web 应用
人工智能
l1258659 小时前
# LangGraph Memory机制深度解析:短期记忆与长期记忆的工程实践
前端·人工智能·python·langchain·bootstrap