代码智能体能修复 bug、根据需求写代码。
但如果需求还需要自己探索,开发过程需要反复修改,它能否把任务持续推进下去?
这是云知声 U2-Flash 面向复杂工程开发、长程任务和多步骤 Agent 场景时,关注的关键能力。
围绕这些挑战,云知声联合厦门大学苏劲松老师团队提出 ProgramGym,从训练环境与开发工作流两个方面探索长程程序复现。相关技术已应用于 U2-Flash 的研发,服务其复杂任务与代码智能体能力建设。
PART 1
创新训练环境,让AI在真实程序中探索需求
只有一个可运行的参考程序和配套文档,不看源码,AI 如何从零编写一个行为一致的程序?
它需要运行程序、观察输入输出,逐步发现需求,再设计实现。训练这些能力,需要足够多可交互、可验证的任务。但真实仓库的依赖、编译方式和功能各不相同,环境搭建与测试准备往往难以规模化。
Program-Env 将参考程序构建、运行沙箱和黑盒测试生成串成自动化流程,并根据构建诊断和测试质量反馈持续修正。
其创新在于,把“程序能否运行”和“复现表现如何验证”一起纳入环境建设,让真实代码仓库转化为智能体可以探索、实现和接受检验的训练任务。
目前,ProgramGym 已构建 1,648 个训练环境,覆盖 C、C++、Go 和 Rust,为训练轨迹采集及后续模型训练提供可复用的任务资源。
对 U2-Flash 研发而言,这项探索提供了可交互、可验证的训练任务,让能力训练覆盖需求探索与行为验证。
PART 2
创新开发流程,让长程记录有记录、能恢复
任务越长,智能体越容易遗忘早期发现的需求;多轮修改中,也可能破坏已经完成的实现。
Program-Agent 将分析、实现和审查分开,在独立会话中执行,并通过持久化记录交接行为证据、开发进展和修改要求。
分析阶段先探索参考程序;实现阶段依据记录编写代码;审查阶段对比程序行为,将差异转化为下一轮修改任务。这样,探索到的需求能够持续进入后续开发,而不是停留在一次对话中。
版本管理则为失败恢复提供支撑:每轮交付经过独立编译检查,通过后保存为检查点;后续执行失败时,可以恢复到此前通过检查的版本。

这一设计回应了长程开发中的具体问题:如何保留需求、组织迭代,并在出现失败后接续推进。这也与 U2-Flash 面向多步骤工程任务的研发需求紧密相关。
PART 3
验证技术价值,助力U2-Flash研发
研究团队采用开源模型开展对照实验,检验训练资源与开发流程的实际效果。
在 ProgramBench 上,相同 Claude Code 工作流下,使用 ProgramGym 轨迹进行监督微调后,Qwen3.8-27B 的 Tests Passed 得分从 34.87% 提升至 42.84%,提高 7.97 个百分点。
使用 Program-Agent 后,基础模型与微调模型分别达到 55.71% 和 56.25%。这些结果表明,在该实验设置下,有针对性的训练与开发流程都能改善程序复现表现。
上述得分来自 Qwen 模型的对照实验。相关技术已应用于 U2-Flash 的研发,服务于需求探索、长程执行和反馈修正等能力建设。
PART 4
写在最后
ProgramGym 将可验证训练环境的自动化构建,与分析、实现、审查相互衔接的开发流程结合起来,回应了代码智能体面临的两个难题:如何规模化获得可交互、可检验的训练任务,以及如何在长程开发中保留需求、持续迭代并从失败中恢复。
作为联合研究方,云知声参与提出 ProgramGym,并将相关技术应用于 U2-Flash 研发。让训练环境与长程工作流的研究成果服务于模型能力建设,为 U2-Flash 面向复杂工程开发中的需求探索、多步骤执行与反馈修正提供技术支撑。
现U2-Flash开启免费调用:
2026年9月30日至10月31日,U2-Flash API 面向新老用户限时免费,不限 Token 用量。
立即体验 U2-Flash:
https://maas.unisound.com/models/u2-flash
活动结束还可以再领5亿Token!快来体验吧!

