Skip to content

Latest commit

 

History

History
245 lines (171 loc) · 11.1 KB

File metadata and controls

245 lines (171 loc) · 11.1 KB

基准测试概览

本文档涵盖 AI 编程代理的基准测试。

重要声明:本文中标"~"的数字为近似值或社区测试估算,非官方发布数据。具体分数请以 SWE-bench 排行榜 和各项目官方公告为准。

SWE-bench

什么是 SWE-bench?

SWE-bench 是 Princeton NLP 开发的基准,使用真实 GitHub issues 评估 AI 代理的软件工程能力。

基准子集

子集 规模 说明
SWE-bench Lite 300 issues 较简单的子集
SWE-bench Verified 500 issues 人工验证,金标准
SWE-bench Pro 2000+ issues 生产级任务

排行榜(参考值)

Agent SWE-bench Verified 数据来源
SWE-agent (增强版) ~74% SWE-agent 论文/官方
Claude Code ~60% Anthropic 公开数据
OpenHands ~55% OpenHands 项目
Aider ~45% Aider 排行榜

注:各代理的测试条件(模型版本、重试次数、超时设置)可能不同,分数不完全可直接比较。

以下工具(Continue、Cline、Codex CLI 等)无公开的 SWE-bench 官方成绩,此前文档中的数字为估算,已移除。

Aider Code Editing Benchmark

概述

Aider Code Editing Benchmark 是由 Aider 项目维护的代码编辑基准测试。该基准使用来自 Exercism133 道编程练习题,覆盖多种编程语言,重点评估 AI 工具在以下方面的能力:

  • 代码生成:根据自然语言描述生成正确的代码
  • 代码编辑格式:正确应用 diff/edit 格式对现有代码进行修改
  • 测试通过率:生成的代码能否通过 Exercism 提供的单元测试

与 SWE-bench 的区别在于,Aider Benchmark 更侧重于单文件编辑场景,而非跨文件的复杂工程任务。这使得它更适合评估模型的基础代码编辑能力。

排行榜(参考值)

模型 通过率 (Pass@1) 编辑格式 近似成本/题
Claude Opus 4 ~85% diff ~$0.15
Claude Sonnet 4 ~80% diff ~$0.04
GPT-4o ~78% diff ~$0.05
Gemini 2.5 Pro ~75% diff ~$0.03
DeepSeek V3 ~70% whole ~$0.01
GPT-4o-mini ~62% whole ~$0.005

注:成绩取决于 Aider 使用的编辑格式(diff 或 whole),不同格式对不同模型的效果可能不同。数据来源:Aider 排行榜

Terminal-Bench

概述

Terminal-Bench 是一个专注于终端操作能力的基准测试,评估 AI 代理在命令行环境中完成任务的能力。与 SWE-bench 侧重代码修改不同,Terminal-Bench 测试的是代理与终端交互的全流程:

  • 文件系统操作(创建、移动、搜索文件)
  • 包管理与环境配置
  • Git 操作(分支管理、合并冲突解决)
  • 构建系统与编译任务
  • 网络工具与系统管理命令

主要结果(参考值)

Agent Terminal-Bench 得分 说明
Claude Code ~70% 原生终端集成优势
Codex CLI ~65% 沙盒终端能力较强
Aider ~50% 以代码编辑为主,终端操作较弱
Continue ~40% IDE 集成为主,终端交互有限

注:Terminal-Bench 仍在发展中,社区版本较多,上述数据为近似参考值。

LiveCodeBench

概述

LiveCodeBench 是一个基于竞赛编程的动态基准测试。它持续从 LeetCode、Codeforces、AtCoder 等平台收集新题目,确保模型不会因为训练数据泄露而获得虚高分数。

与 SWE-bench 的核心区别

维度 SWE-bench LiveCodeBench
任务类型 真实 GitHub issue 修复 竞赛编程题
代码规模 跨文件、大型代码库 单文件、独立函数
评估能力 工程理解 + 代码修改 算法设计 + 逻辑推理
数据更新 固定数据集 持续更新,防泄露
上下文需求 需要理解整个项目 题目自包含

参考得分

模型 LiveCodeBench Pass@1 说明
Claude Opus 4 ~55% 推理能力较强
GPT-4o ~50% 综合表现稳定
Gemini 2.5 Pro ~48% 长上下文有帮助
Claude Sonnet 4 ~45% 性价比高
DeepSeek V3 ~42% 开源模型表现突出

注:LiveCodeBench 得分普遍低于 HumanEval,因为题目难度更高且持续更新。数据为近似参考值。

其他基准

HumanEval

Python 编程问题(评估的是模型而非代理工具):

模型 Pass@1 说明
Claude Opus 4 ~92% Anthropic 公开
GPT-4o ~90% OpenAI 公开
Gemini 2.5 Pro ~88% Google 公开
Qwen3-Coder ~85% 阿里云公开

注:HumanEval 评估的是 LLM 模型的代码生成能力,与代理工具的集成效果不同。

代理工具实测对比

基准测试反映的是标准化场景下的能力,但真实开发中的表现往往与基准分数有较大差距。以下是基于社区反馈和实际使用经验的非正式估算,仅供参考:

典型任务场景

常见的实测对比任务包括:

  • 为现有项目添加新功能(跨多文件修改)
  • 修复生产环境 bug(需要理解日志和上下文)
  • 代码重构(重命名、拆分模块、迁移 API)
  • 编写或补全测试用例

