编程智能体评测基准与方法论
评测是衡量编程智能体能力的基石。当前主流基准各有侧重,理解其设计原理有助于正确解读评测结果。
主流基准对比
| 基准 | 任务类型 | 难度 | 评估方式 |
|---|---|---|---|
| HumanEval | 函数级代码生成 | 中 | 单元测试 |
| MBPP | 函数级代码生成 | 低 | 单元测试 |
| SWE-bench | 真实 Bug 修复 | 高 | 测试套件 |
| LiveCodeBench | 竞赛编程 | 高 | 测试用例 |
python
# SWE-bench 评测流程
def evaluate_agent(agent, instance):
# 1. 提供 Issue 描述
patch = agent.solve(instance.problem_statement)
# 2. 应用 patch
apply_patch(instance.repo, patch)
# 3. 运行测试
passed = run_tests(instance.test_patch)
return {"resolved": passed}SWE-bench 的局限
SWE-bench 仅测试 Python 项目,且测试覆盖不完整。通过测试不等于正确修复,需人工审查。