Trae Agent: An LLM-based Agent for Software Engineering with Test-time Scaling

TL;DR

Trae Agent利用模块化代理实现仓库级问题解决,提升Pass@1达75.20%。

cs.SE 🔴 高级 2025-07-31 38 次浏览
Trae Research Team Pengfei Gao Zhao Tian Xiangxin Meng Xinchen Wang Ruida Hu Yuanan Xiao Yizhou Liu Zhao Zhang Junjie Chen Cuiyun Gao Yun Lin Yingfei Xiong Chao Peng Xia Liu
软件工程 大语言模型 集成推理 仓库级理解 自动修复

核心发现

方法论

Trae Agent将问题定义为最优解搜索,核心由生成、修剪和选择三大模块组成。生成模块采用多模型并行生成多样候选,修剪模块结合重复检测与回归测试筛除冗余与错误,选择模块模拟仓库理解进行投票选出最佳方案。实验使用Gemini 2.5 Pro、Claude 3.7和GPT-4.1在SWE-bench上对比四个SOTA方法,结果显示Trae Agent在Pass@1上平均提升10.22%,在验证榜单夺冠。

关键结果

  • Trae Agent在Pass@1指标上平均提升10.22%,在SWE-bench验证榜单获得75.20%的最高分,显著优于对比方法。多模型集成和修剪策略有效降低冗余,增强了候选方案的质量。不同超参数设置显示,随着集成规模扩大,性能持续提升,表现优于所有基线。消融实验验证每个模块的关键作用,缺失任何一环均导致性能下降。
  • 在三种主流LLM(Gemini 2.5 Pro、Claude 3.7、GPT-4.1)上均表现优异,Pass@1提升范围为5.83%-14.60%。在不同集成规模(如10、20、30)下,性能稳步提升,说明方法具有良好的扩展性。修剪策略显著减少冗余候选,提升了选择效率。多轮投票机制增强了决策稳定性,有效缓解模型偏差。
  • 消融研究表明,修剪和多模型多轮投票是性能提升的关键。未使用修剪的方案性能明显下降,验证了冗余筛除的重要性。整体而言,Trae Agent在复杂仓库级问题中展现出优越的鲁棒性和可扩展性,为自动化软件修复提供新思路。

研究意义

该研究突破了传统prompting方法在仓库级理解和大规模候选空间探索中的瓶颈,提出基于代理的集成推理架构,有效结合静态分析与动态验证,显著提升LLM在实际软件工程中的应用潜力。其在自动修复、缺陷定位等场景中具有广泛应用前景,有助于降低开发成本、提升软件质量。通过公开资源,推动学界与工业界共同探索智能软件工程新范式,具有深远影响。

技术贡献

Trae Agent创新性地引入模块化代理架构,将生成、修剪与选择有机结合,突破prompting单轮限制,实现仓库级全局理解。提出多模型并行生成、多轮修剪与投票机制,显著提升候选多样性与准确率。算法设计结合静态分析与动态验证,提供理论保证。该框架可扩展至其他复杂软件工程任务,为未来自动化工具提供新思路。

新颖性

本研究首次提出基于代理的集成推理框架用于仓库级问题解决,区别于以往prompting方法的单轮静态操作。创新在于引入多模型多轮交互、层级修剪与全局理解,解决大规模候选空间探索难题。此架构在自动修复领域实现突破,提供了全新的技术路径,填补了仓库级理解与大规模候选筛选的研究空白。

局限性

  • 当前方法依赖于高质量的候选生成,若生成偏差大,整体性能受影响。修剪策略虽有效,但仍存在漏掉潜在正确方案的风险,尤其在极端复杂场景中。多轮投票机制增加计算成本,可能限制实时应用。此外,方法在极大规模仓库或多语言环境下的适应性尚未充分验证,未来需优化效率与泛化能力。

未来方向

未来将探索更高效的候选生成策略,结合强化学习优化修剪与选择流程,提升整体效率。计划引入更复杂的仓库理解模型,增强跨文件、跨模块的推理能力。还将扩展到多语言、多平台环境,验证其在工业级大规模系统中的实用性。此外,结合人类专家反馈,逐步实现半自动化与智能化的持续改进,推动自动化软件工程的落地应用。

