一个编码 Agent 已把卡片拖到看板另一列,却没有在最后一次改代码后重放这条流程。最终位置与参考应用不同,错误就这样进入提交结果。
ProgramDistill 把这种失误做成可测量的基准:让 Agent 操作一套可运行网页,自己发现需求,再把缺失功能补回可编辑版本。它不只考查补丁能否编译,而是检查 Agent 能否找到关键行为、恢复前置状态,并在连续修改后重放完整工作流。
可重放的浏览器轨迹同时定义需求和验收
ProgramDistill 用 mine-craft-patch 流程把可运行应用拆成任务。首先,多个 Agent 从界面和源代码中提出可探索目标,在干净状态下记录点击、输入、拖拽等操作,并保存可观察的成功信号。只有重置后仍能稳定重放的轨迹才会进入行为库。
随后,系统删除实现该行为的代码,让原轨迹在残缺应用上失败;补回隐藏的标准补丁后,同一轨迹还必须恢复通过。这样,轨迹同时承担了三件事:说明产品实际做了什么、生成一项缺失功能、检查修复后的外部行为。提交代码不必复制原实现,只要重放结果一致即可。
这套漏斗从 2800 个候选目标开始,收集到 2350 条交互轨迹;2165 条通过第一次干净状态重放,最终有 1975 条通过全部重放检查。研究团队据此在 26 个自包含网页应用中生成 4063 项任务,其中 2862 项只删除一个行为,1201 项沿前置依赖合并多个行为。所有生成阶段均使用 GPT-5.6 Sol,构造模型直接决定哪些功能会被发现、怎样被删除,任务覆盖也继承了它的选择偏好。
这与 SWE-bench 给出 GitHub issue、要求修改现有仓库不同,也比 ProgramBench 从一个可执行程序整体重建代码更细。ProgramDistill 保留“工作软件就是规格”的思路,但把产品行为拆成带前置关系的轨迹:先登录,才能建项目;先建看板和列表,才能创建、移动和编辑卡片。
任务扩到八步后,每项观察次数下降约 75%
论文没有让九个模型跑完全部 4063 项任务,而是抽出固定的 ProgramDistill-300:50 项单行为任务和 250 项多行为任务,覆盖 26 个应用,恢复深度从 1 到 8。九个模型使用同一套修改版 R2E-Gym 工具,推理强度设为 high;完整依赖链全部通过才计为一次二元成功。
GPT-6 Astra 在深度 1 的 50 项任务上全部通过,到深度 8 时通过率为 64%;Claude Opus 5 则从 96% 降至 32%。这不是简单把同一题目的上下文拉长。论文按相近的单步提示长度分组后,成功率仍随恢复深度总体下降;从深度 1 到 8,待恢复代码行数平均增加 9.3 倍,目标轨迹中的浏览器操作增加 10.7 倍。
Agent 的总工作量确实上升了,但没有追上任务负担。平均到每个待恢复行为,查看参考应用的次数从 34.60 次降到 8.46 次,查看当前应用从 27.69 次降到 6.81 次,均减少约四分之三。最终补丁中,仍保持未修改的目标文件比例从 12.4% 升至 23.3%,构造任务时加入的桩代码残留比例从 11.1% 升至 24.6%。数据揭示了一种资源分配失衡:依赖增加后,Agent 对每项需求投入的发现和验证资源收缩得更快。
Astra 在 413 条累计工作流上通过约 49.2%
论文还测试了更激进的整站重建:Agent 只拿到最小可运行骨架、产品能力说明和参考应用的浏览器入口,从头恢复 12 个有状态网页应用。这里仅评估 GPT-6 Astra、Claude Opus 5 和 GPT-5.6 Sol,推理强度为 max;验收包含 590 条单行为测试和 413 条累计工作流。
GPT-6 Astra 通过 58.98% 的单行为测试和 49.15% 的累计工作流;Claude Opus 5 分别为 42.03% 和 28.81%,GPT-5.6 Sol 为 33.39% 和 21.07%。49.15% 对应 Astra 在 12 个指定应用、413 条累计工作流上的平均二元通过率,是整站重建实验的工作流指标。
作者又用 GPT-6 Astra 对 36 次整站重建中的 977 个失败行为分类:59.2% 从未在参考应用中被观察到;27.9% 做出了错误的状态、路由或结果;11.1% 的外在形式不对;另有 1.8% 虽观察到却没有实现。作者借助模型完成这组事后分类,未做独立人工审计;分类结果与轨迹统计指向同一个工程问题:页面能运行、接口返回成功或局部文字出现,都无法代替对目标工作流的逐条重放。
基准检查结构化行为,不评估视觉还原
ProgramDistill 的浏览器入口向 Agent 提供 URL、可见文字、元素角色、可访问名称和输入值等结构化信息,不提供截图、原始 HTML 或接口请求日志。当前重放器也只检查操作能否执行以及预期状态信号是否出现,不评价视觉忠实度。在这篇论文中,“照着网页补功能”指根据可访问性结构和状态变化复原行为;视觉还原不在评测范围内。
26 个应用都被改造成确定、可重置的自包含环境,不接外部服务,也不覆盖随机状态、桌面端或移动端。论文首版还在脚注中写明完整基准正在准备公开发布;微软研究页面当时提供了演示和结果看板,但论文中的 4063 项任务与评测轨迹尚不能由第三方完整复跑。模型排名和具体百分比描述的是论文指定的应用、浏览器工具和 Agent harness;完整基准公开后,第三方才能复跑同一设置。
ProgramDistill 最可转用的结论是:任务依赖越深,验收资源越要随之增加。连续补多个相关功能时,只检查构建、接口和最后一屏,会漏掉跨步骤的状态与路径错误。每次相关修改后都应重放带前置状态的完整用户流程。


