FRONTIER · 2026-10-28 · 演进特征

十个 Agent、73 条特征:第一阶段 62.7%,整条终检 28.5%

一篇预印本把同一条用户可见特征拆成 2 到 10 个阶段,Agent 在自己上一阶段的代码上接着改,隐藏测试的结果不告诉它,也不回滚。十个编码 Agent 的第一阶段通过率(未加权平均)62.7%;整条特征在最终代码上过终检 28.5%。Claude Opus 5.5 点估计最高:第一阶段 83.6%,整条 49.3%,区间本轮未从图 6b 读出。分母 73 条任务、十个 Agent 各一条通过率再平均。

162.7 到 28.5

2026 年 10 月 27 日,arXiv 收到 FeatureArc: Benchmarking Coding Agents on Evolving Features(arXiv:2610.37434v1,cs.SE,作者 Yunlong Wang、Alyssa Wu、Cuiyun Gao、Jia Feng、Songyuanyi Lu、Zhichao Hu,单位署腾讯混元团队、香港中文大学)。预印本,未经同行评审。本轮读的是 PDF 全文和 HTML 全文。

原文问:单次需求写得好的 Agent,能不能在自己写过的代码上把同一条特征接着做对。评测设定叫 L4:用户只给下一阶段的规格,不说上一阶段过没过。十个编码 Agent,每个在同一 73 条任务上跑完整条链。

这篇只论证一个判断。判断是我的,依据是论文表 3 和 Finding 1。十个 Agent 的第一阶段通过率未加权平均 62.7%,整条特征终检(chain gate)28.5%。每个 Agent 自己的终检都比第一阶段低:表 3 两列相减是 26.1 至 38.4 个点,Finding 1 写 26.0 至 38.4。Claude Opus 5.5 点估计最高:第一阶段 83.6%、终检 49.3%,整条仍有一半以上没过;它的区间本轮未从图 6b 读出。62.7 和 28.5 的分母都是 73 条任务、十个 Agent 各一条通过率再平均。每个 Agent 都跑这 73 条,十个通过率平均和 730 次合并通过率数值相同;原文没写每个 Agent–任务只跑一次,730 是我用 73×10 乘的。论文给 Hunyuan 4 Preview 终检写了任务自助 95% 区间 23.3% 至 45.2%,其余 Agent 的区间在图 6b,正文没有逐个数。终检要求整条链每一步都过,第一阶段只要一步。下面是我的粗算,论文没做:用平均第一阶段 0.627、论文续写率 0.701、平均链长 3.60(后面 2.60 步),按步独立估 0.627×0.7012.60≈0.249。和实测 28.5% 同量级。算法用均值代替分布,只作量级。落差里有「多步都要过」的成分,论文没拆开。

第一阶段从仓库初始状态 S0 起步,口径上等价于普通的单阶段任务。终检在最终工作区上跑整条特征的 F2P 和 P2P。两条都过才算整条做成。

273 条从哪来

任务来自仓库历史里同一条用户可见特征的连续扩展。入选仓库至少 30 star、宽松许可证、可离线 Linux 构建,主语言是 Python、TypeScript、Rust 或 Go。流水线从提交图里挖同一特征的阶段,配参考状态,再按 fail-to-pass(F2P,新行为)和 pass-to-pass(P2P,已有行为)做配对校验。

先按语言分层抽 100 条候选,每种语言 25 条,再按链长分层。轨迹筛缺陷去掉 7 条:5 条终检套件要了规格里没有的行为,1 条测试套件有缺陷,1 条仓库钩子会截获提示。人工再查规格、接口契约和隐藏测试是否对齐、后一阶段是否仍在扩同一条特征。评测集:73 条任务、263 个阶段、53 个仓库。后面所有 Agent 对比都用这一集。

