返回文章列表
模型评测

ProgramDistill:让编码智能体从可交互软件中学习任务

阅读约 2 分钟

导语

现有软件工程智能体通常根据 issue、需求文档或自然语言指令修改代码,但真实开发并不总是如此。很多时候,开发者面对的是一个可以运行的产品样例,以及一个功能尚未完成的项目,需要通过操作前者来推断后者应有的行为。微软研究院提出的 ProgramDistill,正是为这一场景设计的评测基准。

核心方法

ProgramDistill 的关键变化,是把“理解参考软件并完成复现”纳入编码智能体测试。研究团队首先将完整应用拆分为不同粒度的功能,再为每项功能关联一组能够在应用中重复执行的行为。只要通过对应的 gold patch,就可以回放并验证这些行为是否成立。

其自动化流程名为 mine-craft-patch,能够从 26 个应用中发现 1,975 个经过回放验证的行为,并在不依赖人工逐项编写的情况下构建 4,063 个任务。这样形成的任务既保留了真实应用中的交互特征,也能通过可执行行为进行客观检查,减少仅凭文本描述评估带来的歧义。

评测结果

研究覆盖了 9 个前沿编码智能体。在完整应用重建场景中,GPT-6 Astra 和 Claude Opus 5 在累计工作流上的成功率分别为 49.2% 和 28.8%。这说明,即便智能体能够处理单个局部功能,连续完成多个相互关联的行为仍然具有较高难度。

在部分应用重建实验中,任务难度随恢复深度增加而上升。恢复深度从 1 增至 8 时,GPT-6 Astra 的成功率从 100% 降至 64.0%,Claude Opus 5 则从 96% 降至 32%。这一变化表明,问题并不只是生成代码,而是要持续观察参考应用、建立行为依赖关系,并在不完整代码库中保持实现的一致性。

意义与影响

ProgramDistill 补充了传统 SWE 基准的盲点:它不只检查智能体是否能按照文字要求修复缺陷,也检查其能否从可运行的软件中提炼隐含需求。可控的功能粒度和恢复深度,为诊断智能体究竟卡在行为发现、规划还是实现阶段提供了基础。

同时,自动生成且可验证的任务降低了扩展评测集的成本,也为未来按难度组织训练课程提供了可能。不过,当前材料主要展示了基准设计与实验结果,公开版本仍在准备中,其覆盖的应用类型和实际可用性还有待进一步观察。

来源:Hugging Face Daily Papers

评论

正在确认登录状态……

正在加载评论……

相关文章