代码评测benchmark介绍
工程类
(1)Aider-Polyglot Benchmark
前言:openai o3发布,只选择了3个代码评测标准,aider就是其一,主要是评测模型实际工程的代码修复能力
Aider 的 Polyglot Benchmark 是一个专为评估 AI 模型在多语言编程任务中能力而设计的基准测试框架,尤其聚焦于 代码修改能力。其核心目标是通过高难度、多语言的编程挑战,检验 AI 在复杂代码库中理解上下文、执行精准修改的能力,而非单纯的代码生成。以下是该基准的详细介绍:
- 设计理念与核心目标
- 聚焦代码修改:不同于传统的代码生成基准(如 HumanEval、MBPP),Polyglot Benchmark 要求 AI 在已有代码基础上进行修改,而非从零编写。例如,修复特定功能、优化性能或遵循系统提示调整代码结构。
- 高难度筛选:从 Exercism 平台的 697 个编程练习中,筛选出 225 个最具挑战性的问题,这些问题仅被 3 种或更少模型解决过,确保测试的难度足以区分顶级 AI 的能力。
- 多语言覆盖:支持 C++、Go、Java、JavaScript、Python、Rust 六种主流编程语言,覆盖不同编程范式(如面向对象、函数式)和语言特性(如静态类型、内存管理)。
- 评估指标与方法
- 正确率:AI 生成的代码通过单元测试的比例。例如,Gemini 2.5 Pro 在 2025 年 4 月的测试中以 72.9% 的正确率位居榜首。
- 系统提示执行率:AI 遵循用户指令(如 “在不影响现有功能的前提下优化算法”)的严格程度。Gemini 2.5 Pro 的执行率达 92.4%,表明其能精准理解并执行复杂指令。
- 迭代与自验证:部分模型(如 Refact.ai Agent)通过 自主迭代、测试和纠错 提升准确率。例如,Refact.ai Agent 通过 30 步迭代和强制测试,将得分从 76.4% 提升至 92.9%。
(2)SWE-bench
缺点:只支持python语言评估
SWE - bench 是由普林斯顿大学和芝加哥大学的研究者提出的,在 ICLR 2024 会议上发表的大模型评测基准4。以下是具体介绍: - 目的:评估大型语言模型解决真实世界中 GitHub 软件问题的能力,推动语言模型在软件问题解决领域能力的研究。
- 数据来源:从 12 个流行的开源 Python 代码库(如 scikit - learn、Django、Matplotlib)中收集了约 90,000 个 PR,最终筛选出 2,294 个高质量任务实例,涵盖 API 变更、性能优化、错误修复等广泛的软件工程问题。
- 任务内容:给语言模型提供代码库和问题描述,让其生成解决问题的补丁代码。模型生成的代码必须成功通过代码库的测试用例,以验证其是否真正解决了问题。
- 特性:具有真实世界任务、执行测试评估、长上下文处理、可扩展性等关键特性,任务涉及的代码库规模庞大,包含复杂的代码依赖、跨文件修改等现实开发需求,且未来可以扩展到更多代码库和编程语言。
- 技术架构:基于 Python 3.8+,利用先进的自然语言处理技术和机器学习算法,集成了多种数据集和预训练模型,如 SWE - Llama 系列。
- 评估过程:使用 Docker 技术实现容器化评估,以提高评估的可重复性。运行快速评估需要充足的计算资源,建议在配置较高的机器上进行,并注意调整评估参数。
- 应用场景:涵盖模型训练、推理到评估的全过程。开发者可以在 SWE - bench 上训练自己的模型,利用预处理的数据集进行高效的模型迭代;也可以对现有模型进行推理和评估,无论是本地部署的模型还是通过 API 访问的云端模型。
(3)SWE-bench Verified
https://openai.com/index/introducing-swe-bench-verified/
前言:是openai发现SWE-bench有不合理的地方,进行改进的评估标准
原 SWE-bench 的主要缺点
- 单元测试设计不合理
- 测试用例过于特定化,甚至与问题无关,可能拒绝正确解决方案。例如,某测试要求精确匹配弃用警告信息,但问题描述中未提及该要求,导致模型难以满足。
- 部分测试无法覆盖合理解决方案,存在 “假阴性”(Valid solutions are incorrectly rejected)。
- 问题描述不明确
- 38.3% 的样本问题描述模糊或信息不足,导致模型无法明确任务目标。例如,某问题未说明是 bug 还是预期行为,增加理解难度。
- 开发环境设置困难
- 环境配置问题可能导致测试误失败,与模型解决方案无关,影响评估公平性。
SWE-bench Verified 介绍
核心改进与特点
- 人工验证筛选高质量样本
- 由 93 名专业 Python 开发者对 1,699 个样本进行三轮标注,筛选出500 个无显著缺陷的样本,过滤掉 68.3% 存在描述模糊、测试不公或其他问题的样本。
- 标注标准包括:
- 任务明确性:按问题描述清晰度分为 4 级,剔除严重模糊的样本(标签≥2)。
- 测试有效性:检查测试是否覆盖合理解决方案,剔除测试过窄或无关的样本(标签≥2)。
- 难度分级:按修复耗时分为 4 类(<15 分钟、15 分钟–1 小时、1–4 小时、>4 小时),其中 “简单” 子集含 196 个样本,“困难” 子集含 45 个样本。
- 标准化评估工具与环境
- 开发容器化 Docker 评估工具,解决原基准环境配置难题,提升评估可重复性和可靠性。
- 性能表现与影响
- 模型解决率显著提升:GPT-4o 在 SWE-bench Verified 上解决率达 33.2%,较原基准(16%)翻倍;开源模型 Agentless 得分从 16% 提升至 32%,表明原基准确实低估了模型能力。
- 难度分布优化:剔除 “不可解” 样本而非仅降低难度,各难度区间内模型解决率均有提升,而非单纯依赖简单样本。
- 配套资源发布
- 提供完整标注数据,支持按难度切片分析;发布标注指南,透明化评估标准。
- 意义
- SWE-bench Verified 通过人工验证和严格筛选,更真实地反映模型在实际软件工程任务中的能力,为评估模型自主性提供了更可靠的基准,推动 AI 在代码修复领域的研究。
(4)SWE-Lancer: IC SWE DiamondFreelance Coding Tasks
SWE-Lancer 是 OpenAI 于 2025 年推出的人工智能编程能力评估基准,模拟真实自由职业软件工程场景,量化 AI 在实际任务中的价值。其中,IC SWE DiamondFreelance Coding Tasks(独立贡献者钻石级自由职业编码任务)是其核心模块,聚焦高难度、高价值编码任务的评估。
前言:openai的o3和o4mini在这个标准上都取得了top的表现
核心特点
- 任务设计
- 基于 Upwork 平台真实高价值任务(报酬超 1000 美元),覆盖全栈开发、系统优化等场景,代码需通过端到端测试(如用户行为模拟)。
- 数据来自 Expensify 等开源项目,包含复杂系统依赖和遗留问题,非孤立算法题。
- 评估维度
- 技术:代码正确性、执行效率、工具调用能力(如日志分析、模拟用户操作)。
- 经济:任务报酬与完成质量直接挂钩,高价值任务(如 3.2 万美元项目)通过率普遍低于 30%。
- 管理:部分任务要求模拟技术经理决策,协调 “虚拟团队” 协作。
- 行业意义
- 揭示 AI 在系统级理解、长流程协作中的局限性,当前模型(如 Claude 3.5 Sonnet)在高难度任务中通过率约 26%。
- 为企业评估 AI 生产力、工程师技能升级提供参考:低价值任务可能被 AI 替代,高价值工作(如架构设计)仍依赖人类。
(5)Multi-SWE-bench
字节跳动多语言代码评测benchmark介绍Multi-SWE-bench
Multi - SWE - bench 是字节跳动豆包大模型团队于 2025 年 4 月 10 日正式开源的多语言评测数据集。以下是其相关介绍: - 背景与目的:在 AI 技术飞速发展的当下,自动化编程和智能修复 Bug 成为开发者的期盼。以 SWE - bench 为代表的代码修复基准存在仅聚焦 Python 语言、无法评估模型跨语言泛化能力等局限。Multi - SWE - bench 在此基础上应运而生,旨在评估和提升大模型在 “自动修 Bug” 方面的能力,推动自动编程技术迈向新高度。
- 数据来源与规模:数据均来自 GitHub 上的 issues,构建历时近一年。从 2456 个候选样本中,经 68 名专家标注员精心标注,筛选出 1632 个高质量实例,确保数据的真实性和实用性。
- 语言覆盖范围:首次覆盖 Java、TypeScript、C、C++、Go、Rust 和 JavaScript 等 7 种主流编程语言,突破了现有代码修复基准的单一语言局限,真正实现了面向全栈工程的综合评测。
- 任务难度分级:引入难度分级机制,将问题划分为简单(Easy)、中等(Medium)和困难(Hard)三类,涵盖从一行修改到多文件、多步骤、多语义依赖的各种开发挑战,能更全面评估模型在不同能力层次的表现。
- 数据结构:每个数据实例包含组织名称、仓库名称、PR 编号、PR 状态、标题、正文等多个字段,还包括修复补丁、测试补丁、相关测试结果等信息,为评估模型提供了丰富的维度。
- 配套资源:为配合强化学习在自动编程领域的应用,团队还同步开源了 Multi - SWE - RL,提供 4723 个实例及配套的可复现 Docker 环境,支持一键启动、自动评估等功能,为 RL 训练打造了标准化数据基础。
算法类
问答:
1为什么openai,字节跳动要开源自己的benchmark:
回答:市面上的benchmark可能存在评估的一些漏洞,或者放大了不重要的关注点。出于打榜现状,可能会让大模型厂商为了在榜单有不错的表现,不得不进行针对训练,浪费了训练的精力。如果自己的benchmark成为了事实性标准,出于大模型发布打榜现状,大家就都会对benchmark的关注重点进行优化训练。如果有些是不透露测试集的benchmark,那么benchmark的发布方对优化自己模型有更多的信息优势。
2现状代码工程能力哪个模型最强:
aider中 o3 high最强
SWE-bench Verified中 claude 3.7最强
Multi-SWE-bench中claude 3.7最强
3为什么更应该关注代码的工程能力而不是算法能力:
回答:ide利用大模型的工程能力可以解决现实中的实际编码问题,提高工作效率,能直接在现实工作中产生价值。利用claude模型的编程ide中cursor已经有了96亿美元,windsurf预期估值30亿美元,

浙公网安备 33010602011771号