语言:Python 21、Go 20、TypeScript 18、Rust 14。七个应用域按仓库手标。阶段 2 到 10 个,平均 3.60。后一阶段改动的文件里,平均 54.3% 在更早阶段也改过,任务中位数 59.1%。参考实现每阶段中位 426 行源码、416 行测试;整条特征中位 1,453 行源码;平均 7.71 个源文件。

论文还写了腾讯内部 8,881 段 IDE 会话作动机:其中 8,728 段有有效用户轮次,3,797 段(43.5%)有后续交互。那是另一份语料,不是这 73 条的分母。

3不报分、不回滚

L1 到 L4 是论文自己定的委托层级。L1 用户告诉 Agent 这一阶段怎么修;L2 指出失败行为;L3 只说这一阶段过没过;L4 只给下一份规格,对更早阶段什么都不说。隐藏的阶段门跑该阶段的 F2P 和 P2P,两条都过才算该阶段过。失败不回滚、也不告诉 Agent,下一阶段从它刚写出的代码接着做。全部阶段之后,终检再跑整条特征的 F2P 和 P2P。

每个 Agent 一条任务共用一个会话和工作区,自己可以看代码、跑自己的检查。参考补丁、隐藏测试和后面的规格不公开。每阶段预算四小时。九个 Agent 跑在 Claude Code 里,GPT-6 Astra 跑官方 Codex CLI。跨 Agent 的分数是模型和 harness 绑在一起的成绩,原文没有把两者拆开。

十个 Agent:Claude Opus 5.5、GPT-6 Astra、Hunyuan 4 Preview、GLM-5.3、Grok 4.7、Qwen 3.8、Gemini 3.8 Flash、Doubao 2.1 Pro、Kimi K3、DeepSeek V4 Pro。Hunyuan 4 Preview 是文中的预发布内部模型。比较单位是配好的编码 Agent,含模型和 harness。

4runAndWait 叠在自己写的 run 上

论文图 1 的任务长这样。m0 加 app.run(),启动一次运行并返回任务标识。m1 加 app.runAndWait(),内部要调 app.run() 再等到结束。m2 再接受文件输入,加 files.upload()。后一阶段写在 Agent 自己对前一阶段的实现上。规格分两份:需求文档写行为和验收;接口契约写名字、签名、常量和错误文案。

单阶段基准给的是一份固定起点。这里后一阶段的正确性绑在前一阶段有没有把 run() 写成契约要的那个。隐藏测试过没过,Agent 看不见。下面是设想,论文图 1 只画了这三步:若 m0 把返回值或错误类型写偏,m1 仍会按自己那份代码接着加等待逻辑。

5每个 Agent 都低 26 至 38 个点

表 3 按终检从高到低排。m0 是第一阶段 F2P 和 P2P 都过的任务比例。Gate 是终检。Cont. 是前面阶段都过的条件下,m1 及以后的阶段通过率。F2P 是所有计分阶段里 F2P 套件通过的比例。Depth 是第一次失败前连续通过的阶段数除以链长。P2P↓ 是整条特征的 P2P 套件失败的任务比例,分母比「纯回归」宽,含新行为已经失败的那些次。

Agent 第一阶段 m0 终检 Gate 差值(点) 续写 Cont. 阶段 F2P P2P↓
Claude Opus 5.583.649.334.379.268.45.5
GPT-6 Astra67.137.030.176.155.520.5
Hunyuan 4 Preview60.334.226.175.049.48.2
GLM-5.364.431.532.972.056.319.2
Grok 4.760.326.034.370.950.611.0
Qwen 3.861.624.736.965.449.06.8
Gemini 3.8 Flash61.623.338.366.249.45.5
Doubao 2.1 Pro60.321.938.460.043.08.2
Kimi K356.219.237.064.542.215.1
DeepSeek V4 Pro52.117.834.361.540.311.0
Pooled(论文)62.728.534.270.150.411.1

