论文

超越Pass@k:度量Agentic代码生成的可靠性与安全性

Beyond Pass@k: Measuring Reliability and Security of Agentic Code Generation

模型评测评测方法与指标

摘要

AI编码智能体基准使用Chen等(2021)的pass@k估计量为智能体排名,但当前实现误用了它:它们把n设为单次提交中的单元测试数量,而非独立rollout尝试的次数,混淆了测试套件规模与尝试独立性。我们诊断了这一操作化错误,用反例加以证明,并提出reliability@k——正确应用同一估计量,其中n为独立rollout数、c为每个(任务,智能体)对上完全通过的rollout数。在一个合成多rollout基准中,误用的指标使报告分数绝对值虚高0.85-0.97(报告值0.96-0.98,修正值0.00-0.12),且廉价的单rollout代理无法替代重复运行(Spearman ρ=0.417)。鉴于有证据表明功能正确并不意味着安全,我们进一步提出安全调整的reliability@k,只统计既功能正确又不含高严重性不安全模式的rollout。在对三个智能体的初步live-API测试中,在当前扫描器与阈值下该调整未改变任何排名,因此我们将其作为提议的补充视角,其决定性评估需要统计功效更高的未来运行。最后,一个初步的5任务SWE-bench Verified试点在真实仓库场景中观察到同样的核心问题:宏平均的隐藏测试通过率为0.80,而严格的任务解决率仅0.20。

超越Pass@k:度量Agentic代码生成的可靠性与安全性:论文配图
图1:当前 pass@5 实现的类别错误证明。两个单次提交具有相同的单元测试通过率,却得到不同的 pass@5 分数,因为该实现将单元测试视为独立样本。合成 CodeBench 实验(seed=42)。