Benchmark · agentic
SWE-bench Multilingual
SWE-bench Multilingual 衡量 AI 编程智能体能否通过在多种编程语言的代码仓库中编辑代码来解决真实的 GitHub issue。评分指标是 % Resolved:300 个任务中修复能通过项目自身测试的比例。
了解更多
- 示例
- 任务类型:给智能体一份来自真实 open-source 仓库(例如 Go、Java 或 Ruby 项目)的错误报告,以及修复前那次 commit 的代码库,它必须生成一个 patch,编辑一个或多个文件以消除所描述的问题——不提供参考答案。
- 评分方式
- 指标为 % Resolved:300 个实例每个按通过/未通过评分,最终得分是通过的百分比。只有在应用智能体的 patch 后,针对该缺陷的所有 Fail-to-Pass 测试通过,且所有 Pass-to-Pass 测试(既有行为)仍然通过时,该实例才算通过。
- 验证方式
- patch 通过在隔离的 container 中运行仓库的测试套件来验证:指定的 Fail-to-Pass 测试现在必须通过,而所有 Pass-to-Pass 测试必须保持通过。任何失败、报错或无法应用的 patch 都会将该实例标记为未解决;没有部分得分。
- 为何重要
- 它在 9 种语言、42 个真实仓库上考察 Python 之外的编程能力,揭示出模型在 Go、Rust 或 PHP 等语言上解决的 issue 远少于 Python——这是对跨语言软件工程泛化能力更真实的检验。
示例解析
任务
示例性代表实例。仓库:某个 Go 字符串工具库处于修复前的 commit。Issue:
Reverse() 在包含多字节 UTF-8 字符的字符串上会 panic / 返回乱码。Fail-to-Pass 测试 TestReverseUnicode 期望 Reverse("héllo") == "olléh"。智能体只拿到 issue 文本和仓库——没有参考 patch。解答
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < j; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
解析
原始代码按字节反转字符串,这会切开多字节的 UTF-8 rune 并损坏像
é 这样的字符;转换为 []rune 切片再交换两端,就能按 Unicode 码点反转,因此 Reverse("héllo") 得到 "olléh"。评分:只有当 TestReverseUnicode(Fail-to-Pass)现在通过、且 container 内所有 Pass-to-Pass 测试仍然通过时才被接受。| 日期 | 模型 | 得分 | 来源 |
|---|---|---|---|
| 2026-07-22 | Laguna S 2.1 | 78.5% | Poolside发布Laguna S 2.1,一款开源权重的智能体编码模型 |
| 2026-03-27 | Composer 2 | 73.7% | Cursor 发布关于代理式编码模型 Composer 2 训练的技术报告 |
| 2025-11-07 | Kimi K2 Thinking | 61.1% | Moonshot AI 发布 Kimi K2 Thinking,一款拥有 1T 参数的开源推理模型 |
| 2025-07-28 | Kimi K2 | 47.3% | Moonshot发布Kimi K2,一款拥有32B激活参数的开放智能体MoE模型 |
| 2025-07-28 | Kimi K2 | 47.3% | Kimi K2:拥有1T参数和MuonClip优化器的开源MoE模型 |
| 2025-07-11 | Kimi K2 | 47.3% | Moonshot AI 发布 Kimi K2:具备智能体能力的 1T 参数 MoE 模型 |
| 2025-07-11 | Kimi K2-Instruct | 47.3% | Moonshot AI 发布 Kimi-K2-Instruct,一款具备智能体能力的 1T 参数 MoE 模型 |