DARS: Dynamic Action Re-Sampling to Enhance Coding Agent Performance by Adaptive Tree Traversal
作者: Vaibhav Aggarwal, Ojasv Kamal, Abhinav Japesh, Zhijing Jin, Bernhard Schölkopf
分类: cs.CL, cs.SE
发布日期: 2025-03-18
💡 一句话要点
DARS:动态动作重采样通过自适应树遍历提升代码生成Agent性能
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 代码生成 大型语言模型 动态动作重采样 计算扩展 软件工程
📋 核心要点
- 现有代码生成Agent在复杂任务中常做出次优决策,需要大量人工干预或计算资源,效率较低。
- DARS通过在关键决策点进行动态动作重采样,构建决策树,根据历史轨迹和反馈选择更优路径。
- 在SWE-Bench Lite测试中,DARS显著提升了代码生成Agent的pass@k和pass@1指标,超越现有方法。
📝 摘要(中文)
大型语言模型(LLM)通过自动化革新了自然语言处理、数据分析和软件开发等多个领域。在软件工程中,LLM驱动的代码生成Agent因其自动化复杂开发任务、辅助调试和提高生产力的潜力而备受关注。然而,现有方法常常面临次优决策的问题,需要大量的人工干预或低效的计算扩展策略。为了提高代码生成Agent的性能,我们提出了动态动作重采样(DARS),这是一种新颖的推理时计算扩展方法,与基线方法相比,它能更快、更有效地从次优决策中恢复。与传统Agent遵循线性轨迹或依赖随机采样进行计算扩展不同,DARS通过在关键决策点分支轨迹,根据轨迹的历史和先前尝试的执行反馈采取替代动作。我们在SWE-Bench Lite基准上评估了我们的方法,表明这种扩展策略使用Claude 3.5 Sonnet V2实现了55%的pass@k得分。我们的框架实现了47%的pass@1率,优于最先进的(SOTA)开源框架。
🔬 方法详解
问题定义:现有代码生成Agent在面对复杂编程任务时,容易陷入局部最优解,导致生成错误或低效的代码。传统的线性执行方式难以纠正错误,而简单的随机采样计算扩展策略效率低下,浪费计算资源。因此,需要一种更智能的计算扩展方法,能够快速有效地从次优决策中恢复。
核心思路:DARS的核心思路是在代码生成过程中,对关键决策点进行动态动作重采样。当Agent在某个决策点遇到困难或生成结果不理想时,DARS会基于历史轨迹和执行反馈,探索其他可能的动作分支,从而避免陷入局部最优,提高代码生成的成功率。
技术框架:DARS的整体框架可以看作是一个自适应的树遍历过程。Agent首先按照正常的流程生成代码,当遇到关键决策点时,DARS会根据历史信息(例如,之前的代码片段、执行结果、错误信息等)评估当前决策的质量。如果评估结果不理想,DARS会触发动作重采样,选择其他可能的动作,并沿着新的分支继续生成代码。这个过程会持续进行,直到找到一个满意的解决方案或达到计算资源上限。
关键创新:DARS的关键创新在于其动态性和自适应性。与传统的静态计算扩展方法不同,DARS能够根据Agent的实际表现和环境反馈,动态地调整计算资源的分配。此外,DARS还引入了动作重采样的概念,使得Agent能够探索更多的可能性,从而提高代码生成的成功率。与现有方法的本质区别在于,DARS不是简单地增加计算资源,而是更智能地利用计算资源,提高解决问题的效率。
关键设计:DARS的关键设计包括:1) 关键决策点的识别机制,需要准确判断哪些决策点需要进行动作重采样;2) 动作重采样的策略,如何选择合适的替代动作;3) 评估函数的设计,用于评估当前决策的质量;4) 树遍历的策略,如何有效地探索不同的分支。论文中可能使用了启发式规则、机器学习模型或两者结合的方式来实现这些关键设计。具体的参数设置、损失函数、网络结构等技术细节未知,需要查阅论文原文。
🖼️ 关键图片
📊 实验亮点
DARS在SWE-Bench Lite基准测试中表现出色,使用Claude 3.5 Sonnet V2实现了55%的pass@k得分,pass@1率达到47%,优于现有开源框架。这些结果表明,DARS能够有效地提高代码生成Agent的性能,尤其是在复杂编程任务中。
🎯 应用场景
DARS具有广泛的应用前景,可以应用于自动化软件开发、代码修复、智能编程助手等领域。通过提高代码生成Agent的性能,DARS可以显著提升软件开发的效率和质量,降低开发成本。未来,DARS还可以与其他技术相结合,例如,强化学习、知识图谱等,进一步提升代码生成Agent的智能化水平。
📄 摘要(原文)
Large Language Models (LLMs) have revolutionized various domains, including natural language processing, data analysis, and software development, by enabling automation. In software engineering, LLM-powered coding agents have garnered significant attention due to their potential to automate complex development tasks, assist in debugging, and enhance productivity. However, existing approaches often struggle with sub-optimal decision-making, requiring either extensive manual intervention or inefficient compute scaling strategies. To improve coding agent performance, we present Dynamic Action Re-Sampling (DARS), a novel inference time compute scaling approach for coding agents, that is faster and more effective at recovering from sub-optimal decisions compared to baselines. While traditional agents either follow linear trajectories or rely on random sampling for scaling compute, our approach DARS works by branching out a trajectory at certain key decision points by taking an alternative action given the history of the trajectory and execution feedback of the previous attempt from that point. We evaluate our approach on SWE-Bench Lite benchmark, demonstrating that this scaling strategy achieves a pass@k score of 55% with Claude 3.5 Sonnet V2. Our framework achieves a pass@1 rate of 47%, outperforming state-of-the-art (SOTA) open-source frameworks.