在代理式程序修复中设置完整回归前的证据门
在处理 bug 修复时运行编码代理的团队,可以加一个修复门,在定位、打补丁和验证之间保留失败测试证据。这个门应先拦截不可应用的 diff、语法错误和构建失败,再在完整回归套件之前重跑最初失败的测试。失败尝试应向代理返回结构化诊断,并保存最早的决定性错误步骤,供复查使用。
EviACT 给出了这个流程的具体版本:它把 RED 失败测试证据映射到可疑代码跨度,用编译门过滤无效补丁,并在回归前运行目标测试。使用 GPT-4o 时,它在 Defects4J 2.0 上报告了 25.0% 的解决率,在 SWE-bench Verified 上为 40.4%,在可获取基线成本的情况下,每个 bug 的 API 成本低 70.1% 到 88.6%。TrajAudit 补上了审计轨迹:它通过预测把运行带偏的第一步来诊断仓库级代理运行失败,在 RootSE 上的定位准确率比基线高 24.4 个百分点以上,同时使用的 token 至少少 18%。
一种低成本上线方式是在现有代理运行器和 CI 系统外面加一层包装。先在最近失败的代理补丁上运行它,比较被接受的修复、构建失败率、完整回归调用次数和每个被接受补丁的 token 数,再决定是否把这些门设为代理生成 pull request 的必经步骤。