表内百分数来自论文表 3。差值是我用表 3 两列相减,范围 26.1 至 38.4;论文 Finding 1 写 26.0 至 38.4,差 0.1 个点,按表 3 的一位小数相减。Pooled 一行照抄表 3;m0、Gate、F2P、P2P↓ 与十个 Agent 的未加权平均一致(我验算过),Cont. 70.1 是论文的合并值,十个续写率未加权平均是 69.1,分母是各 Agent 前面阶段都过的后续阶段,条数不同。Hunyuan 终检 34.2% 的 95% 区间 23.3% 至 45.2% 写在论文第 VI 节,按任务自助、4,000 次重抽样。名次大体还在(m0 与终检 Spearman ρ = 0.87),第一阶段分数仍高估整条做成的次数。

论文表 3 · 第一阶段 m0 与终检 Gate(%) 73 条任务。绿:第一阶段 m0;蓝:终检 Gate。右侧橙色是十个 Agent 未加权平均。 第一阶段 m0 终检 Gate 0 30 60 90 83.6 49.3 Opus 67.1 37.0 Astra 60.3 34.2 混元 64.4 31.5 GLM 60.3 26.0 Grok 61.6 24.7 Qwen 61.6 23.3 Gemini 60.3 21.9 豆包 56.2 19.2 Kimi 52.1 17.8 DS 62.7 28.5 平均 DS 是 DeepSeek V4 Pro。混元是 Hunyuan 4 Preview。平均两柱换了橙色,避免看成第十一个模型。每个 Agent 分母 73 条。
图 1. 论文表 3 的 m0 与 Gate。每个 Agent 的分母是 73 条。平均是十个通过率的未加权平均。每个 Agent 都跑这 73 条,和 730 次合并通过率数值相同;730 是我用 73×10 乘的,原文没写每个 Agent–任务只跑一次。

只看最后一阶段也会偏高。最后一阶段的门用的是该阶段自己的 F2P 和 P2P;终检查的是最终代码上的整条特征。过了最后一阶段门的 273 次里,69 次(25.3%)终检没过。至少失败过一个阶段的 525 次里,只有 14 次(2.7%)后来过了终检。

图 6a 写从未恢复的那些次第一次失败落在哪:36.2% 的全部次数第一次失败就在 m0;另 20.7% 第一次失败在 m1,也就是第一次叠在自己代码上的阶段;只有 13.2% 第一次失败更靠后。36.2 不是第一阶段失败率。第一阶段失败率按表 3 的 m0 是 100 − 62.7 = 37.3 个点,是我用平均通过率算的。两阶段任务的终检 44.4%;五阶段及以上 1.5%,过的只有两次,都是 Grok 4.7。图 5 在含 m2 的 57 条、含 m3 的 34 条上画存活曲线。

已经做成的行为被后改动弄坏,相对少。链内回归:每个阶段自己的 F2P 都过了,最终工作区却没过整条 F2P,占这类次数的 7.3%。纯回归:最终工作区过了整条 F2P、没过整条 P2P,占过了整条 F2P 那些次的 3.3%。表 3 的 P2P↓ 5.5% 至 20.5% 还含新行为已经失败的次数,和 3.3% 不是同一个率。

6辅线:失败之后接着写

下面几句是论文 Finding 4、6、7,不当另一条主判断。分母是阶段,十个 Agent 合并。22.6% 和 70.2% 的 n,论文正文没给。

L4:规格接着给,对错不告诉 Agent 左:评测流程。右:62.7 到 28.5 的分解。绿框 Agent 看得见,橙框看不见。 用户只给下一阶段规格 不说上一阶段过没过 Agent 在自己的代码上改 同一会话、同一工作区 隐藏门:F2P + P2P 结果不回报、失败不回滚 全部阶段后的终检 整条特征的 F2P 和 P2P 第一阶段 62.7% → 终检 28.5% 分母 73 条 × 十个 Agent 的通过率平均 每个 Agent 自己低 26.1 至 38.4 个点 过了最后一阶段门的 273 次 69 次(25.3%)终检没过 525 次至少失败过一阶段,14 次后来过终检 第一次失败落在哪 m0:36.2%;m1:20.7%;更后:13.2% 两阶段终检 44.4%;五阶段及以上 1.5% 作者粗算:0.627 × 0.701 的 2.60 次方 ≈ 0.249 用均值代替分布,论文没做链长校正
图 2. L4 流程,以及 62.7 到 28.5 从哪掉。右侧三个盒子的分母不同:通过率平均、最后一阶段门的次数、全部次数里第一次失败的位置。不要减成同一个差。

