为什么重要
EvalPlus 发现原始 HumanEval 的测试用例太弱——很多”看起来对”的代码其实有 bug。增加 80 倍测试用例后,所有模型的 pass@1 显著下降。被 Claude 4 报告采用为核心评测。
构建方式
- 在 HumanEval (164题) 和 MBPP (378题) 基础上
- 用 LLM + fuzzing 自动生成更多测试用例
- 人工验证测试用例的正确性
- 每道题从原来 ~8 个测试用例扩展到 ~640 个
任务示例
原始测试:add(1, 2) == 3(太简单)
扩展测试:add(0, 0) == 0、add(-1, 1) == 0、add(999999, 1) == 1000000、add(1.5, 2.5) == 4.0(边界和特殊情况)
关键发现
- 原始 HumanEval 上 GPT-4 ~90%,EvalPlus 后降到 ~82%
- 越”聪明”的代码越容易在边界情况出错
- 排名变化:有些模型在 HumanEval 排名靠前但 EvalPlus 后下降
关联基准
- HumanEval:原始版本
- MBPP:另一个被 EvalPlus 增强的基准
- BigCodeBench:更实用的编程
不足与展望
- 自动生成的测试用例可能有假阳性(错误的测试)
- 仍是函数级评测,不测仓库级