Real-SWE:在私有企业级真实代码库上评估 AI 模型
通过
在私有、真实的、企业级代码库上对前沿 AI 模型进行基准测试。
.
;+;+;:;+;+;.#
; ;
; . . . . ; .
+ ;
; . . : @;;+;+# +;+;+;+;:;+:#
: : ; . ; ; ; @;+;+.+;:;+;+*
; . . : ; . . : ; @++:;:;+.;;@ ;. . . . .: . ; . . . .; @++;;;;+;:;@
; : ; ; @;+++:@;++;:+ ; : : . :+.+;;;+:;@ ; : + .
; . . . ; ; . ; : . . . . ; . . . . .; ; . . . . .+ + . . . .; ; . . . . .; ; . . :
; : ; ; ; ; : ; . ; . ; ; ; ; :
; . . % . . ; : . . . . ; ; ... . . .; +. . . . .: ;. . :.. .: : . . ::. . . ; . . . .;
: *. @ ; ; +.@ . ; : +: *+ : ; :. %+; +. ; *. *# @: :.*. ;
; . . .;::@;; . . ; :#@;. ..@:. . ;.@%: .:@%:: :. . #+. :@%;. .:@*. .: @+ . #*. . ;@#.;.* . . .:
.::: ..:%@@+@+#... :+:%@@+..:@@@::*.:;@@:..+@@:; *.::#@@#:..:@@#...+@#: :*:%@@+ .:.+::..*@@:@@@#;.. ::.#
+@#.@ .*@: .*@%: *: :@%. ;@@: .@%. @ .;@@: .: :@#..#@*.
+@#.@ .@ .*@%:. *: %+ ;@@: #; +# .;@@: .. @: .#@*.
@. .. ;@ .*@%: *: @@ ;@@: %# * # .;@@: @+ .@
:*#.. @:: @. . ::;. @@ .. . @% .*@ ;@.
%.@ .. .@; . @@ .. .@@. .. @:#
... . ;%# . @@ +;#: .. .@ @
. ... ... .. ..
... .. ... .
01 引言
今天,我们正式发布 Real-SWE。这是一个基准测试,旨在评估前沿 AI 模型在私有、真实且具备企业级复杂度的代码库中的表现。每项任务都源自我们从真实企业授权获得的私有生产级代码库。这些问题是工程师们在日常工作中实际面对的,伴随着既有产品固有的上下文与复杂性。
- 私有代码库。智能体必须在专有系统中进行导航,这些系统的代码及解决方案在公共互联网上均不可得。
- 具有业务后果的工作。包括正确计费、计算税款、迁移用户数据等。这些变更会影响企业运营,往往涉及多个服务。
- 公司特定的复杂性。每家公司都有自己独特的规则和代码编写方式。智能体需要理解这些约定,并做出与现有架构相适配的变更。
编码智能体是否真的能在现实世界中承担软件工程师的工作?
- 1 Fable 5.1 Claude Code 解决率:38.8%
- 2 GPT-6 Astra Codex CLI 解决率:33.8%
- 3 Gemini 3.8 Flash Gemini CLI 解决率:31.2%
- 4 GLM 5.3 Claude Code 解决率:28.8%
- =5 Grok 4.6 Grok Build 解决率:23.8%
- =5 Muse Spark 1.3 Muse Code 解决率:23.8%
- 7 Kimi K3 Kimi Code 解决率:18.8%
- 8 GPT-5.6 Sol Codex CLI 解决率:16.2%
| # | 模型 | 框架 | 解决率 |
|---|---|---|---|
| 1 | Fable 5.1 | Claude Code | 38.8% |
| 2 | GPT-6 Astra | Codex CLI | 33.8% |
| 3 | Gemini 3.8 Flash | Gemini CLI | 31.2% |
| 4 | GLM 5.3 | Claude Code | 28.8% |
| =5 | Grok 4.6 | Grok Build | 23.8% |
| =5 | Muse Spark 1.3 | Muse Code | 23.8% |
| 7 | Kimi K3 | Kimi Code | 18.8% |
| 8 | GPT-5.6 Sol | Codex CLI | 16.2% |
专家生成的或合成的任务或许设计精良,但它们并非真实企业工程师每天面对的原样任务。我们的任务在两个维度上有所不同:底层的代码产物以及指令的特定性。这两者都增加了复杂度,足以挑战当前的前沿模型。
我们使用原生 harness 来反映企业工程师的实际工作模式,评估的是模型与 harness 的组合,而非孤立地评估模型。
真实公司任务需要公司特定的上下文
正确的计费依赖于业务规则和外部服务
修复发票计费,确保每个业务实体征收正确的税款,且免税客户不被征税。
查看完整指令隐藏完整指令▾下周一恢复计费,但该服务发出的所有发票均未包含税款。平台上的每个业务实体处理税务的方式各不相同:有的自行维护税率,有的希望我们根据购买者目的地通过税务权威服务商对每张发票进行定价,有的则完全不收税;而对于我们标记为免税的客户,无论其业务实体如何配置,均不收取任何税款。对目的地进行定价意味着向权威方提交双方地址、定价明细行以及该业务实体销售的产品类别;根据业务实体所在的账户,使用沙箱或生产环境的税务权威;若权威方拒绝接受某个地址,必须上报该错误而不中断发票流程。税率、税款和总额需列在已开具的发票上,一旦发票结算,即需按该发票编号向权威方提交销售申报,以便报表能对账。欧洲各方法律主体间的发票需显示双方的增值税登记信息。权威方和账本可通过 TAX_JAR_URL、PROD_TAX_JAR_URL 和 INFLUX_URL 访问。
沙箱中的服务- TJTaxJar 沙箱
- TJTaxJar 生产环境
- InfluxDB 账本
- NestJS 服务
- TypeScript
智能体跨代码、基础设施和商务工具协作
Real-SWE 任务环境中的工具和服务。每个任务仅暴露其工作流所需的服务。
- AWS 模拟器
- Docker
- Kubernetes
- GitHub
- Linear MCP
- PostgreSQL
- MySQL
- MongoDB
- GeGel
- Redis
- Go
- Python
代码库筛选
我们通过严格的筛选流程挑选代码库,只选择有真实用户规模、强大工程团队和高要求生产负载的实际公司。下文分析的示例任务均来自这些代码库,包括:
- 一款 Luma/Partiful 竞品,拥有 20 万以上用户,曾跻身 App Store 百强榜
- 一个消费级金融科技平台,已处理 10 万+ 份银行对账单
- 支持复杂业务流程的企业级 AI 销售平台
我们优先选择为满足真实用户或业务需求而编写的代码,而不是专为构建基准任务而写的代码。生产环境工程要求理解现有架构、保持用户依赖的行为不变,并在真实的运营约束下完成修改。
简短的指令也可能涉及多个文件的修改
我们的任务只描述需要实现的功能,由 agent 自行在代码库和周边工具中探索实现细节。验证器要求的行为必须明确写出,或者能被合理推断出来。因此我们的提示词会略显不完整,与 DeepSWE 和 Terminal Bench 大致相当,但足够具体、不会遗漏关键指令。
这些工作跨职能且复杂:一个改动可能涉及应用的多个部分。Agent 必须理解现有的业务逻辑和公司的编码规范,同时保证周边系统正常运行。
Real-SWE 的典型指令为 1,742 个字符。
- FrontierCode2,056 字符
- DeepSWE1,975 字符
- Terminal-Bench 31,584 字符
- FrontierSWE v2992 字符
- Real-SWE1,742 字符
Real-SWE 为 11 个文件,而 FrontierCode 和 DeepSWE 均为 6 个。
- FrontierCode6
- DeepSWE6
- Real-SWE11
模型即使在短轮次中也表现失败。
在 10 分钟以内的短轮次中,71.4% 失败了,而较长轮次的失败率为 73.4%。
在充满现有业务逻辑和编码模式的代码库中,对多个系统进行排查并理解需求是一项艰巨的任务。
70/98 失败
398/542 失败
- 失败
- 通过
每个任务都源自或逐字摘自私有的真实企业代码库。我们发现这类任务极有趣,原因有三:
- 私有代码库上的任务天然属于分布外数据。这类编码任务在互联网上无处可寻,任何 AI 模型都不太可能在其训练数据中包含过。99% 的现实企业代码对前沿模型而言是不可见的。
- 这些任务具备经济可行性。这里的每个任务都与实际支出直接相关,并分配给领取薪水的工程师。大多数基准测试关注的是有趣的、实验性的能力,而现实中这些能力往往并不普及。
- 公司特定的工程模式至关重要。AI 生成的代码能达到真实企业的标准吗?我们的结果表明,距离这一现实还相去甚远。许多企业高度重视代码规范和模式。我们发现,当前的模型在理解公司编码模式方面较为薄弱,经常遗漏需求或未能验证其假设。
02 分析
下面是对基准测试中少量任务样本的分析。如果你对样本感兴趣,可以在此申请访问权限。
10 个任务中有 6 个的解决率低于 15%
点击任务查看模型结果。百分比为整体解决率。
Multi-region sweep67.2%⌄- Fable 5.17/8 通过
- GPT-6 Astra8/8 通过
- Gemini 3.8 Flash8/8 通过
- GLM 5.32/8 通过
- Grok 4.63/8 通过
- Muse Spark 1.38/8 通过
- Kimi K32/8 通过
- GPT-5.6 Sol5/8 通过
- Fable 5.18/8 通过
- GPT-6 Astra5/8 通过
- Gemini 3.8 Flash7/8 通过
- GLM 5.35/8 通过
- Grok 4.64/8 通过
- Muse Spark 1.36/8 通过
- Kimi K30/8 通过
- GPT-5.6 Sol7/8 通过
- Fable 5.18/8 通过
- GPT-6 Astra7/8 通过
- Gemini 3.8 Flash5/8 通过
- GLM 5.33/8 通过
- Grok 4.61/8 通过
- Muse Spark 1.31/8 通过
- Kimi K36/8 通过
- GPT-5.6 Sol1/8 通过
- Fable 5.13/8 通过
- GPT-6 Astra1/8 通过
- Gemini 3.8 Flash3/8 通过
- GLM 5.34/8 通过
- Grok 4.68/8 通过
- Muse Spark 1.33/8 通过
- Kimi K34/8 通过
- GPT-5.6 Sol0/8 通过
- Fable 5.13/8 通过
- GPT-6 Astra1/8 通过
- Gemini 3.8 Flash2/8 通过
- GLM 5.32/8 通过
- Grok 4.60/8 通过
- Muse Spark 1.30/8 通过
- Kimi K31/8 通过
- GPT-5.6 Sol0/8 通过
- Fable 5.11/8 通过
- GPT-6 Astra5/8 通过
- Gemini 3.8 Flash0/8 通过
- GLM 5.31/8 通过
- Grok 4.60/8 通过
- Muse Spark 1.30/8 通过
- Kimi K31/8 通过
- GPT-5.6 Sol0/8 通过
- Fable 5.10/8 通过
- GPT-6 Astra0/8 通过
- Gemini 3.8 Flash0/8 通过
- GLM 5.33/8 通过
- Grok 4.62/8 通过
- Muse Spark 1.31/8 通过
- Kimi K31/8 通过
- GPT-5.6 Sol0/8 通过
- Fable 5.10/8 通过
- GPT-6 Astra0/8 通过
- Gemini 3.8 Flash0/8 通过
- GLM 5.32/8 通过
- Grok 4.61/8 通过
- Muse Spark 1.30/8 通过
- Kimi K30/8 通过
- GPT-5.6 Sol 通过 0/8
- Fable 5.1 通过 1/8
- GPT-6 Astra 通过 0/8
- Gemini 3.8 Flash 通过 0/8
- GLM 5.3 通过 1/8
- Grok 4.6 通过 0/8
- Muse Spark 1.3 通过 0/8
- Kimi K3 通过 0/8
- GPT-5.6 Sol 通过 0/8
- Fable 5.1 通过 0/8
- GPT-6 Astra 通过 0/8
- Gemini 3.8 Flash 通过 0/8
- GLM 5.3 通过 0/8
- Grok 4.6 通过 0/8
- Muse Spark 1.3 通过 0/8
- Kimi K3 通过 0/8
- GPT-5.6 Sol 通过 0/8
| 任务 | Fable 5.1 | GPT-6 Astra | Gemini 3.8 Flash | GLM 5.3 | Grok 4.6 | Muse Spark 1.3 | Kimi K3 | GPT-5.6 Sol | 解决率 |
|---|---|---|---|---|---|---|---|---|---|
| 多区域扫描 | 7/8 | 8/8 | 8/8 | 2/8 | 3/8 | 8/8 | 2/8 | 5/8 | 67.2% |
| API 密钥与环境 | 8/8 | 5/8 | 7/8 | 5/8 | 4/8 | 6/8 | 0/8 | 7/8 | 65.6% |
| 权益超额行 | 8/8 | 7/8 | 5/8 | 3/8 | 1/8 | 1/8 | 6/8 | 1/8 | 50.0% |
| 客户身份迁移 | 3/8 | 1/8 | 3/8 | 4/8 | 8/8 | 3/8 | 4/8 | 0/8 | 40.6% |
| 账单周期迁移 | 3/8 | 1/8 | 2/8 | 2/8 | 0/8 | 0/8 | 1/8 | 0/8 | 14.1% |
| API 令牌计量 | 1/8 | 5/8 | 0/8 | 1/8 | 0/8 | 0/8 | 1/8 | 0/8 | 12.5% |
| S3 数据存储度量 | 0/8 | 0/8 | 0/8 | 3/8 | 2/8 | 1/8 | 1/8 | 0/8 | 10.9% |
| 线性一致扫描 | 0/8 | 0/8 | 0/8 | 2/8 | 1/8 | 0/8 | 0/8 | 0/8 | 4.7% |
| 税务辖区 | 1/8 | 0/8 | 0/8 | 1/8 | 0/8 | 0/8 | 0/8 | 0/8 | 3.1% |
| 分析流归约器 | 0/8 | 0/8 | 0/8 | 0/8 | 0/8 | 0/8 | 0/8 | 0/8 | 0.0% |
遗漏需求是最常见的失败原因
各模型的失败案例按照相同的分类法,依据观察到的提交行为进行归类,分类标准与 DeepSWE 保持一致。
Fable 5.124.5%36.7%34.7%4.1%GPT-6 Astra34.0%28.3%34.0%3.8%Gemini 3.8 Flash10.9%29.1%49.1%10.9%GLM 5.328.1%38.6%26.3%7.0%Grok 4.624.6%67.2%8.2%Muse Spark 1.319.7%36.1%41.0%3.3%Kimi K315.4%53.8%27.7%3.1%GPT-5.6 Sol43.3%31.3%16.4%9.0%未经验证的假设遗漏需求集成错误回归错误错误文件没有模型能解决所有任务
每个方格代表一次运行:每一行对应一个任务,每一列对应一次尝试,每个模型针对每个任务进行八次尝试。
Fable 5.101020304050607080910GPT-6 Astra01020304050607080910Gemini 3.8 Flash01020304050607080910GLM 5.301020304050607080910Grok 4.601020304050607080910Muse Spark 1.301020304050607080910Kimi K301020304050607080910GPT-5.6 Sol01020304050607080910通过未经验证的假设遗漏需求集成错误回归错误错误文件不同模型的失败方式各异
百分比基于每个模型的失败运行次数,而非总运行次数。
未经验证的假设
基于对系统的猜测进行构建,而非在工作区中进行检查。
- GPT-5.6 Sol43.3%: 67 次失败运行中占 29 次
- GPT-6 Astra34.0%: 53 次失败运行中占 18 次
- GLM 5.328.1%: 57 次失败运行中占 16 次
- Grok 4.624.6%: 61 次失败运行中占 15 次
- Fable 5.124.5%: 49 次失败运行中占 12 次
- Muse Spark 1.319.7%: 61 次失败运行中占 12 次
- Kimi K315.4%: 65 次失败运行中占 10 次
- Gemini 3.8 Flash10.9%: 55 次失败运行中占 6 次
遗漏需求
缺失了指令要求的行为。
- Grok 4.667.2%: 61 次失败运行中占 41 次
- Kimi K353.8%: 65 次失败运行中占 35 次
- GLM 5.338.6%: 57 次失败运行中占 22 次
- Fable 5.136.7%: 49 次失败运行中占 18 次
- Muse Spark 1.336.1%: 61 次失败运行中占 22 次
- GPT-5.6 Sol31.3%: 67 次失败运行中占 21 次
- Gemini 3.8 Flash29.1%: 55 次失败运行中占 16 次
- GPT-6 Astra28.3%: 53 次失败运行中占 15 次
集成错误
思路正确,但集成到周围系统时出现错误。
- Gemini 3.8 Flash49.1%: 55 次失败运行中占 27 次
- Muse Spark 1.341.0%: 61 次失败运行中占 25 次
- Fable 5.134.7%: 49 次失败运行中占 17 次
- GPT-6 Astra34.0%: 53 次失败运行中占 18 次
- Kimi K327.7%: 65 次失败运行中占
- GLM 5.3:26.3%(57 次运行中 15 次失败)
- GPT-5.6 Sol:16.4%(67 次运行中 11 次失败)
- Grok 4.6:8.2%(61 次运行中 5 次失败)
回归故障
在实施变更的同时,破坏了原有正常行为。
- Gemini 3.8 Flash:10.9%(55 次运行中 6 次失败)
- GPT-5.6 Sol:9.0%(67 次运行中 6 次失败)
- Fable 5.1:4.1%(49 次运行中 2 次失败)
- GPT-6 Astra:3.8%(53 次运行中 2 次失败)
- Muse Spark 1.3:3.3%(61 次运行中 2 次失败)
- GLM 5.3:0%(57 次运行中无失败)
- Grok 4.6:0%(61 次运行中无失败)
- Kimi K3:0%(65 次运行中无失败)
目标错误
变更未生效于实际运行的代码路径,而是写入了仅执行一次、主程序从未调用的脚本或文件中。
- GLM 5.3:7.0%(57 次运行中 4 次失败)
- Kimi K3:3.1%(65 次运行中 2 次失败)
- Fable 5.1:0%(49 次运行中无失败)
- GPT-6 Astra:0%(53 次运行中无失败)
- Gemini 3.8 Flash:0%(55 次运行中无失败)
- Grok 4.6:0%(61 次运行中无失败)
- Muse Spark 1.3:0%(61 次运行中无失败)
- GPT-5.6 Sol:0%(67 次运行中无失败)
03 算力投入与能力边界
成本更高不等于解决率更高
成本(美元)输出 Token 数预估前沿水平- Fable 5.1:38.8% · $6.96
- GPT-6 Astra:33.8% · $4.67
- Gemini 3.8 Flash:31.2% · $2.50
- GLM 5.3:28.8% · $5.12
- Grok 4.6:23.8% · $3.44
- Muse Spark 1.3:23.8% · $2.74
- Kimi K3:18.8% · $3.90
- GPT-5.6 Sol:16.2% · $2.65
估算的部署成本区间为 $2.50 至 $6.96
| 排名 | 模型 | 估算成本(美元) |
|---|---|---|
| 1 | Gemini 3.8 Flash | $2.50 |
| 2 | GPT-5.6 Sol | $2.65 |
| 3 | Muse Spark 1.3 | $2.74 |
| 4 | Grok 4.6 | $3.44 |
| 5 | Kimi K3 | $3.90 |
| 6 | GPT-6 Astra | $4.67 |
| 7 | GLM 5.3 | $5.12 |
| 8 | Fable 5.1 | $6.96 |
滑动图表以查看全部任务。
Fable 5.1 · 总分 64kGPT-6 Astra · 总分 24kGemini 3.8 Flash · 总分 94kGLM 5.3 · 总分 117kGrok 4.6 · 总分 67kMuse Spark 1.3 · 总分 87kKimi K3 · 总分 43kGPT-5.6 Sol · 总分 23k查看任务数值任务权限超额行多区域扫描税务辖区API token 计量API 密钥与环境S3 数据存储度量客户身份迁移账单计划迁移线性一致扫描分析流归约器- Fable 5.134k
- GPT-6 Astra13k
- Gemini 3.8 Flash78k
- GLM 5.368k
- Grok 4.67k
- Muse Spark 1.336k
- Kimi K330k
- GPT-5.6 Sol12k
04评测环境
每个 agent 都在隔离的沙箱中运行。所有任务均采用 Harbor 格式,verifier 在评分阶段注入。verifier 参考代码库中已有的测试套件设计,或直接原样使用这些测试。