前一阶段过了,下一阶段 F2P 70.2%;前一阶段没过,22.6%(图 7)。每个 Agent 都有这个缺口。按任务–阶段成组、两组都有的 109 组等权平均,是 72.6% 对 29.0%。论文写这些差与前一阶段结果相关(associated with),没有做成因。同一程序下 72.6 − 29.0 = 43.6 个点,是我用组内平均减的。全池 70.2 − 22.6 = 47.6 个点是另一分母,上下文压缩(少于 40 次调用 6.2 个点、40–99 次 5.2 个点)和规格变长(6.4 个点)又是别的子集,不和 47.6 比大小。

失败的后续阶段里,轨迹标成带继承缺陷的占 72.9%(全因 47.1%,部分 25.9%)。失败之后的阶段上,Agent 完全没注意到更早那个错,占 94.9%(各 Agent 90.2% 至 99.0%)。盲评 60 条里 56 条一致。注意到的 50 个阶段里,修掉了 34 个。九个跑 Claude Code 的 Agent,失败后的工具调用中位数只高 4% 至 18%;Opus 花在测试上的调用占比,失败后 15.0%、通过后 15.3%。

73.8% 的阶段以自己的绿测收场,这些阶段的隐藏 F2P 通过率 52.7%,只比全部阶段的 50.4% 高一点。红测收场仍过 45.2%。失败之后仍报绿的 713 个阶段,隐藏 F2P 只过 24.5%。367 个红测收场的阶段里,Agent 说失败无关或早就有的 321 次(87.5%);这 321 次里 23 次(7.2%)先在该阶段起点代码上跑过同一测试。这些是阶段级隐藏 F2P,不是终检。

7你的验收停在第几阶段

读完要看的是自己的运行位。排行榜、内部评测、技能记录如果停在「这一次请求过了隐藏测试」,和这篇的第一阶段 62.7% 同类。论文测的是:同一条特征再往下写、代码是 Agent 自己留下的、中间没有人报失败,终检剩 28.5%。

编辑起点如果在每阶段结束时把失败告诉 Agent 或回滚,那是论文的 L1 到 L3,这篇的 28.5% 不能直接当那个数字。技能记录里如果写了「Agent 自己跑测试就算过」,第 6 节有阶段级隐藏 F2P 的对照,不是终检。

下面是我的推断,论文没有在你的线上测过。把「先写、再验收、再写下一段」里的验收省掉,第一阶段分数会高估整条特征。高估幅度不要直接抄 26 至 38 个点:终检要求每一步都过,第一阶段只要一步,第 1 节那条独立粗算已经和 28.5% 同量级。这篇也没有证明 34 个点都来自没注意到继承缺陷:36.2% 的全部次数第一次失败就在 m0,那一截还没继承。继承这条缝出现在已经失败之后的续写上。

10-07 写过 harness 是模型外面那层程序。这篇九个 Agent 跑 Claude Code、一个跑 Codex CLI,分数没有拆开。10-15 写过隐藏测试判为修好之后,报告仍差一截。这一篇补的是:十个 Agent、73 条特征,第一阶段 62.7%,整条终检 28.5%。

