On the Fragility of Self-Improving Agents: Variance, Task Order, and Underspecification
Qinyuan Ye, Yu Li, Yada Pruksachatkun, Jiaxin Zhang, Chien-Sheng Wu
cs.AI, cs.CL, cs.LG
2026-08-19
Salesforce 复现 AWM 与 ReasoningBank:默认顺序上 ReasoningBank 平均只加 1.5 分,随机打乱任务后掉 4.5 分;71% 的设定里方差比无记忆基线更大,最好最差 run 可差 10 个百分点。
记忆型自我改进 agent 一边做任务,一边把轨迹写成文本记忆,下次检索再用。AWM 从成功轨迹抽可复用工作流,ReasoningBank 从成败轨迹抽更泛的推理要点。先前论文按默认任务顺序、常常只跑一次,报出几个点的提升。
问题是这套评测默认了两件现实里站不住的事:任务按从易到难排好,以及一次 run 就能代表方法。企业场景里用户请求不会按 task ID 送来,一次失败也很难被「平均一下」抹掉。Salesforce AI Research 把 AWM 和 ReasoningBank 接到更强的 GPT-5-mini 基座上,在 WebArena、VisualWebArena、SCUBA 上各跑 3 次,再额外打乱任务顺序。
评测面扩了两轴:同一设定重复 3 次看方差;默认顺序之外再加 Shuffle-1、Shuffle-2。基线是无记忆 web agent(WebArena / VisualWebArena 用 WALT 系 harness,SCUBA 用原论文 harness),记忆方法叠在上面。记忆写入时故意喂了真实奖励,没用 LLM-as-judge 的代理奖励,以免 judge 噪声搅进分析。
WebArena 812 题、VisualWebArena 910 题、SCUBA 因网站改版筛掉失效题后剩 267 题。一次 WebArena 全量大约 25 美元,一次 SCUBA 大约 29 美元。
后面为了追「记忆为什么变差」,人工翻了 ReasoningBank 写出的条目,并在记忆构造阶段加三类信息做修补:
无记忆基线本身就不稳。WebArena GitLab(180 题)最好最差 run 差 4.44 个百分点,标准差 1.98%;VisualWebArena 单域最多差 2.4%,SCUBA 最多差 6.7%。把这当成「方法涨了 3 个点」完全可能只是一次好运。
叠上自我改进之后,24 组方差对比里 17 组(约 71%)方差变大,11 组相对增幅超过 50%。ReasoningBank 在 GitLab 的最好最差差到 7.78%,Map 差到 8.26%,Multisite 差到 10.42%。早期采样的偶然对错会写进记忆,后面的任务一直在用这份被污染的状态。
默认顺序下,提升已经变薄:
| 方法 | WebArena | VisualWebArena | SCUBA |
| 无记忆基线 | 54.8 | 54.9 | 49.6 |
| AWM | 54.1(-0.7) | 54.5(-0.4) | 50.1(+0.5) |
| ReasoningBank | 56.3(+1.5) | 55.6(+0.7) | 51.1(+1.5) |
WebArena 上 ReasoningBank 的 +1.5 对应 p=0.23(三 run 非配对 t 检验)。旧论文里 AWM 在 Claude-3.5-Sonnet 上从 32.7 到 36.3,ReasoningBank 在 Gemini-2.5-Pro 的 684 题子集上从 46.7 到 53.9;现在 GPT-5-mini 无记忆就已经 54.8(全量)/ 55.3(684 题子集),旧方法的空间被基座吃掉了。附录里 SCUBA 的严格 pass 只有 29.7%,主表 49.6 对齐的是 milestone。
默认顺序有隐含课程:无记忆基线的 30 题滑动成功率开局约 75%,task ID 过 150 掉到 40% 以下。Shuffle-1 上 WebArena 从 54.8% 掉到 AWM 49.1%、ReasoningBank 49.8%;8 组乱序设定里 6 组明显变差。摘要里的口径是:默认顺序 +1.5%,乱序 -4.5%。
失败记忆很具体。环境没说清「只能点浏览器」时,模型会写「去调 API」「等人确认」,评测环境里这两件事都做不了,agent 就干等到超时。Map 域里站点偶尔加载失败,模型改用 Haversine 公式估距离,蒙对几次就被写进记忆,越早写入后面检索越频繁。任务 118 要找磨牙症相关商品,模型理解成「去看牙医」,失败后再写下「给医疗建议前先收集患者信息」这种与购物无关的条目。
Shuffle-1 上把三类信息一起加进去,ReasoningBank 从 49.8% 回到 52.7%,补回大约 31% 的跌幅。Shuffle-2 上 +All 到 51.8%。乱序设定里仍然低于无记忆基线。
自我改进论文现在该改报告方式:至少多 run,并在乱序任务流上压一遍。默认顺序上的 +1.5 在乱序里会变成 -4.5,单次 run 里 3 个点的「提升」可能只是方差。
工程上,文本记忆不是已验证的教训,是未核对的假说。错的条目会传染。能看懂、能删、能改记忆,比再加一层自动总结更要紧。对已经很强的浏览 agent,旧式 AWM / ReasoningBank 带来的增益在统计上站不住。
作者承认:只覆盖浏览域的记忆方法,没测别的自我改进范式,也没跟上最新的记忆管理技巧;记忆检查是定性抽查,不是全量。修补实验只在 ReasoningBank 上做,AWM 有没有同样的 underspecification 结构,论文没平行验证。
三 run 对估标准差仍然偏少。SCUBA 主表用 milestone、附录才给 pass,跨表对比要小心。+Rub 把评测 rubric 喂给记忆模块,真实部署里用户不会在事后给你标准答案模板,这一项的增益不能直接搬到线上。乱序掉点里仍有约 69% 没被这三类信息解释掉。