首页/AI/提示词工程速查/代码评估 pass@k
本包目录(290 条)
提示词基础40 条模式与框架50 条任务型写法50 条
评估与迭代50 条
提示注入与防护50 条工程化实践50 条

代码评估 pass@k

代码任务用 pass@k 度量:同一题生成 k 个候选,只要有一个通过测试即算通过;k 越大越宽松,报告必须带 k。

提示词工程速查AI更新于 2026-10-12

pass@k 计算(无偏估计)

pass@k 计算(无偏估计)
import math
def pass_at_k(n, c, k):
    if n - c < k: return 1.0
    return 1.0 - math.comb(n - c, k) / math.comb(n, k)
print(pass_at_k(n=10, c=3, k=1))  # pass@1
print(pass_at_k(n=10, c=3, k=5))
口径pass@1 是首答通过率;k>1 反映多试几次可用的概率
测试通过与否由单元测试判定,测试覆盖决定指标含金量
采样生成温度影响 pass@k;报告要带采样设置

易错点

  • 只报 pass@k 不报采样设置与 n,数字无法复现;三项都要给
  • 测试用例太弱时 pass@k 虚高;补边界用例再评估

数据来源与参考

  • Evaluating Large Language Models Trained on Code(Chen et al., 2021):pass@k 无偏估计
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