AI评测中的重复试验:单次成功率与pass@k

记录AI任务结果时,“五次里至少成功一次”和“每次都能成功”是不同目标。若只展示最好的一次,却省去重试次数、失败记录和验收规则,就会让读者误解系统在日常使用中的可靠性。

浅色任务卡片与结果检查清单
浅色主题概念配图,选自本站AI生成图库;非事件现场或产品实测截图。

先确定你要回答哪一个问题

同一项代码任务运行五次,结果为失败、失败、成功、失败、失败。按尝试次数计,观察到的成功比例是1/5;按这一组是否至少成功一次计,结果为是。后一项不能直接改写成“任意一次请求都能成功”。

把三种记录并排保存

Anthropic的Agent评测文章区分了至少一次成功与多次全部成功的指标。下面使用手写结果做统计练习,不估计任何真实模型的总体成功概率,也不实现完整基准中的pass@k估计器。

runs = {
    "task-a": [False, False, True, False, False],
    "task-b": [True, True, True, True, True],
    "task-c": [False, False, False, False, False],
}
per_attempt = sum(sum(v) for v in runs.values()) / 15
any_success = sum(any(v) for v in runs.values()) / 3
all_success = sum(all(v) for v in runs.values()) / 3
assert per_attempt == 0.4
assert any_success == 2 / 3
assert all_success == 1 / 3
print(round(per_attempt, 3), round(any_success, 3), round(all_success, 3))

相同输入也需要相同的验收条件

本地练习输出0.4、0.667、0.333。若第一次按严格测试判失败,后面却凭“看起来不错”判成功,统计就失去可比性。对真实任务,应固定测试、允许的工具、起始文件和停止条件,并记录模型与提示词版本。

重试不是没有成本的选择

一次成功也许可接受,但前提是系统能辨认哪次成功,并且失败尝试不会留下错误写入。涉及邮件、订单或文件修改时,还要说明是否回滚和怎样去重。不能只计算最终成功,而忽略等待时间、调用费用及失败副作用。

可在评测表中同时保存任务ID、每次结果、失败原因、重试次数与总耗时。样本很少时,把它称为这组观察结果,避免将一项任务的五次尝试推成所有用户的成功率。

资料来源与继续学习

资料查阅日期:2026年10月15日。示例、阅读练习与操作建议由本站整理。

资料查阅与编辑日期:2026年10月15日。作者:玖柒。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享