修复Agent失败记忆实验:提炼经验未显著优于保留交互记录
What Does a Repair Agent Gain from Remembering Its Failure? An Exploratory Study on Real Python Bugs
摘要
编码 Agent 修复任务失败后,通常会在重试时得到失败记录,例如交互记录、自写经验或提取的测试信号。本文研究这类失败记忆会怎样改变重试。针对75个 BugsInPy 缺陷,研究在五种条件下重试 gpt-5.4-mini 的181次失败尝试,采用预先声明的分析,并报告偏离该计划之处。两项预先声明的后续实验以更大的 gpt-5.4 重复单纯重试、交互记录和经验条件,并加入仅提示失败的对照。在暴露缺陷的测试上,每种记忆条件的点估计均高于单纯重试的29.8%基线,增益为5.5–9.9个百分点,但均不显著。此外有五项发现。第一,模型自写经验并不优于其概括的交互记录:差异为−1.7个百分点,95%置信区间为[−8.7,+4.9];gpt-5.4 的差异为−3.5个百分点,且自写经验多需一次模型调用。第二,交互记录的作用可能不止告知失败:仅通知失败没有显著改变,而在 gpt-5.4-mini 的156次失败子集运行中,交互记录比通知多解决12.2个百分点的失败,置信区间为[+4.2,+20.0];这是12项预先声明对比中唯一显著的一项,在 gpt-5.4 上则不显著。第三,事后分析中,带记忆的重试较少出现未修改任何 Python 文件便结束的情况;在有编辑的重试中,触及参考修复所修改文件的比例已接近上限。第四,事后的完整测试套件检查发现,还看到前次测试结果的重试,更常在参考修复能够通过的其他测试上失败,从而缩小其表面增益。第五,不同失败之间的结果差异远大于不同条件之间的差异;论文给出确证性研究所需的样本量。
