在软件工程领域,代码修复与维护一直是耗时费力的工作。2025 年 7 月,TRAE.ai 带来了一项突破性成果 ——TRAE Agent 在 SWE-bench Verified 基准测试中以 75.2% 的求解率拔得头筹,并将这一强大的智能助手开源贡献给社区。这一成就不仅标志着 AI 在软件工程领域的重大进展,更有望彻底改变软件开发与维护的方式。

TRAE Agent
一、TRAE Agent:资深工程师般的智能助手
TRAE Agent 是一款专为软件工程任务设计的基于大语言模型 (LLM) 的智能助手。把它想象成你团队中的一位资深工程师,拥有多项强大技能:通过 Lakeview 模式对执行步骤进行简明总结,能系统性复现与分析调试复杂问题,制定详细计划并实现健壮的修复方案,理解任意代码库并掌握现有代码模式,还能编写符合最佳实践的高质量代码。
从本质上讲,TRAE Agent 是人工智能与软件工程深度融合的产物。它不像传统的代码辅助工具那样只是提供简单的代码补全或语法检查,而是能够像人类工程师一样思考和解决问题,具备对复杂软件工程任务的理解、分析和执行能力。
二、登顶 SWE-bench Verified 的技术密码
创新的补丁生成机制
TRAE Agent 采用单 Agent 模式来生成补丁,为其配备了一系列强大的工具:
- str_replace_based_edit_tool:允许 Agent 查看文件与目录,并对现有文件进行创建和编辑,就像一位熟练的程序员在文件系统中自由操作。
- bash:提供一个持久的命令执行接口,用于运行系统命令、捕获输出与错误,使 Agent 能够与操作系统进行交互。
- sequential_thinking:具备结构化问题分析能力,可进行多轮推理、修正、生成并验证假设,这是实现复杂问题解决的关键。
- ckg_tools:构建代码知识图谱,使 Agent 可以在仓库中查找类与函数,帮助其快速理解代码库的结构和内容。
- task_done:用于标记任务完成并输出最终结果与总结,确保任务的顺利结束。
同时,引入了多个先进模型供 Agent 使用,包括 Claude-4-Sonnet、Claude-4-Opus、Claude-3.7-Sonnet 和 Gemini-2.5-Pro,这些模型为 Agent 提供了强大的语言理解和生成能力。
精妙的补丁选择策略
在由不同 LLM 生成的多个候选补丁中,TRAE Agent 探索了两种创新的补丁选择策略:
- LLM-as-a-Selector:使用 LLM 对回归测试通过的补丁进行评分与选择,利用大语言模型的理解和判断能力来挑选最优补丁。
- Selector Agent:这是一种增强方案,结合语法投票机制与多 Agent 验证提升选择准确性。Selector Agent 分为三个阶段:首先多模型生成候选补丁,然后通过回归测试进行初筛,最后使用语法等价聚类与多 Agent 验证做最终选择。通过在语法等价的补丁中进行聚类,并结合上下文推理与辅助工具验证,Selector Agent 显著提升了准确率。该机制不仅利用模型共识,还引入了对过拟合和伪一致性的防护,从而提高在更大候选空间中的补丁选择能力,在多样性与可靠性之间取得了良好平衡。
正是这些先进的技术方法,使得 TRAE Agent 在 SWE-bench Verified 基准集上达到了 75.2% 的总成功率,成功解决了 500 个真实软件工程任务中的 376 个,展现出了在自动修复性能方面的强大实力。
三、开源生态:赋能开发者与社区
TRAE Agent 的开源为软件工程和人工智能社区带来了巨大的价值,其开源项目包含丰富的内容:
多种 LLM 支持
LLM Client 系统为多个 AI 服务提供统一接口,已支持 OpenAI、Anthropic、Azure,并便于扩展至更多提供商。LLMClient (llm_client.py) 采用 “工厂模式”,支持不同 LLM 提供商,提供统一聊天补全接口,还内置轨迹 (trajectory) 记录功能,方便对模型交互进行追踪和分析。
丰富的工具系统
tools 模块为 Agent 与环境交互提供完整能力。其基础类 base.py 包括 Tool(所有工具的抽象类,包括工具名称、描述、参数和执行函数)、ToolExecutor(负责工具的执行,支持并行或串行执行)、ToolCall 和 ToolResult(用于描述工具调用和执行结果的结构体)。
基于这些抽象,提供了四种现成工具:
- 文件编辑工具 (edit_tool.py):TextEditorTool(内部名称 str_replace_based_edit_tool)提供了包括文件查看、创建、替换和插入字符串等文件操作,让 Agent 能够对代码文件进行各种修改。
- Bash 工具 (bash_tool.py):BashTool 支持持久的 bash 会话、超时保护、输出捕获、会话管理,使 Agent 能够执行各种系统命令。
- 结构化思维工具 (sequential_thinking_tool.py):SequentialThinkingTool 支持多轮思考、修正、分支逻辑和假设验证,帮助 Agent 进行复杂的问题解决。
- 任务完成工具 (task_done_tool.py):一个向 Agent 发送任务完成信号的简单但关键的工具,确保任务能够正确结束。
全面可观测性
轨迹记录系统详尽记录 Agent 执行的每一步操作,包括与 LLM 的交互、步骤元数据与错误信息。还提供了实时终端输出 (cli_console.py),默认启用 lakeview 模式,会异步调用另一 LLM 对步骤进行简要总结,以增强用户体验,使用户能够更好地了解 Agent 的工作过程。
模块化架构,构建自定义 Agent
TRAE Agent 采用模块化架构,使得不论是直接使用 TRAE Agent,还是构建自己的专业化 AI 助手都变得非常简单。通过自定义 Agent 创建示例,开发者可以根据自己的需求定制专属的智能助手,极大地拓展了应用场景。
四、未来展望:智能化软件工程的无限可能
TRAE Agent 的开源不仅是一项技术成果的分享,更是开启了软件工程智能化的新篇章。随着这一强大工具在社区中的广泛应用和不断优化,我们有理由相信,未来的软件工程将迎来巨大的变革。
同时,TRAE Agent 的开源将吸引更多的开发者和研究人员加入到软件工程智能化的研究和创新中来。大家可以共同完善工具系统,拓展应用场景,提升 AI 在软件工程领域的能力。
我们正在寻找愿意测试并提供反馈的早期使用者、愿意扩展工具生态的贡献者、想基于平台构建创新助手的 Agent 开发者以及愿意分享使用案例与改进建议的社区成员。让我们共同携手,推动软件工程智能化的发展,开启一个全新的时代。
立即体验 TRAE Agent,感受人工智能为软件工程带来的强大动力:
git clone <repository-url>cd TRAE-agentuv synccp TRAE-config.json TRAE-config-local.json# 在TRAE-config-local.json中指定你的模型与API KeyTRAE run “Your first software engineering task” –working-dir=’PATH TO WORKING DIR’ –config-file TRAE-config-local.json
TRAE Agent 遵循 MIT 开源协议开发,致力于回馈软件工程和人工智能社区。让我们一起,在智能化软件工程的道路上不断前行,创造更多的可能。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...