AI 总览摘要

软件缺陷修复一直是软件工程中的核心难题,尤其在仓库级别的复杂问题中,传统方法难以兼顾全局理解与高效探索。随着大语言模型(LLMs)如GPT-4、Claude等的崛起,自动化修复技术迎来新机遇,但现有prompting方法在大规模候选空间探索和仓库理解方面仍显不足。Trae Agent提出了一种创新的模块化代理架构,将生成、修剪和选择三大环节有机结合,显著突破了这一瓶颈。

该方法将问题定义为最优解搜索,利用多模型并行生成多样候选,通过层级修剪筛除冗余和错误方案,并模拟仓库理解进行多轮投票选择最优方案。实验在SWE-bench上使用Gemini 2.5 Pro、Claude 3.7和GPT-4.1,结果显示Trae Agent在Pass@1指标上平均提升10.22%,最高达75.20%,在验证榜单中夺冠。这一突破性表现彰显其在复杂软件工程任务中的潜力。

技术上,Trae Agent引入多模型多轮交互、静态与动态结合的全局理解机制,提供理论保证和良好的扩展性。其核心创新在于多轮投票和层级修剪,有效缓解候选空间膨胀带来的挑战,为未来自动修复、缺陷定位等场景提供新思路。未来将优化生成策略,增强跨文件理解,推动工业应用落地。整体而言,Trae Agent代表了自动化软件工程的前沿方向,为智能化软件维护开启新篇章。

深度分析

研究背景

软件工程中的缺陷修复技术经历了从规则匹配到机器学习的演变。早期依赖静态规则和模板,效率有限;近年来,基于机器学习和深度学习的方法逐步崛起,如DeepCode、CodeX等,显著提升了自动修复能力。大语言模型(LLMs)如GPT-3、GPT-4的出现,为代码理解和生成提供了强大工具,推动自动修复迈入新阶段。然而,现有方法多集中在函数级别,难以应对仓库级复杂场景,尤其在多文件、多模块交叉依赖的情况下表现不足。集成推理和多模型融合逐渐成为研究热点,旨在突破单一模型的局限,提升整体性能。

核心问题

仓库级软件问题涉及跨文件、跨模块的复杂逻辑,要求模型具备全局理解能力。传统prompting方法在探索大规模候选空间时效率低下,且难以进行全局一致性验证。现有技术多依赖单轮推理,缺乏持续记忆和多轮交互,导致难以准确筛选出最优修复方案。如何在保证效率的同时,提升模型对仓库整体结构和依赖关系的理解,成为关键难题。解决这一问题对于实现真正的自动化软件维护具有重要意义。

核心创新

Trae Agent的核心创新在于引入模块化代理架构,将生成、修剪和选择三个环节有机结合。生成模块采用多模型并行,增强候选多样性;修剪模块结合重复检测和回归测试,有效缩减候选空间;选择模块模拟仓库理解,结合静态分析与动态验证,通过多轮投票确定最优方案。这一设计突破了prompting单轮、静态操作的限制,提供全局理解和高效筛选能力。其创新点在于多模型多轮交互、层级修剪和仓库级理解的结合,为自动化修复提供新思路。

方法详解

  • �� 生成:利用多模型(Gemini 2.5 Pro、Claude 3.7、GPT-4.1)并行生成多样候选,采用高温采样增强多样性。• 修剪:结合补丁归一化、等价检测筛除冗余候选,利用回归测试剔除不正确方案。• 选择:构建仓库理解,通过静态分析和动态验证,模拟人类理解过程,采用多轮投票确定最优修复。• 交互:多轮交互中,利用工具调用实现代码检索、测试执行、依赖分析,逐步完善理解。• 评估:在SWE-bench上对比四个SOTA方法,采用Pass@1、投票一致性等指标,验证性能提升。• 消融:逐步移除模块,验证每部分贡献,确保整体架构有效性。

实验设计

