换成模型没见过的私有生产代码库之后,最强的编码 agent 也有六成以上做不出来

1 查看

Specific Labs 发布 Real-SWE:不在开源仓库上评测,而是把从真实公司授权取得的私有生产代码库拿来做题目,题目本身是工程师实际做过的任务。规模是 8 个「模型 + harness」组合、10 个任务、640 次评分 rollout(每组合 80 次,按 8 次运行取 pass@1)。榜单上 Claude Fable 5.1 跑在 Claude Code 上以 38.8% 居首,GPT-6 Astra 跑在 Codex CLI 上 33.8%,Gemini 3.8 Flash 31.2%,GPT-5.6 Sol 垫底 16.2%;10 个任务里有 6 个成功率低于 15%,其中一个 analytics stream reducer 任务 64 次尝试无一解出。逐任务看会把总榜完全打乱:Grok 4.6 在一个客户身份迁移任务上 8/8,而 GPT-6 Astra 只有 1/8;另一个 S3 数据存储度量任务上前三名组合全是 0/8,GLM 5.3 却拿到 3/8。最大的失败类别是漏掉需求,占 468 次失败 rollout 中的 190 次(40.6%)。团队自己标明边界:这不构成公开基准被污染的证明,10 个任务也是小样本。

它评的是「模型 + harness」,这才是你真正在买的东西

榜单上那行字值得读仔细:38.8% 属于「Fable 5.1 跑在 Claude Code 上」,33.8% 属于「Astra 跑在 Codex CLI 上」。Real-SWE 把模型和它的执行框架当成一个整体来评分,而不是给裸模型打分。 这个口径更接近现实。没有人在生产里调用一个赤裸的模型——你用的是某个 agent 工具,它决定了怎么读代码库、怎么分步、怎么重试、上下文满了砍哪一段。同一个模型换一个 harness,结果可能完全不同。之前的公开榜单大多把这一层抽掉了,Real-SWE 把它放了回来。 另一个设定同样关键:题目来自授权的私有生产代码库——例子包括一个 20 万以上用户的应用、一个处理 10 万以上银行对账单的金融科技平台、以及企业销售工具。Specific Labs 的估计是,真实企业里约 99% 的 token 对前沿模型是不可见的。也就是说,模型在开源仓库上的熟练度,覆盖不到你公司里那部分代码。

总榜没什么用,逐任务的方差才有

真正该带走的结论是方差有多大。Grok 4.6 在一个客户身份迁移任务上八战八胜,而总榜第二的 GPT-6 Astra 在同一个任务上 1/8;换到那个 S3 数据存储度量任务,总榜前三名集体 0/8,反倒是不在前三的 GLM 5.3 拿了 3/8。 这意味着「用总榜第一去做选型」基本没有意义。可操作的替代方案很直接:挑三到五个你团队最典型的任务,每个让候选组合各跑八次,看的是通过率和失败形态,而不是别人榜单上的名次。Real-SWE 自己就是这么设计的——每个组合 80 次 rollout,不是跑一遍看结果。 还有一个反直觉的数字:10 分钟以内的 rollout 失败率 71.4%,更长的 rollout 失败率 73.4%。跑得久并没有更容易成功,所以「让它多想一会儿」不是这类失败的解药。

最大的失败不是写错代码,是漏了需求

468 次失败的 rollout 里,190 次(40.6%)归类为漏掉需求——这是最大的单一失败桶,比逻辑错误更常见。 这条对日常用法的指导性最强:如果你的 agent 经常「做完了但不对」,问题大概率不在模型能力,而在需求传达。可做的事包括把验收条件写成可逐条核对的清单、让 agent 在动手前先复述它理解的要求、以及把「改完之后哪些行为必须保持不变」显式写出来。换更贵的模型解决不了漏读需求。 本站 9 月 7 日写过 IFM 主动公布自己 Terminal-Bench 成绩里被 reward hacking 污染的部分。那是从审计分数入手,Real-SWE 是从换一批模型没见过的代码入手——两条路指向同一件事:公开榜单上的编码分数,和「在你公司的代码库里能干活」之间,还隔着一段没被测量的距离。 边界也要照抄团队自己的说法:这不证明公开基准被污染抬高了分数,10 个任务是小样本。但即便如此,榜首在私有代码上仍有六成以上失败,这个事实本身不依赖样本量。

via: The New Stack 报道Specific Labs: Real-SWE 基准页Hacker News 讨论