登录

编码智能体训练为何要重新审视源代码?


速读:编码智能体训练为何要重新审视源代码? 除了做语料,源代码还能如何用于智能体训练? 为何源代码才是最大的未开发资源? 4、早期对源代码的功能探索主要涉及开发记录或已有测试的结合,通过提取历史改动、合成代码缺陷等方式构建训练任务,源代码主要提供项目上下文与待修改对象。
2026年10月18日 18:25

随着编码智能体逐步进入仓库修改、调试与验证等复杂开发场景,业界对训练环境供给、执行反馈可靠性及经验复用的关注度不断提升。围绕这些需求,近期有工作开始重新考察已有源代码的价值,探索从功能实现中构建可执行任务、建立验证依据,以及提取可调用技能。

目录

01.  除了做语料,源代码还能如何用于智能体训练? 源代码在编码智能体训练中扮演什么新角色 ? ...

02 . 为何源代码才是最大的未开发资源? ? 如何理解源代码自身就是一个 Oracle? ...

03 . CodeMidas之外,还有哪些工作在拓展源代码的用途?

近期有哪些工作在挖掘源代码的潜力 ?...

除了做语料,源代码还能如何用于智能体训练?

1、当前,编码智能体的任务范围已扩展至仓库修改、测试执行与多轮调试等软件工程场景。此类任务涉及项目文件分析、工具调用及基于执行反馈的迭代修改,促使智能体的训练过程开始囊括对多步交互与结果验证的项目环境的考虑。[1-1]

2、为了让编码智能体能够适应日益扩宽的任务边界,业界开始将真实软件工程环境和合成终端任务纳入智能体训练。随着训练任务规模和仓库覆盖范围扩大,环境构建中的人工投入、运行资源与复用条件,也成为相关研究关注的问题。

① 2025 年 4 月,「SWE-smith」工作将训练数据的规模化收集列为待解决问题;2026 年 3 月的「daVinci-Env」工作则进一步将可执行环境的规模、仓库多样性和构建成本列为训练约束。[1-2] [1-3] 

3、围绕训练环境与操作经验的供给,有研究者拓展了「源代码」(Source Code)的利用方式。除作为模型训练语料外,源代码还被用于构建可执行任务、提供行为参照和提取技能记录,参与编码智能体的交互训练与后续任务执行。

① 此前,编码智能体的能力改进主要围绕模型训练、交互接口与反馈机制展开。例如,「Codex」利用代码语料训练代码生成模型;「SWE-agent」通过专用接口支持仓库浏览、文件编辑与程序执行;「CodeRL」则结合单元测试与功能正确性评分优化代码生成。[1-4] [1-5] [1-6] 

4、早期对源代码的功能探索主要涉及开发记录或已有测试的结合,通过提取历史改动、合成代码缺陷等方式构建训练任务,源代码主要提供项目上下文与待修改对象。近期,部分研究进一步直接从源代码中的已实现功能提取任务要求,并利用原实现建立验证依据,使源代码同时参与任务定义、开发起点与执行反馈的构建。

① 2025 年 4 月发布的「R2E-Gym」从 commit 变化生成测试并反译任务描述,得到 8135 个可执行环境。同月发布的「SWE-smith」围绕已有测试合成缺陷,构建来自 128 个仓库的约 5 万个实例,其策略包括程序化修改、模型生成、缺陷补丁组合和利用历史 PR 的「PR Mirror」。 [1-2] [1-7]

② 「CodeMidas」以源代码作为唯一的任务特定输入,不要求预先提供 issue、PR、commit 变化、已有测试或文字规范。其流程从实现中整理公开接口与可观察行为,移除目标实现形成开发起点,再通过参考解和新建测试检查求解结果。[1-8]

为何源代码才是最大的未开发资源?

1、 在 2025 年的早期探索中,相关编码智能体工作通常结合开发记录、已有测试与源代码构建可执行的仓库级任务,通过历史改动提取、缺陷合成或测试驱动开发生成训练实例。其中,源代码主要提供项目上下文与待修改对象,任务求解轨迹则用于模型训练 ...

 关注👇🏻 「机器之心PRO会员」,前往「收件箱」查看完整解读

主题:源代码|编码智能体