采用SWE-bench验证集,包含2294个真实GitHub问题,使用三大LLM进行候选生成。对比基线包括Augment、DeiBase等,指标为Pass@1、Oracle、Adversary。超参数包括候选数(10、20、30)、模型轮次等。通过消融实验验证修剪和投票机制的作用。多模型集成在不同规模下表现优异,性能持续提升,验证了架构的扩展性。实验还分析了候选空间大小对性能的影响,展示了修剪策略的重要性。

结果分析

Trae Agent在所有测试场景中均优于对比方法,Pass@1最高达75.20%,比最优基线提升超过14%。多模型、多轮投票显著提高选择准确率,修剪策略有效降低冗余,提升效率。不同超参数设置显示,集成规模越大,性能越优,验证了方法的可扩展性。消融实验确认每个模块的关键作用,缺失任何一环都导致性能下降。整体结果表明,Trae Agent在复杂仓库级问题中具有强大优势。

应用场景

该方法可应用于自动缺陷修复、代码审查、持续集成等场景,特别适合大规模仓库和多语言环境。通过集成到开发流程中,帮助开发者快速定位和修复缺陷,减少人工干预。未来还可结合持续学习,适应不同项目和技术栈,推动工业界智能化升级。

局限与展望

目前依赖高质量候选生成,若生成偏差大,效果受影响。修剪策略虽有效,但可能漏掉潜在正确方案,尤其在极端复杂场景中。多轮投票增加计算成本,限制实时应用。模型在超大仓库、多语言环境下的适应性尚需验证,未来需优化效率和泛化能力。

通俗解读 非专业人士也能看懂

想象你在厨房做饭,遇到一道菜做坏了。你可以尝试不同的调料组合(生成候选),然后用味觉和视觉判断哪些可能更好(修剪),最后请朋友(投票)帮你决定哪份菜最合适。这就像Trae Agent用不同“厨师”生成多份方案,筛掉不好的,再由“评委”投票选出最佳方案。这样一来,即使没有厨艺高手在场,也能做出美味的菜肴。它用类似的方式,帮助软件自动修复代码中的问题,确保最终的“菜”——也就是软件——能正常运行。

简单解释 像给14岁少年讲一样

想象你在玩一个游戏,遇到难题不知道怎么过。你可以试试不同的办法(生成多个方案),然后看看哪个最靠谱(修剪掉不行的),最后让几个朋友(投票)帮你决定用哪个办法。这样一来,即使你自己不确定,也能找到最好的解决办法。这就像Trae Agent一样,它用很多“聪明的助手”帮程序修补错误。每个助手都试试不同的修复方案,然后筛掉那些不行的,最后用投票决定哪个方案最靠谱。这样,程序就能更快更好地修好缺陷,像你在游戏中找到最棒的通关策略一样。

原文摘要

Software issue resolution is a critical challenge in software engineering and has garnered increasing attention in recent years. With the rapid advancement of large language models (LLMs), substantial progress has been made in addressing real-world software engineering tasks. Recent studies have introduced ensemble reasoning techniques to enhance the performance of LLM-based issue resolution. However, existing prompting-based methods still face limitations in effectively exploring large ensemble spaces and lack the capacity for repository-level understanding, both of which constrain their overall effectiveness. In this paper, we propose Trae Agent, the first agent-based ensemble reasoning approach for repository-level issue resolution. Trae Agent formulates our goal as an optimal solution search problem and addresses two key challenges, i.e., large ensemble spaces and repository-level understanding, through modular agents for generation, pruning, and selection. We conduct extensive experiments using three leading LLMs on the widely-adopted SWE-bench benchmark, comparing Trae Agent against four state-of-the-art ensemble reasoning techniques. Experimental results demonstrate that Trae Agent consistently achieves superior performance, with an average improvement of 10.22% over all baselines in terms of Pass@1. Trae Agent has achieved first place on the SWE-bench Verified leaderboard, with a notable Pass@1 score of 75.20%. We are pleased to release Trae Agent as an open-source project to support the research community, with all resources available at https://github.com/bytedance/trae-agent.

cs.SE cs.AI