DDBench:Coding Agent 的分布式调试深水区评测
TL;DR
本文核心观点:
- 单进程基准已饱和,分布式调试是新盲区 — 60 个历史 bug,13 个开源分布式系统,三级难度分区
- 模型通过率跨度达 61pp(tier-1),远高于 SWE-bench 的 7pp — 分布式调试暴露的推理维度是单进程基准测不出的
- 有限调试上下文整体 +18.1pp,但收益结构不对称 — 弱模型涨通过率,强模型涨效率;上下文喂得不好反而误导
- 上下文工程将成为 Agent 中间件下一个核心模块 — 不是无脑塞日志,而是 curation
背景:单进程基准已饱和
LLM-based coding agent 在单进程 SWE 任务上进展迅速,SWE-bench Verified 上前沿模型已聚集在高 70 分位。但分布式系统调试仍是未被充分探索的领域:bug 跨进程、跨节点、跨协议交互,根因很少能仅从源码恢复,暴力探索在非确定性交织态下不可行。
两个空白:
- 没有代码修复基准针对分布式系统 bug
- 没有对照研究量化外部调试上下文对 agent 成功率的影响
DDBench 填补了这两个空白。
DDBench:60 个历史 bug,三级难度
DDBench 包含 60 个历史 bug,从 13 个开源分布式系统挖掘,分为三个难度层:
- Tier-1(31 个,最难):集中协议/恢复和复制/一致性 bug,要求跨进程推理
- Tier-2(15 个):居中
- Tier-3(14 个):可本地化到单进程的输入触发崩溃
覆盖系统类型:键值存储(22)、共识库(21)、消息系统(10)、服务网格(3)、流处理引擎(3)、存储引擎(1)。
覆盖语言:Go(25)、C++(23)、Java(8)、Erlang(2)、Rust(2)。
双轨对照:症状 only vs 上下文增强
DDBench 每个 case 在两种匹配条件下评估:
- 症状 only:agent 只接收 bug 症状和代码库,必须通过自身探索获取额外信息
- 上下文增强:额外接收有界的调试上下文包(日志、traces、运行时状态、目标代码调查笔记)
调试上下文包每个 case 1-3 个 Markdown 文件,中位 321 tokens(最多 1,403)。上下文槽设计为可扩展的:研究者可以用自己的工具输出替换默认包,在相同 case 和相同预言下进行对比。
核心发现一:分布式调试拉开模型差距
在 tier-1 case set 上,10 个模型的通过率跨度达 61pp。配对 bootstrap 测试在 p < 0.05 下区分了 15 个顶级模型对中的 9 对。
对比:在同一批模型上,SWE-bench Verified 只拉开 7pp。这意味着分布式调试锻炼的推理维度与单进程代码修复本质不同。
核心发现二:调试上下文收益结构不对称
有界调试上下文将aggregate通过率从 32.6% 提升到 50.6%(+18.1pp)。
但收益结构不对称:
- 弱模型:主要涨通过率(GLM 4.7:从 9.7% → 48.4%)
- 强模型:通过率提升微弱,但成本大幅下降(Opus 4.6:token 消耗降低 69%,完成步数减少 41%)
上下文增强甚至能重排模型排名:上下文增强的 GPT-5.4 匹配 Opus-4.6 的症状 only 通过率,同时减少 60% token 消耗。
核心发现三:上下文需要 curation,否则可能误导
即使忠实的调试上下文有时也会误导强模型——当其观察远离故障时。这揭示了未经 curation 盲目添加信息的隐藏风险。
上下文槽因此成为 agent 工具增强的一等设计轴。
结尾
DDBench 揭示的核心问题是:分布式调试不仅是更难的任务,更是不同种类的推理——跨进程因果、非确定性交织、协议级不变量。基准已饱和的差异不是「谁更高分」,而是「谁在测不同的东西」。调试上下文工程因此不是「多塞日志」,而是「在正确时机给正确信息」——弱模型需要上下文救命,强模型需要上下文省 token。上下文 curation 将成为 Agent 中间件的下一个核心模块。
Published on 2026-08-31
参考链接
- Paper: Evaluating Agentic Code Repair Capabilities in Distributed Systems — arXiv:2608.14863
💬 评论
💡 使用 GitHub 账号登录 即可参与讨论