SWE-bench Pro 151 · dsh 单轮四跑横向对比分析
- Agent:
dsh (deepseekharness headless) - 模型:
deepseek-v4-flash#effort=max - 基准:
swebench-pro 151 (zh release v30 aligned),共 151 题、6 个仓库 - 对比口径: 四个单轮成绩横向比较 —— 标准第 1 轮、标准第 2 轮、极简模式、代码模式
- 数据来源:
dsh-swepro-results目录下的 3 份 md 报告及配套 JSON(2026-08-14 ~ 2026-08-17)
一、总览:四个单轮对比
| 单轮 | 工具面 | solved | 比例 |
|---|---|---|---|
| 标准 1(a1) | 全部原生工具(bash/read/edit/subagent/...) | 102 | 67.5% |
| 标准 2(a2) | 全部原生工具(bash/read/edit/subagent/...) | 96 | 63.6% |
| 极简 | bash + str_replace_editor | 109 | 72.2% |
| 代码 | run_code + 生成 SDK | 104 | 68.9% |
| ⚠️ 标准 3(a3) | 全部原生工具 | 83 | 55.0% |
标准 3 为异常低分轮次(大量空补丁集中在个别仓库批次),已标记剔除,不纳入对比。
四轮并集 121 题(80.1%),四轮全过 78 题(51.7%)。
二、按仓库对比
| repo | 总数 | 标准1 | 标准2 | 极简 | 代码 | 四轮并集 |
|---|---|---|---|---|---|---|
| ansible | 33 | 24 | 28 | 25 | 24 | 30 |
| flipt | 45 | 21 | 19 | 21 | 19 | 27 |
| vuls | 24 | 24 | 22 | 24 | 23 | 24 |
| openlibrary | 35 | 26 | 19 | 27 | 26 | 27 |
| navidrome | 5 | 5 | 4 | 5 | 5 | 5 |
| qutebrowser | 9 | 2 | 4 | 7 | 7 | 8 |
| 合计 | 151 | 102 | 96 | 109 | 104 | 121 |
四轮全败题目分布:flipt 18/45、openlibrary 8/35、ansible 3/33、qutebrowser 1/9、vuls 和 navidrome 为 0。
三、核心发现
1. 极简模式是四个单轮中最高的
工具面最窄的极简模式(仅 bash + str_replace_editor)拿到 109 分(72.2%),高于标准 1(102)、标准 2(96)和代码模式(104)。砍掉大部分原生工具不仅没有损失单轮解题能力,反而略优于全套工具的标准模式——工具面宽度不是单轮成绩的决定因素。
2. 标准模式自身的两轮方差就有 6 个百分点
标准 1 与标准 2 差 6 题,且仓库级趋势互相矛盾:ansible 24→28、qutebrowser 2→4(变好),而 openlibrary 26→19、vuls 24→22(变差)。同配置两次运行尚且如此,说明单轮差距在 5 个百分点以内时不足以下结论,横向比较应多轮并排看。
3. qutebrowser 出现方向性反转
标准模式单轮只有 2/9 和 4/9,极简与代码模式都是 7/9。这是四个单轮中唯一出现大幅方向性差异的仓库——受限工具面反而显著更好,标准模式在该仓库的低分不代表能力上限,值得单独排查。
4. 四轮稳定性:只有一半题目是"稳"的
| 四轮中通过次数 | 题数 | 占比 |
|---|---|---|
| 4 轮全过 | 78 | 51.7% |
| 1–3 轮通过 | 43 | 28.5% |
| 0 轮通过 | 30 | 19.9% |
近三成题目在通过/失败之间翻转,任何单轮分数都含有抽样噪声,评测结论应同时给出多轮并排与全过率。
5. 仓库难度两极分化,flipt 是唯一短板
- 饱和区:vuls(四轮 22–24/24)、navidrome(4–5/5)几乎全过,已无区分度。
- 短板区:flipt 四个单轮 19–21/45,并集也只有 27/45(60%),18 题四轮全败——提升空间几乎全部在这里。
- 工具敏感区:ansible 对工具面相对敏感(标准 2 的 28 高于极简 25、代码 24),是"标准通过但受限模式失败"最集中的仓库;openlibrary 则几乎不敏感(26/19/27/26)。
6. 模式间互补性有限但并非为零
四轮并集 121,比最好的单轮(极简 109)多 12 题;极简 vs 标准 1 的逐题差异为 14 : 7(极简独有 : 标准1独有)。换工具面/交互形态能捞回少量题目(约 +10%),但 30 题四轮全败的重叠失败集才是主要矛盾。
四、失败模式拆解(标准模式三轮共 453 次尝试)
| verdict | 次数 | 占比 | 说明 |
|---|---|---|---|
| harness-ok | 281 | 62.0% | 通过 |
| harness-failed | 120 | 26.5% | 最大失败类别,测试未通过 |
| no-op-patch | 45 | 9.9% | 空补丁,绝大部分集中在被剔除的 a3 |
| apply-failed | 3 | 0.7% | 补丁无法应用 |
| harness-mutated-workspace | 3 | 0.7% | 污染工作区 |
| blocked-suspicious-patch | 1 | 0.2% | 可疑补丁被拦截 |
五、结论与建议
- 极简 preset 是性价比最高的默认配置:单轮最高分 + 工具面最小,适合作为后续评测的基线模式。
- flipt 是真正的能力短板:18 题四轮全败,建议单独归因(Go 构建链路、测试超时、题目难度分布)。
- 报告单轮成绩时必须多轮并排:两轮标准运行自身就有 6pp 方差且仓库趋势相反,单轮排名不可靠;建议以"四轮全过率 51.7%"作为稳定性指标。
- 代码模式(run_code + SDK)暂无优势:比极简低 5 题,SDK 生成链路引入额外失败面,需先打磨再用于正式评测。
- 评测集可以瘦身:vuls/navidrome 已饱和,可缩减配额,把预算换成更有区分度的题目。
- 单轮差距 ≤5pp 不做排名结论:当前四轮分数集中在 96–109 之间,除极简模式外差异均在噪声范围内。
附:数据文件说明
| 文件 | 内容 |
|---|---|
dsh-swepro-151-results.json/.md |
标准模式 3 try 完整结果(2026-08-14;原始报告以 pass^1=118 口径汇总,本报告改用单轮口径,a3 为异常轮次已剔除) |
dsh-swepro-151-minimal-1try-results.json/.md |
极简模式单轮结果明细(2026-08-16) |
dsh-swepro-151-mini-final.json |
极简模式最终结果:109 题 |
dsh-swepro-151-code-final.json |
代码模式最终结果:104 题 |
dsh-swepro-151-三模式对比报告.md |
三模式逐题对照表 |
No comments yet. Be the first to write one.