返回评测
代码生成 代码-函数级 未饱和 模态 · 代码 任务 · 代码生成

MBPP+

MBPP 的测试加固版本,974 题 + 增强测试用例

UIUC ·

考察能力

基础代码生成 边界处理 鲁棒性

构建信息

数据规模
974 problems (sanitized) + enhanced tests
评测方式
测试用例通过
核心指标
Pass@1

模型效果排行

🥇 GPT-4o
78.2%
🥈 Claude 3.5 Sonnet
76.5%

为什么重要

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”意味着难度天花板低,难以区分顶级模型。

代码生成 基础 加固测试 MBPP