编程 先数重试次数,再相信编码评分

2026-09-07 12:13:57

先数重试次数,再相信编码评分

一个隐藏了重试、超时和辅助调用的编码 agent 分数,更接近营销而非测量。通过率仍然有用,但只有旁边摆着尝试预算和重试台账(retry ledger)时才有可比性。这篇 dev.to 文章提出一套方法论:把尝试预算、超时、辅助调用、oracle 泄漏标记都作为一等字段记录,让一个免费层实验无需膨胀一次幸运运行就能被复现。

问题:单个绿勾不记录背后的努力

关于 agent 编码的公开讨论仍围绕 PR 上的单个绿色勾。那个勾很少记录背后站了多少次重新生成、多少工具循环、多少被拉长的超时。两个实验室因此能发布完全相同的通过率,却花掉截然不同的模型努力。一份展示不出花费的方法论不是基准,是带分母的新闻稿。

冻结数据集:第一次调用之前

提议的数据集是小型分层包,刻意构建而非从竞赛转储抓取。每个任务带冻结的 fixture 目录、公开 oracle、墙钟超时和 k 次独立尝试的硬上限。分层要混合修复、绿地(greenfield)和回归工作,不让一个容易的簇主导均值。把 oracle 泄漏进 prompt 的任务属于隔离文件,不进计分集。

manifest 把身份与预算钉在一起:哈希应该放在名字旁边,并在第一次模型调用前计算。改 k、超时或温度却不换 dataset_id,会让历史行不可比,哪怕通过率看着稳定。

不抹平花费的指标

单个通过率把好几种不同结果抹平成一个人见人爱的百分比。提议的记分卡为每个任务记录:pass_at_k、用掉的尝试次数、超时计数、辅助调用次数、oracle 泄漏标志。平均通过率只带着这些伴随指标一起报告——就像负载测试报告延迟时带错误率。读者能看出胜利来自第一次尝试,还是来自被悄悄抬高超时后的最后一次允许重试。

参考实现的计分器拒绝打印通过率,除非每行都带尝试预算和超时。台账每行至少要有 task_id、attempt_index、k_budget、timeout_s、elapsed_s、passed、timed_out、helper_calls、oracle_leak。缺失就报错退出——静默的数值默认值正是营销分数溜回严谨实验笔记的方式。

三个过程控制

  • k 的值在任何任务运行前选定,永不因某个喜欢的模型表现弱而在实验中途调高;
  • 墙钟超时由 harness 进程强制执行,不由模型自己的停止条件;
  • 隐藏助手保持关闭,包括额外搜索工具、评论家模型,以及把失败测试悄悄粘进后续 prompt 的行为。

温度、seed(如有)和 fixture 身份与通过位在同一台账行。改变任一字段的重跑必须写新 dataset_id,而不是覆盖旧均值。任务间 prompt 缓存应禁用,或记为台账上的缓存命中标志——暖缓存是一笔未付的重试,会在不提高 k 的情况下抬高 pass_at_k。

为什么免费层更需要这些控制

免费环境让这些控制更重要而非更不,因为重试很容易被藏起来。冷进程、短超时和可见的尝试预算,防止实验借用生产级重试循环。这套方法论不声称免费层更强;它声称当台账完整时,免费层更容易保持诚实。免费服务器是 harness 的合理住处,因为方法论要的是进程隔离胜过峰值吞吐:每次尝试从冻结 fixture 开始、把产物写进一次性工作区、每尝试恰好追加一行台账。

为什么结果不是营销

营销文案想要一个大的通过率加一个没人重读的小脚注。这张记分卡相反:在可能的低调 pass_at_k 旁边发布平均尝试数、超时率和辅助强度。一个以平均尝试接近 1 达到高 pass_at_k 的方法,是一个物件;只有在 k=3 且频繁超时才达到同样比率的方法,是另一个物件。类比是忽视怠速时间、载重和天气的高速油耗测试——公告牌比率看着精确,缺失的列才是真正起解释作用的。编码 agent 分数不带尝试记账有同样的形状:一个干净的比率,其省略的重试承载了结果。台账公开后,别人可以不同意指标权重,但不能假装重试从未发生。

局限与适用边界

方法慢是设计使然,敌视无法冻结的大而标注差的语料。它不估计对预训练数据的污染,也不替代对仅仅匹配 oracle 的 diff 的人工评审。几十个任务的分层集不能排名通用智能;它们只能让本地编码实验室不对自己撒谎。对 API 拒绝提供 seed 的温度控制不完整,即使台账完美仍会保留一些方差。

需要生产延迟 SLA 的团队不该把这张记分卡当容量计划;要求单一赢家的厂商对决也不该用,因为方法同时保留两个数字在视野里。不愿冻结 fixture、发布 k、记录辅助调用的人,跳过这套仪式并称之为轶事更便宜——那个直白的标签比一个通过率被复制后列就被忽略的台账更便宜。

来源:Count Retries Before You Trust a Coding Score - DEV Community

复制全文 生成海报 AI 编码评估 测试 方法论

推荐文章

程序员茄子在线接单