[Paper] SWE-Replay:面向软件工程代理的高效测试时扩展

发布: (2026年1月30日 GMT+8 02:50)
7 分钟阅读
原文: arXiv

Source: arXiv - 2601.22129v1

Overview

论文 SWE‑Replay 解决了使用大语言模型(LLM)代理自动化软件工程(SWE)任务时的一个痛点:测试时的可扩展性。虽然多次运行代理(或“采样轨迹”)可以提升成功率,但也会导致计算成本大幅上升。SWE‑Replay 提出了一种巧妙的方法,能够复用先前运行的工作,从而在不牺牲性能——甚至有时还能提升性能——的情况下降低费用。

关键贡献

  • 基于回放的扩展: 引入首个在测试时使用整体或部分执行轨迹的扩展方法,而不是每次从头开始。
  • 动态探索‑或‑利用决策: 轻量启发式选择“分支点”,代理可以在此继续全新搜索或从先前成功的中间状态分叉。
  • 工具无关设计: 适用于生成自定义 bash 脚本或其他外部工具的现代 SWE 代理,避免依赖嘈杂的价值函数估计。
  • 实证收益: 在 SWE‑Bench Verified 基准上实现最高 17.4 % 成本降低 和最高 3.8 % 准确率提升
  • 广泛验证: 在 SWE‑Bench Pro 和多语言变体上表现出一致的收益,证明该方法在数据集和语言之间具有通用性。

方法论

  1. 收集初始轨迹: 在给定任务上运行目标 SWE 代理若干次,存储完整的动作序列(例如,仓库查询、bash 脚本生成、代码编辑)。
  2. 识别“关键”步骤: SWE‑Replay 并不使用单独的 LLM 来排名质量,而是评估每一步的潜在价值(它能解锁多少新的仓库信息)和推理重要性(该步骤在整体解决方案中的核心程度)。
  3. 分支逻辑:
    • 探索(Explore): 对于被判定为低潜力的步骤,系统会丢弃旧的轨迹并采样一条全新的轨迹。
    • 利用(Exploit / Replay): 对于高潜力的步骤,则从已存储的中间状态分叉出新的运行,复用已经执行的动作。
  4. 迭代扩展: 该过程循环进行,逐步构建可复用的子轨迹池。最终答案从得分最高的完整运行中选出(例如,使用标准的 SWE‑Bench 验证指标)。

整个流水线相比于重新执行大型语言模型和外部工具的高昂成本,仅增加了少量开销(元数据记录和启发式评分)。

结果与发现

基准测试朴素扩展(基线)SWE‑Replay成本降低准确率变化
SWE‑Bench Verified71.2 % pass@174.0 %‑17.4 %+3.8 %
SWE‑Bench Pro65.5 % → 66.9 %‑12.1 %
多语言(Java、Python…)58.3 % → 60.1 %‑15.8 %

关键要点

  • 效率提升: 通过复用工作,平均每个任务的 LLM 调用次数显著下降,直接转化为更低的 GPU 时间和 API 开支。
  • 鲁棒性: 选取分支点的启发式方法在不同语言和任务复杂度下均能有效,表明该方法并未对单一数据集过拟合。
  • 质量无损: 即使成本被削减,成功率仍保持平稳或有所提升,暗示许多“全新”运行本身就是冗余的。

实际影响

  • 更低成本的 CI/CD 流水线: 将基于 LLM 的代码审查员或自动化 bug 修复生成器嵌入团队后,可以进行更激进的扩展(例如,10 路抽样),而不会让云费用飙升。
  • 更快的原型开发: 尝试新提示或工具集成策略的开发者能够在更少的迭代中获得更高质量的结果。
  • 工具链兼容性: 由于 SWE‑Replay 不依赖于单独的价值模型,它可以直接嵌入已经调用 shell、Docker 或自定义脚本的现有代理中。
  • 可扩展的 SaaS 产品: 提供 “AI 辅助编码” 服务的公司可以在提升 SLA 指标(延迟、成功率)的同时,使运营成本保持可预测。

限制与未来工作

  • 启发式敏感性: 当前的潜在/重要性评分是手工构造的;在某些边缘情况(例如高度非确定性的工具)下可能会误判步骤,导致分支次优。
  • 内存开销: 存储完整轨迹,尤其是大型 Bash 脚本或容器快照,会在大规模工作负载下显著增加磁盘使用量。
  • 对 SWE 之外的泛化: 本文聚焦于软件工程代理;将 replay 思路应用到其他 LLM 驱动的领域(如数据分析笔记本)仍是一个未解的问题。
  • 未来方向: 作者建议从数据中学习 branch‑point policy,结合轻量级 value estimators 以补充启发式方法,并探索 hierarchical replay(在不同问题间复用子任务)。

作者

  • Yifeng Ding
  • Lingming Zhang

论文信息

  • arXiv ID: 2601.22129v1
  • 分类: cs.SE, cs.AI, cs.LG
  • 发布日期: 2026年1月29日
  • PDF: 下载 PDF
Back to Blog

相关文章

阅读更多 »