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

CoderEval

评测在真实仓库上下文中生成可执行代码的能力

Peking University / Microsoft ·

考察能力

上下文感知生成 API 使用 依赖理解

构建信息

数据规模
460 functions (Python + Java)
评测方式
测试用例执行
核心指标
Pass@1

模型效果排行

🥇 GPT-4o
48.7%
🥈 CodeLlama-34B
32.1%

为什么重要

CoderEval 解决了 HumanEval/MBPP 脱离实际的问题——它从真实 GitHub 项目中采集函数,保留完整的仓库上下文(imports、类定义、依赖等)。生成的代码需要在真实环境中通过测试,而非孤立的算法题。

构建方式

从 GitHub 热门仓库中抽取函数,按依赖级别分为 6 类:self-contained、slib(标准库)、plib(第三方库)、class(类方法)、file(文件级)、project(项目级)。

任务示例

  • 给定一个 Python 类的上下文和方法签名
  • 模型需理解类的属性和其他方法
  • 生成的代码必须正确使用项目的依赖和 API

关键发现

  • 从 self-contained 到 project 级别,模型性能急剧下降
  • 依赖外部 API 的函数最难生成
  • 上下文长度不是主要瓶颈,理解上下文语义才是

关联基准

HumanEval(孤立函数)、RepoBench(仓库级)、ClassEval(类级生成)

不足与展望

460 个样本的规模偏小。评测环境搭建成本高,限制了社区复现。

代码生成 实用场景 上下文 函数级