智能体想变强,缺的不是模型,是训练环境。
当前的 Coding Agent 本质上是代码助手,它擅长帮人类开发者修 bug,或者在人类指导下实现指定功能。而一个真正的软件工程师,需要自己探索需求,独立完成需求分析、编程实现、测试与校验的全过程。
然而,目前既没有一个能支撑「从零复现程序」这类任务的训练环境,也没有一个能覆盖「从需求探索到最终交付」的 Agent 开发框架。
厦门大学 DeepLIT 课题组联合云知声提出的 ProgramGym 为Coding Agent转变为真正的软件工程师提供了训练环境。Program-Env 从Github候选仓库出发,自动构建参考可执行程序与运行沙箱,再在多重反馈下生成黑盒测试套件,最终产出横跨 C、C++、Go、Rust 的 1,648 个可验证环境。配合能像人类软件开发团队一样分析、实现、审查各司其职的 ProgramAgent。
实验显示,在极具挑战性的ProgramBench任务上,Qwen-3.8-27B 模型在ProgramGym中获得了接近Deepseek-V4-Flash-0731的性能。
![]()
论文标题:
ProgramGym: Scaling Training Environments for Long-Horizon Program Reproduction Agents
论文链接:
https://arxiv.org/pdf/2610.13395
项目主页:
https://programgym.github.io/
一、核心动机:
从「编程助手」到「软件工程师」
随着大语言模型(LLM)的发展,码智能体正成为最具潜力的应用方向之一。当前主流任务分为两类:以 SWE-Bench 为代表的「Issue-resolution」,要求智能体在给定代码仓库中修复缺陷或实现功能;以 NL2Repo 为代表的「Repository generation」,要求智能体根据需求文档构建完整仓库。两者都围绕已有仓库或预先给定的需求开发实现,本质上还是一个「编程助手」。
「从零复现程序」任务对代码智能体提出了更高要求,代码智能体需要主动和仅执行的可执行文件交互,将探索结果组织成需求,并据此完成架构设计与编码实现。ProgramBench 的评测结果表明,即使是对于强大的闭源模型,此类任务仍极具挑战性。为了推动代码智能体发展为「软件工程师」,需要解决两个关键问题:
1. 缺乏可拓展的可验证环境(Scaling verifiable training environments.)
将代码仓库编译成一个可交互的参考程序需要解决大量环境依赖问题。为了提供可靠的训练监督,还需要构建黑盒测试套件,衡量候选实现与参考程序在外部可观察行为上的一致程度。然而,面对庞大的代码仓库,单次测试生成容易遗漏重要行为,或产生缺乏区分力的弱测试。
2. 缺乏支持长程开发任务的Harness(Long-horizon development.)
由于「从零复现程序」要求需求探索、编程实现和交付。随着交互轮次与上下文长度增长,早期的需求发现在上下文压缩中丢失。此外。长程开发还需要协调探索与实现的节奏。
基于此,团队提出了ProgramGym——一个为「从零复现程序」设计的训练环境。
![]()
Overview of ProgramGym:本项目构建了1648个tasks的program from scratch 数据集,在ProgramGym中Qwen27B获得了接近Deepseek-V4-Flash-0731的性能。
二、方法论:ProgramEnv环境构造与ProgramAgent程序复现
ProgramGym由loop-driven环境合成管线ProgramEnv和模拟软件开发生命周期的角色分离Harness ProgramAgent组成。
2.1 ProgramEnv:可拓展的可验证环境
![]()
ProgramEnv 方法图:Stage1为仓库筛选,Stage2为参考程序与沙盒构建,dispatcher完成任务分解及环境与工具准备,Stage3为feedback-driven的测试套件撰写。
Stage1 仓库筛选在Github上根据语言和star数筛选开源仓库。
Stage2 程序和沙盒构造构建参考的可执行文件 和编程沙盒 ,若交付物不符合要求,管线定位错误并提供修复建议,组织成结构化文档作为反馈,由下一轮的Agent进行修正,直至通过验证或达到迭代上限。Dispatcher 获取必要文档和输入资源 ,并将仓库划分为若干个功能模块,并准备测试生成(stage3)所需的运行环境与分析工具。
Stage3 黑盒测试套件生成子智能体针对分配的模块编写黑盒测试。系统通过参考程序验证、重复执行检查、空实现检查和弱断言检查识别无效、不稳定或缺乏区分度的测试,识别结果作为反馈指导下一轮的测试修复;并结合功能覆盖率及静态分析计算当前测试的功能覆盖程度,计算结果作为反馈指导下一轮的测试扩展。最终形成测试套件 ,为训练提供可靠的监督信号。
2.2 ProgramAgent:长程开发任务的Harness
![]()
ProgramAgent方法图:Handoff负责在相互隔离的会话之间传递行为证据与交付报告。Workspace维护该阶段的编程实现。Revisions保存可独立构建的源代码版本,用于验证与恢复。
ProgramAgent模拟软件开发周期将开发过程划分为需求分析、编码实现和行为审查三个阶段,各阶段在独立会话中运行,通过持久化文档传递需求与反馈。
• 分析阶段(Analysis)探索参考程序并整理需求;
• 实现阶段(Implement)依据需求开发候选程序;
• 审查阶段(Review)比较候选程序与参考程序,提出下一轮修改要求。
实现与审查在预设轮次内交替推进,逐步补全功能并修正行为差异。同时,系统对每轮实现都会保存可构建版本,通过版本回退支持持续迭代与可靠交付。
三、实验结果 3.1 Effectiveness of ProgramGym:ProgramGym是否能提升Agent「从零复现程序」的表现
![]()
ProgramEnv 为程序复现提供有效的训练信号。 固定 Claude Code 框架,使用 ProgramEnv 轨迹微调后,Qwen3.8-27B 在 ProgramBench 上的平均测试通过率由 34.87% 提升至 42.84%,缩小了与同框架下 DeepSeek-V4-Flash 的差距。
ProgramAgent 提升长程程序复现表现。 固定模型权重,相比 Claude Code,ProgramAgent 将基础模型和微调模型的平均测试通过率分别提升至 55.71% 和 56.25%,增加 20.84 和 13.41 个百分点。
3.2 Training Environments Analysis:ProgramEnv构建了怎样的环境?
ProgramEnv 共构建 1,648 个训练环境,涵盖 C、C++、Go 和 Rust 四种语言及八类功能场景。通过feedback-driven的测试构建流程,累计生成 665,512 个通过验证的测试用例,平均每个环境约 404 个;平均代码覆盖率为 72.99%,中位数为 81.63%。环境构建总计消耗 136.77B tokens。
![]()
ProgramEnv 数据的统计数据,涵盖8大功能板块和6大黑盒可达的交互类别。
![]()
3.3 Test-Time Scaling: ProgramAgent的迭代能够带来性能提升吗?
![]()
ProgramAgent随着iteration budget增加性能逐步提升。
ProgramAgent的测试时拓展可以带来性能提升。固定 Qwen3.8-27B-SFT,将 ProgramAgent 的“实现↔审查”从 1 轮增加至 3 轮和 5 轮,平均测试通过率由 43.49% 提升至 54.13% 和 56.25%。
3.4 Agent Behavior : ProgramGym对Agent行为产生了什么影响?
![]()
以Claude Code作为Harness,基础模型以执行和程序探测为主。引入 ProgramAgent 后,阅读与 Git 操作的占比增加,微调模型上的变化更明显,说明ProgramGym能够提升Agent探索、分析能力。
四、总结与展望
ProgramGym通过ProgramEnv环境构造和ProgramAgent支持长程开发任务,解决了「缺少可验证环境」和「缺少长程开发Harness」的两大痛点,为CodingAgent从「编程助手」向「软件工程师」发展迈出一步。随着模型能力增强,同一管线能够拓展至更复杂的仓库,为更具挑战性的长程开发任务提供训练支持,从而进一步探索代码智能体的能力边界。
-The End-
扫码观看!
本周上新!
“AI技术流”原创投稿计划
TechBeat是由将门创投建立的AI学习社区(www.techbeat.net)。社区上线700+期talk视频,3000+篇技术干货文章,方向覆盖CV/NLP/ML/Robotis等;每月定期举办顶会及其他线上交流活动,不定期举办技术人线下聚会交流活动。我们正在努力成为AI人才喜爱的高质量、知识型交流平台,希望为AI人才打造更专业的服务和体验,加速并陪伴其成长。
投稿内容
// 最新技术解读/系统性知识分享 //
// 前沿资讯解说/心得经历讲述 //
投稿须知
稿件需要为原创文章,并标明作者信息。
我们会选择部分在深度技术解析及科研心得方向,对用户启发更大的文章,做原创性内容奖励
投稿方式
发送邮件到
yimingzhang@thejiangmen.com
或添加工作人员微信(aceyiming)投稿,沟通投稿详情
关于我“门”
将门是一家以专注于数智核心科技领域的新型创投机构,也是北京市标杆型孵化器。 公司致力于通过连接技术与商业,发掘和培育具有全球影响力的科技创新企业,推动企业创新发展与产业升级。
将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。
如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”:
bp@thejiangmen.com
![]()
点击右上角,把文章分享到朋友圈
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.