实测参考数据(估算)

Agent 典型任务耗时 平均 Token 消耗/任务 任务成功率(估算) 适合场景
Claude Code 2-8 分钟 ~50K-200K ~70% 全栈开发、复杂重构
Cursor (Agent) 1-5 分钟 ~30K-150K ~65% IDE 内快速迭代
Aider 1-5 分钟 ~20K-100K ~60% 终端用户、代码编辑
Cline 2-10 分钟 ~40K-200K ~55% VS Code 深度集成
Continue 1-3 分钟 ~15K-80K ~50% 轻量编辑、代码补全
Codex CLI 2-6 分钟 ~30K-120K ~55% 终端自动化
OpenHands 3-15 分钟 ~60K-250K ~55% 自主研究任务

注:以上数据为社区反馈的综合估算,实际表现因任务复杂度、项目规模、模型版本等因素差异很大。"任务成功率"指一次交互即可得到可用结果的概率。

影响实测表现的因素

  • 项目上下文质量.cursorrulesCLAUDE.md 等配置文件对结果影响显著
  • 提示词质量:清晰、具体的指令通常能大幅提升成功率
  • 代码库规模:大型代码库中的上下文检索能力差异明显
  • 语言与框架:主流语言(Python、TypeScript)的表现普遍优于小众语言

基准测试的局限性

SWE-bench 不测试的内容

SWE-bench 虽然是目前最权威的代理基准之一,但它存在明显的局限性:

  1. 不测试真实工作流:SWE-bench 的任务是修复已知 issue,但实际开发中大量工作是实现新功能、编写文档、代码审查等
  2. 不测试交互能力:基准中代理是自主运行的,无法评估工具在人机协作中的表现(如多轮对话澄清需求)
  3. 不测试长期项目理解:每个 issue 都是独立的,不评估代理在同一项目中持续工作的能力
  4. 不测试工具链集成:真实开发中需要与 CI/CD、测试框架、部署系统等集成

基准刷分(Benchmark Gaming)

基准测试的一个已知问题是过度优化

  • 针对性训练:一些模型或工具可能对 SWE-bench 的测试仓库进行了特定优化
  • 重试策略:允许多次重试的测试条件下分数会显著偏高
  • 超时差异:不同的超时设置(如 5 分钟 vs 30 分钟)会导致结果不可比
  • Cherry-picking:部分结果可能选择性报告最佳成绩

为什么实际表现与基准不同

用户在实际使用中经常发现工具表现与基准分数不符,原因包括:

  • 分布偏差:基准测试的任务分布与实际工作任务不同
  • 环境差异:基准在受控环境中运行,实际开发环境更复杂
  • 主观体验:用户满意度还取决于响应速度、交互体验、错误恢复等基准不衡量的因素
  • 领域特异性:某些工具在特定领域(如前端开发)表现远好于平均水平

成本效率分析

每百万 Token 成本 (2026)

模型 输入 输出 说明
Claude Opus 4 $15 $75 最强推理,成本最高
Claude Sonnet 4 $3 $15 性价比平衡点
Claude Haiku 4 $0.25 $1.25 轻量任务首选
GPT-4o $2.50 $10 OpenAI 旗舰
GPT-4o-mini $0.15 $0.60 低成本选择
GPT-o3 $10 $40 推理模型
Gemini 2.5 Pro $1.25 $5 Google 长上下文
Gemini 2.5 Flash $0.15 $0.60 Google 轻量模型
DeepSeek V3 $0.27 $1.10 开源模型 API
Qwen3-Coder (API) 按量付费 阿里云定价
Qwen3-Coder (OAuth) 免费(1000 次/天) 通过 GitHub OAuth

定价可能变动,请以各提供商官网为准。

SWE-bench 成本效率(估算)

以下表格估算了在 SWE-bench Verified 上每次成功解决 issue 的平均成本。这有助于评估工具的性价比。

工具/模型 SWE-bench Verified 平均 Token/次尝试 估算成本/次尝试 估算成本/成功解决
Claude Code (Opus 4) ~60% ~150K ~$3.50 ~$5.80
Claude Code (Sonnet 4) ~50% ~120K ~$0.55 ~$1.10
SWE-agent (Opus 4) ~74% ~200K ~$5.00 ~$6.75
Aider (Opus 4) ~45% ~80K ~$2.00 ~$4.45
Aider (Sonnet 4) ~40% ~70K ~$0.30 ~$0.75
OpenHands (GPT-4o) ~55% ~180K ~$1.20 ~$2.20
Aider (DeepSeek V3) ~35% ~60K ~$0.03 ~$0.09

计算方式成本/成功解决 = 成本/次尝试 / 通过率

关键发现

  • 最高性价比:DeepSeek V3 + Aider 的组合虽然通过率较低,但成本极低,适合可以多次重试的场景
  • 最高成功率:SWE-agent + Claude Opus 4 在通过率上领先,但单次成本较高
  • 平衡选择:Claude Sonnet 4 系列在成本和成功率之间取得了较好的平衡
  • 开源替代:DeepSeek V3 等开源模型正在缩小与闭源模型的差距,且成本优势明显

注:以上成本为粗略估算,实际成本受 prompt 长度、输出长度、缓存命中率等因素影响。

数据来源


本文档聚焦可验证的数据来源。标注为"估算"或"~"的数据基于社区报告和公开信息推算,可能与实际结果有偏差。建议读者根据自身使用场景进行实测验证。