SWE-Replay: Efficient Test-Time Scaling for Software Engineering Agents
作者: Yifeng Ding, Lingming Zhang
分类: cs.SE, cs.AI, cs.LG
发布日期: 2026-01-29
💡 一句话要点
SWE-Replay:为软件工程Agent提供高效的测试时扩展方法
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 软件工程Agent 测试时扩展 轨迹重用 高效计算 动态分支
📋 核心要点
- 现有软件工程Agent的测试时扩展方法计算成本高昂,且依赖价值估计,可能导致模型校准不准和泛化性差。
- SWE-Replay通过重用历史轨迹,在关键步骤动态选择探索或利用已有经验,优化测试时扩展过程,无需依赖价值估计。
- 实验表明,SWE-Replay在SWE-Bench Verified上降低了高达17.4%的成本,同时保持甚至提高了高达3.8%的性能。
📝 摘要(中文)
测试时扩展已被广泛应用于增强大型语言模型(LLM)Agent在软件工程(SWE)任务中的能力。然而,从头开始重复采样轨迹的标准方法计算成本高昂。虽然最近的方法试图使用专门的价值Agent来降低成本,但它们可能受到模型校准不准确的影响,并且无法推广到合成自定义bash脚本作为工具的现代Agent。本文介绍了SWE-Replay,这是第一个高效且可推广的现代Agent测试时扩展技术,无需依赖潜在的噪声价值估计。SWE-Replay通过重用先前试验中的轨迹来优化扩展过程,动态选择从头开始探索或通过在关键中间步骤进行分支来利用存档的经验。中间步骤的选择由存储库探索的潜力和推理意义驱动,而不是基于外部LLM的质量估计。在SWE-Bench Verified上的评估表明,SWE-Replay始终优于朴素扩展,在保持甚至提高高达3.8%的性能的同时,降低了高达17.4%的成本。在SWE-Bench Pro和Multilingual上的进一步评估验证了SWE-Replay的通用性,确立了其作为软件工程Agent高效测试时扩展的强大基础。
🔬 方法详解
问题定义:现有软件工程Agent的测试时扩展方法,如重复采样轨迹,计算成本非常高昂。一些方法尝试使用价值Agent来降低成本,但这些价值Agent可能存在模型校准问题,并且难以泛化到使用自定义bash脚本作为工具的现代Agent。因此,如何高效且通用地扩展软件工程Agent的测试时能力是一个关键问题。
核心思路:SWE-Replay的核心思路是通过重用先前试验中的轨迹来优化扩展过程。它避免了从头开始重复采样,而是动态地选择在关键中间步骤进行分支,从而决定是继续探索新的轨迹还是利用已有的经验。这种方法旨在减少计算成本,同时保持或提高Agent的性能。
技术框架:SWE-Replay的技术框架主要包含以下几个阶段:1) 轨迹存储:存储先前试验中生成的轨迹数据。2) 关键步骤选择:基于存储库探索的潜力和推理意义,选择轨迹中的关键中间步骤。3) 分支决策:在选定的关键步骤,Agent动态决定是探索新的轨迹(从头开始)还是利用已有的轨迹(从存档的经验中分支)。4) 轨迹重组:如果选择利用已有轨迹,则将已有的轨迹片段与新的轨迹片段组合成完整的轨迹。
关键创新:SWE-Replay的关键创新在于其动态选择探索或利用已有经验的机制,以及其选择关键中间步骤的方式。与依赖外部LLM进行质量估计的方法不同,SWE-Replay基于存储库探索的潜力和推理意义来选择关键步骤,从而避免了潜在的噪声价值估计。此外,SWE-Replay通过重用轨迹,显著降低了计算成本。
关键设计:SWE-Replay的关键设计包括:1) 关键步骤的选择策略:具体如何量化存储库探索的潜力和推理意义,并将其用于选择关键步骤。2) 分支决策的策略:如何平衡探索和利用,以最大化Agent的性能。3) 轨迹存储和检索机制:如何高效地存储和检索轨迹数据,以便快速重用。
🖼️ 关键图片
📊 实验亮点
在SWE-Bench Verified上的实验结果表明,SWE-Replay在保持甚至提高高达3.8%的性能的同时,降低了高达17.4%的计算成本。此外,在SWE-Bench Pro和Multilingual上的实验验证了SWE-Replay的通用性,表明其可以有效地应用于不同的软件工程任务和语言环境。
🎯 应用场景
SWE-Replay可应用于各种软件工程Agent的测试时扩展,提高其在代码生成、程序修复、软件测试等任务中的性能和效率。该技术能够降低计算成本,并提升Agent的通用性和鲁棒性,加速软件工程自动化进程,并有望应用于其他需要高效测试时扩展的AI Agent领域。
📄 摘要(原文)
Test-time scaling has been widely adopted to enhance the capabilities of Large Language Model (LLM) agents in software engineering (SWE) tasks. However, the standard approach of repeatedly sampling trajectories from scratch is computationally expensive. While recent methods have attempted to mitigate costs using specialized value agents, they can suffer from model miscalibration and fail to generalize to modern agents that synthesize custom bash scripts as tools. In this paper, we introduce SWE-Replay, the first efficient and generalizable test-time scaling technique for modern agents without reliance on potentially noisy value estimates. SWE-Replay optimizes the scaling process by recycling trajectories from prior trials, dynamically choosing to either explore from scratch or exploit archived experience by branching at critical intermediate steps. This selection of intermediate steps is driven by the potential and reasoning significance of repository exploration, rather than external LLM-based quality estimates. Our evaluation shows that, on SWE-Bench Verified, SWE-Replay consistently outperforms naive scaling, reducing costs by up to 17.4% while maintaining or even improving performance by up to 3.8%. Further evaluation on SWE-Bench Pro and Multilingual validates the generalizability of SWE-Replay, establishing it as a robust foundation for efficient test-time scaling of software engineering agents.