Benchmark · coding
Commit-0
Commit-0 衡量编码智能体能否仅凭规范从零实现一个完整的 Python 库——规范即带 docstring 的函数与类签名,以及一套隐藏的单元测试。主要指标是通过的单元测试比例。
了解更多
- 示例
- 给定一个真实 Python 库的骨架:每个模块、类和函数都以带 docstring 的类型化桩形式存在,但函数体为空;需要将它们全部实现,使该库自带的测试套件全部通过(例如,根据 docstring 补全一个小型库的解析、序列化和工具函数)。
- 评分方式
- 分数为单元测试通过率:每个库的 pytest 套件在隔离环境中运行,该库得分为通过测试的比例,并在基准的 54 个库上聚合。某些配置还要求代码通过 lint 与类型检查。
- 验证方式
- 结果通过在可复现的 Docker 容器中执行隐藏测试套件来认定——pytest 即判定准绳,因此只有测试真正通过才计分,不与参考输出比对。智能体运行可依据测试与 lint 反馈迭代,但最终评分会从干净的检出重新运行整个套件。
- 为何重要
- 它超越了单函数或单文件生成(HumanEval、SWE-bench),转向依据规范合成整个库,考察长程规划、跨模块一致性以及满足真实 API 契约的能力——更接近交付真实软件。
示例解析
任务
库骨架中某个函数的桩,需要将其实现,使其隐藏测试通过:
```python
def parse_version(text: str) -> tuple[int, int, int]:
"""Parse a semantic version 'MAJOR.MINOR.PATCH' into a tuple of ints.
Raises ValueError if text is not three dot-separated integers.
"""
raise NotImplementedError
```
解答
```python
def parse_version(text: str) -> tuple[int, int, int]:
parts = text.split(".")
if len(parts) != 3:
raise ValueError(f"invalid version: {text!r}")
major, minor, patch = (int(p) for p in parts)
return (major, minor, patch)
```
解析
函数体遵守 docstring 契约:按「.」拆分,凡不是恰好三部分的输入都以 ValueError 拒绝,并将每部分转换为 int。评分会在沙箱中运行该库隐藏的 pytest 套件,只有当关于 parse_version 的所有断言都成立时,此项才通过。
该 benchmark 暂无已验证的得分。