Trae Agent: An LLM-based Agent for Software Engineering with Test-time Scaling
Trae Agent利用模块化代理实现仓库级问题解决,提升Pass@1达75.20%。
核心发现
方法论
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.