为什么重要
MBPP(Mostly Basic Python Problems)是与 HumanEval 齐名的代码生成基准,但原始测试用例同样不足。MBPP+ 通过 EvalPlus 框架增加了大量边界测试用例,使评测更准确。它与 HumanEval+ 构成 EvalPlus 评测体系的两翼。
构建方式
基于 MBPP(由 Google 发布的 974 道 crowd-sourced Python 编程题),使用 EvalPlus 框架自动生成边界测试用例。清除原始数据中有歧义或错误的题目。
任务示例
- 题目:“Write a function to find the longest common subsequence of two strings”
- 原始测试:3 个基本用例
- MBPP+ 测试:50+ 用例(空串、相同串、超长串、特殊字符等)
关键发现
- MBPP+ 下所有模型得分比 MBPP 低 5-12%
- 与 HumanEval+ 的差异:MBPP+ 题目更简单但测试更多
- 两个基准的排名不完全一致,需结合使用
关联基准
HumanEval+(函数级加固)、EvalPlus(框架)、BigCodeBench(复杂编程)
不足与展望
仅覆盖 Python。“Mostly Basic”意味着难度天花板低,难以区分顶级模型。