Benchmark · agentic
SWE-bench Pro
Scale AI 推出的更难、抗污染的 SWE-bench 版本。它从模型未曾训练过的、留出的企业、初创公司和开源代码库中选取约 1,865 个真实的 GitHub issue,其修复通常横跨多个文件。
了解更多
- 示例
- 给定一个真实的 issue 和完整的代码库,agent 必须生成一个补丁——通常会改动多个文件——使项目隐藏的测试套件通过。这些问题专门取自私有和商业代码库,以避免训练数据泄漏。
- 评分方式
- 已解决 issue 的百分比,以 pass@1(一次尝试)报告。越高越好。由于任务更难且此前未见过,分数低于 SWE-bench Verified 上的分数。
- 验证方式
- 完全自动且留出式:生成的补丁被应用,代码库真实的隐藏单元测试在沙箱中运行。只有当每个目标测试都通过且没有其他地方出现回归时,任务才算完成。
- 为何重要
- 其设计旨在抵御那些在 SWE-bench Verified 上抬高分数的污染和饱和问题,因此它能更纯粹地反映编码 agent 在模型从未见过的代码上真实、可泛化的能力。
示例解析
任务
代码库
acme/payments 位于固定的基准提交。Issue:Money('0.05').allocate([1, 1, 1]) 丢失了一美分——三部分之和为 $0.04,而非 $0.05。生成一个补丁,使分配后的各部分之和始终等于原始金额。解答
--- a/payments/money.py
+++ b/payments/money.py
@@ def allocate(self, ratios):
- total = sum(ratios)
- return [self._from_minor(self.minor * r // total) for r in ratios]
+ total = sum(ratios)
+ shares = [self.minor * r // total for r in ratios]
+ remainder = self.minor - sum(shares)
+ for i in range(remainder):
+ shares[i] += 1
+ return [self._from_minor(s) for s in shares]
解析
整数除法会截断,因此剩余的最小单位(美分)被悄无声息地丢失了。修复方法先计算每一份,然后将余数每次一个单位地分配给靠前的各部分,保证分配后的各部分之和始终等于总额。隐藏测试针对多种金额和比例断言
sum(m.allocate(ratios)) == m。| 日期 | 模型 | 得分 | 来源 |
|---|---|---|---|
| 2026-07-08 | Grok 4.5 | 64.7% | xAI发布Grok 4.5,成本低且基准测试表现参差不齐 |
| 2026-04-23 | GPT-5.5 | 58.6% | OpenAI 通过 API 发布 GPT-5.5 和 GPT-5.5 Pro |
| 2026-04-23 | GPT-5.5 | 58.6% | OpenAI发布具备智能体能力的GPT-5.5,API定价翻倍 |
| 2026-04-23 | Claude Opus 4.7 | 64.3% | OpenAI发布具备智能体能力的GPT-5.5,API定价翻倍 |
| 2025-12-11 | GPT-5.2 Thinking | 55.6% | OpenAI 推出 GPT-5.2,具备改进的代码编写、长上下文和推理能力 |
| 2025-12-11 | GPT-5.2 Thinking | 55.6% | OpenAI发布GPT-5.2,在编码和推理基准测试中超越Gemini 3 |