Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

SWE-bench Pro 151 · DeepSeek Harness vs OpenCode 最终评测报告

  • 基准: swebench-pro 151 (zh release v30 aligned),151 题 × 6 仓库
  • 模型: DeepSeek V4 Flash(dsh 侧 deepseek-v4-flash#effort=max;opencode 侧 compass/deepseek-v4-flash
  • 更新时间: 2026-08-18

结论

  1. dsh 对比 opencode:极限分更高,稳定性弱一点。 3try 口径下 dsh 的 pass^1 为 117(77.5%)高于 opencode 的 114(75.5%),pass^2 同样领先(109 vs 105);但三次全过的 pass^3 落后(83 vs 96),单次成绩波动也更大(96-111 vs 103-107)——上限更高、方差更大。
  2. dsh 的其他模式(preset)没有明显提升。 各 preset 单轮成绩收敛在 109-114,差距小于同配置重跑的自然波动,增强版本的作用暂无统计证据。

一、deepseekharness 3try vs opencode 3try

两个 agent 各跑 151 × 3 = 453 个 attempt。opencode 为官方 task image 审计后终判(315 harness-ok / 138 模型失败);dsh 的三次为第 1 轮(102)、第 2 轮(96)、std 最新轮(111)。

口径 dsh 3try opencode 3try
attempt 1 102 (67.5%) 105 (69.5%)
attempt 2 96 (63.6%) 107 (70.9%)
attempt 3 111 (73.5%) 103 (68.2%)
pass^1(≥1 次通过) 117 (77.5%) 114 (75.5%)
pass^2(≥2 次通过) 109 (72.2%) 105 (69.5%)
pass^3(3 次全过) 83 (55.0%) 96 (63.6%)
单 attempt 平均 309/453 (68.2%) 315/453 (69.5%)

结论:pass^1 口径 dsh 以 117 vs 114 领先 3 题,pass^2 也领先(109 vs 105);三次全过的稳定性(pass^3)opencode 更好;单 attempt 平均两者基本持平(68.2% vs 69.5%)。

分仓库 pass^1 对比(互补性明显)

repo dsh opencode 差异解读
ansible 30/33 31/33 基本持平
flipt 23/45 15/45 dsh 大幅领先(Go 项目)
navidrome 5/5 2/5 dsh 全过
openlibrary 27/35 34/35 opencode 大幅领先
qutebrowser 8/9 9/9 opencode 全过
vuls 24/24 23/24 基本持平

两个 agent 的长短板几乎完全互补:dsh 强在 flipt/navidrome,opencode 强在 openlibrary/qutebrowser。

二、deepseekharness 各 preset(版本)成绩

单 try 成绩:

preset solved 通过率 ansible flipt navidrome openlibrary qutebrowser vuls
anchored(锚定标准) 114 75.5% 29/33 22/45 5/5 27/35 7/9 24/24
router(路由) 114 75.5% 29/33 22/45 5/5 27/35 7/9 24/24
std(默认标准) 111 73.5% 29/33 19/45 5/5 27/35 7/9 24/24
jspace(J-Space 认知套件) 109 72.2% 28/33 19/45 5/5 26/35 7/9 24/24
参考 minimal(极简) 109 72.2%
参考 code(run_code+SDK) 104 68.9%

结论

  • 四个 preset 成绩收敛在 109-114(72-76%),差距(2-5 题)小于同配置重跑的自然波动(同配置两轮相差 6 题 / 4.0pp),题级翻转率(preset 间 9/151 不一致)也与纯随机翻转(同配置两轮 10/151 不一致)几乎一样——当前单轮数据不能区分各 preset 的真实差异,增强版本的作用暂无统计证据,可能是跑分误差
  • anchored/router 比 std 多出的 3 题全部来自 flipt,且两者只有 2 题重合,更像临界题的随机翻转而非同一机制的稳定增益
  • jspace(109)与 minimal(109)持平,认知套件层零增益

三、耗时与 Token 消耗

3try 耗时对比(453 attempts)

指标 dsh(新第 3 轮,std) opencode(453 次全量)
总耗时 36.3 小时(151 题) 65.2 小时(453 次)
单次均值 14.4 分钟 8.6 分钟
中位数 12.3 分钟 7.4 分钟
p90 30.0 分钟 14-16 分钟
三轮一致性 —(仅第 3 轮有记录) 8.4-8.8 分钟,极稳

dsh 的第 1/2 轮无耗时记录;第 3 轮口径为最终合并批次。opencode 单题比 dsh 快约 40%(8.6 vs 14.4 分钟),且分布更紧凑(p90 16 分 vs 30 分)。

单题 Token 消耗对比

opencode 的 token 从其 command.log 的 step-finish 用量事件聚合(429/453 个日志,覆盖 94.7%;run_summary 中的 token 字段损坏,未采用):

指标(单题均值) dsh std opencode
输入 token 47.4k 149.4k(约 3 倍)
输出 token 18.5k 10.6k
缓存读取 (未汇总) 1,375k
输入中位 / p90 123.4k / 292.7k

opencode 453 次总量:输入 64.10M、输出 4.53M、缓存读取 589.9M;三轮输入均值 147-152k,高度一致。两者策略差异明显:dsh 用约 1/3 的输入 token 换取近 2 倍的输出 token(更长的一次性生成),opencode 输入重、单步输出短——快但费上下文。

dsh 各 preset 耗时与 Token(单轮 151 题)

preset 总耗时 单题均值 中位 p90 输入 token/题 输出 token/题 总输入 总输出
std 36.3h 14.4m 12.3m 30.0m 47.4k 18.5k 7.16M 2.80M
anchored 41.5h 16.5m 13.9m 30.1m 44.1k 17.5k 6.66M 2.65M
router 37.3h 14.8m 10.9m 30.1m 43.7k 17.3k 6.60M 2.61M
jspace 41.5h 16.5m 13.5m 30.1m 38.8k 28.8k 5.86M 4.35M
  • jspace 输出 token 比其他 preset 高 60%(28.8k vs 17-18k)而输入最低——认知套件让模型"想得久、写得多",但成绩持平(109),单位 token 产出性价比最低
  • router 中位耗时最短(10.9 分钟)
  • 解出题与整体的耗时几乎相同(std:14.2 vs 14.4 分钟)——过不过不取决于跑多久,取决于方向

dsh 分仓库耗时与 Token(std 第 3 轮)

repo 题数 耗时均值 p90 输入/题 输出/题
ansible 33 6.1m 8.7m 37k 18k
flipt 45 18.2m 28.6m 50k 21k
navidrome 5 7.2m 8.7m 58k 19k
openlibrary 35 12.2m 15.7m 50k 20k
qutebrowser 9 9.4m 30.1m 33k 14k
vuls 24 25.5m 30.0m 56k 15k

vuls 最慢(25.5 分钟均值)、flipt 次之——恰是 pass 率分化的两个仓库;ansible 最快(6.1 分钟)。单题 token 消耗 33k-58k。

四、口径说明

  • 3try(第一节):同一配置跑 3 次,pass^k = 至少通过 k 次的题数;评的是能力上限与稳定性
  • 1-try(第二节):每题只跑一次;评的是真实生产表现
  • opencode 的判定协议为官方 task image 内 run_script.sh + parser.py

Releases

Packages

Contributors