编码 Agent 做八步任务时,每项观察减少约 75% | AGIDaily
AGI Daily
资讯日报词条论文人物新创

编码 Agent 做八步任务时,每项观察减少约 75%

2026-09-16 / 共 2,214 字

Microsoft Research / ProgramDistill

一个编码 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 最可转用的结论是:任务依赖越深,验收资源越要随之增加。连续补多个相关功能时,只检查构建、接口和最后一屏,会漏掉跨步骤的状态与路径错误。每次相关修改后都应重放带前置状态的完整用户流程。

来源

  • ProgramDistill: From Interactive Web Apps to Verifiable Reference-Guided SWE Tasks · arXiv
  • ProgramDistill: From Interactive Web Apps to Verifiable Reference-Guided SWE Tasks · Microsoft Research
  • SWE-bench: Can Language Models Resolve Real-World GitHub Issues? · arXiv
  • ProgramBench: Can Language Models Rebuild Programs From Scratch? · arXiv

评论

登录后即可参与评论。

加载评论中…

相关文章

  • StaminaBench 基准测试概览:基准(蓝色)迭代采样变更并推进参考状态,Agent(黄色)在隔离 Docker 容器中运行,仅接收自然语言描述和测试反馈

    编程基准 StaminaBench:不给测试反馈时,最佳组合平均仅通过 6.2 轮

    2026-06-24

  • WhatWorkedBench 流程图:Agent 在固定预算内选择实验、提交完整配置得分表,再与穷举 CPU 参考结果比较

    科研 Agent 找到最优配置后,仍可能说不清什么有效

    2026-09-23

  • SWE-Together 排行榜:七款前沿模型在 109 个任务上的 pass@1、pass²、Judge Score、User Correction、Token 消耗和耗时对比

    Meta 发布编程协作基准 SWE-Together,评估代码 Agent 需要多少纠正

    2026-06-29

AGI Daily跟踪世界 AI 进展
邮件栏目主题RSS
定制投稿招聘广告
关于MCPTermsContact
研究从 157 个开源 Agent 仓库筛选、逐库审查到跨仓库归纳的三阶段流程图

157 个开源 Agent 项目:常规测试很多,端到端边界测试很少

2026-09-15

  • GPT-6 Astra 与 Codex 的评测结果图,画面中央为模型名称和代码界面

    GPT-6 Astra 安全修复通过率升至 34.1%,代价是 29 次超时

    2026-09-08

  • RealSWE 论文图 2:真实用户请求(SWE-chat)与 SWE-bench 问题在信息构成和语言风格上的分布对比

    请求写得更像真实用户后,编码 AI 解题率平均降了 6.4 个百分点

    2026-08-31