LLM2D
思考更久,不占用更多资源:通过扩展测试时计算提升软件工程代理
Thinking Longer, Not Larger: Enhancing Software Engineering Agents via Scaling Test-Time Compute
作者: Yingwei Ma, Yongbin Li, Yihong Dong, Xue Jiang, Rongyu Cao, Jue Chen, Fei Huang, Binhua Li
发布日期: 4/9/2025
arXiv ID: oai:arXiv.org:2503.23803v2

摘要

arXiv:2503.23803v2 软件工程代理类型: 替换-交叉 摘要:近期软件工程代理的发展展示了在自动化程序改进方面具有令人鼓舞的能力。然而,它们对闭源或资源密集型模型的依赖在私有环境中引入了重大的部署挑战,引发了一个关键问题:\textit{如何实现可个人部署的开源LLM以获得相当的代码推理性能?} 为此,我们提出了一种统一的测试时计算扩展框架,利用增加的推理时计算而非更大规模的模型。该框架结合了两种互补的策略:内部TTC和外部TTC。内部,我们引入了一种利用真实世界软件仓库的\textit{基于开发上下文的轨迹合成}方法,以启动多阶段推理过程,如故障定位和补丁生成。此外,我们通过拒绝采样进一步提高轨迹质量,严格评估轨迹在准确性和复杂性方面的表现。外部,我们提出了一个新的基于\textit{开发过程的搜索}策略,该策略受奖励模型和执行验证的指导。这种方法在关键的开发决策点实现了有针对性的计算分配,克服了现有“终点验证”方法的局限性。 在SWE-bench Verified上的评估显示,我们的\textbf{32B模型实现了46%的问题解决率},远超DeepSeek R1 671B和OpenAI o1等更大规模的模型。此外,我们还在SWE代理中提供了测试时扩展现象的经验验证,揭示了\textbf{模型会动态地将更多令牌分配给日益复杂的问题},从而有效提升推理能力。我们已将所有训练数据、模型和代码公开发布,以促进未来的研究。https://github.com/yingweima2022/SWE-Reasoner