8这篇没测到的

  • 设定是 L4。中间有人报失败或回滚,数字会变。原文没在 L1 到 L3 上对同一 73 条重跑。
  • 模型和 harness 绑在一起。九个 Claude Code,一个 Codex CLI。原文写跨 Agent 分数是联合成绩,没有只换 harness 的消融。
  • 73 条是 100 条分层样本再筛再人工留下的。轨迹筛掉 7 条。由 100、7、73 推得另外 20 条在人工检查前后离开,作者自算,前提是除这两步外没有别的筛选。四种语言、七个应用域,原文自己写可能盖不住真实特征开发的全部流程。任务筛选用若干模型的轨迹,被筛掉的正是 Agent 易失败的类型。
  • 终检区间正文只给了 Hunyuan。34.2%(23.3% 至 45.2%)。其余 Agent 的任务自助区间在图 6b,本轮没有从矢量图里读数。28.5% 没有单独公布的区间。Opus 是点估计最高,区间未读。
  • 标注与构造用的模型和被评模型重叠。轨迹标签三个模型:Hunyuan 4 Preview、DeepSeek V4.1 Flash、GLM-5.3 Flash,多数表决,第一作者裁决全票不一致的项。Hunyuan 4 Preview 是作者团队的待评预发布模型,同时被评测、又给轨迹打标签。任务构造:GPT-5.5 做步骤 1–3,DeepSeek V4.1 Flash 做步骤 4,Claude Sonnet 5 做步骤 5,两家模型家族与被评 Agent 重合。规格抽查 60 个阶段只由第一作者一人完成。继承 90/90 一致,先验觉察 56/60。72.9% 和 94.9% 跟这些标签走。
  • 五阶段及以上终检 1.5%,分母是这类任务上的全部次数,正文没写这类任务有几条。过的两次都是 Grok 4.7,不要读成 Grok 在长任务上系统更强。
  • 绿测、红测的分母随 Agent 变。Grok 和 Gemini 的红测少于 20 个阶段。这些是第 6 节辅线,不是终检。
  • 每阶段四小时、离线容器、依赖预装。要上网装包、要人补语境的特征,这篇没有。
  • Hunyuan 4 Preview 是预发布内部模型。论文第 VI 节用它说明内部评测缺 L4,不是另一条主判断。
  • 落差没有链长校正。终检要求每一步都过。第 1 节那条独立粗算是作者自己的,论文没做。

9出处

数字来自预印本 PDF 与 HTML(arxiv.org/html/2610.37434,pdf,abs,2026-10-27,未经同行评审)。论文表 1–4、第 2–6 节、图 1、2、4–8。export.arxiv.org 的 Atom 里 published 为 2026-10-27T15:45:50Z。Claude Code 按原文注 code.claude.com/docs/en/overview。Codex CLI 按原文注 github.com/openai/codex。表 3 差值、第一阶段失败率 37.3 个点、独立粗算 0.249、组内差 43.6、73×10=730 是我算的,已标明。

OpenAI 新闻页本轮经 r.jina.ai 打开过,近几日条目包括与 Oracle 把应用接到 ChatGPT(10-27)、学术合作(10-26)、GPT-6.1 Sol 与 CodeRabbit(10-26)、GPT-6.1 Terra 系统卡补篇(10-26)。据标题判断,没有带这 73 条分母的演进特征对比,未写入数字。Anthropic 新闻页本轮打开过,10 月 28 日页上有 Opus 5.5(9-22)、S-1(10-26)、用药开发进展(10-27),同样未写入数字。Hacker News 首页打开过,Algolia 48 小时检索返回 400,未作为数字来源。Product Hunt 当日页经 r.jina.ai 打开过,未写入数字。GitHub 搜索返回了 10-26 之后更新的仓库,没有带这一组分母的 FeatureArc 发布说明,未写入数字。X、Reddit 今日未覆盖:本机没有可用登录态。

谱系和增量层分别在 递归自改进前世今生 和 冻底座、改脚手架。这篇只加一条:十个 Agent、73 条特征,第一阶段 62.7%,整条终检 28.5%。