Newshot
Account

DistDebug-Bench:LLM 智能体能否诊断分布式系统中的缺陷?

Translation(model translation, not the source's own text)

分布式系统诊断的基准测试

DistDebug-Bench

当分布式系统发生故障时,你的 agent 能找到导致故障的代码吗?

DistDebug-Bench 为 agent 提供来自 11 个生产分布式系统的 120 个真实故障。故障暴露的位置与成因相距很远,而报告、日志和堆栈跟踪只显示了实际发生情况的一部分。

排行榜

模型代码块覆盖率 95% CI代码块精确率每次运行的 Token 数
GPT-6 Astra72.6 [65.7, 79.3]46.0130K
Claude Opus 5.571.8 [65.2, 78.2]49.0149K
GPT-5.570.0 [63.1, 76.7]37.3474K
GPT-5.466.6 [59.7, 73.4]41.6687K
GPT-5.3-Codex63.2 [55.9, 70.4]42.7417K

该基准测试

找到成因。用代码说明。

每个事件都是生产系统问题跟踪器中一个真实且已关闭的 bug,最常见的是逻辑、并发或错误处理方面的缺陷。agent 会拿到报告、其日志或堆栈跟踪,以及修复前的仓库,并且必须指出导致故障的代码块。大多数编码基准测试评的是补丁;DistDebug-Bench 评的是诊断本身,对照人工标注的因果代码。

11 个系统,120 个事件

系统它是什么语言事件数
RayAI 计算引擎Python, C++21
Elasticsearch搜索与分析引擎Java19
ZooKeeper协调服务Java18
TiKV事务型键值存储Rust11
HDFS分布式文件系统Java10
Kubernetes容器编排Go10
etcd一致性键值存储Go8
Kafka事件流平台Java, Scala8
Ignite 3分布式数据库Java7
HBase宽列存储Java5
Ignite内存数据库Java3

这些事件为何困难

68% 的报告从未点出作为成因的方法

63% 没有来自项目内部可用的堆栈跟踪

46% 需要不止一个代码块才能说明

5 行是标注代码块的行数中位数,因此答案必须精确

agent 的不足之处。

代码块覆盖率是指诊断所触及的标注根因代码块所占的比例;代码块精确率是指它指出的代码中属于成因部分所占的比例。

定位差距

找到文件只是开始:在这些配置中,当 agent 必须找出因果代码块时,覆盖率会下降 13–22 个百分点。

  • Mini-SWE-Agent: GPT-6 AstraMini-SWE-Agent 86.1 72.6 13.5 pp gap

Mini-SWE-Agent: GPT-6 AstraMini-SWE-Agent

  • Mini-SWE-Agent: Claude Opus 5.5Mini-SWE-Agent 84.5 71.8 12.7 pp gap

Mini-SWE-Agent: Claude Opus 5.5Mini-SWE-Agent

  • Mini-SWE-Agent: GPT-5.5Mini-SWE-Agent 86.2 70.0 16.2 pp gap

Mini-SWE-Agent: GPT-5.5Mini-SWE-Agent

  • Mini-SWE-Agent: GPT-5.4Mini-SWE-Agent 81.0 66.6 14.4 pp gap

Mini-SWE-Agent: GPT-5.4Mini-SWE-Agent

  • Mini-SWE-Agent: 5.3-CodexMini-SWE-Agent 79.9 63.2 16.7 pp gap

Mini-SWE-Agent: 5.3-CodexMini-SWE-Agent

  • Mini-SWE-Agent: MiMo v2.5 ProMini-SWE-Agent 80.5 62.0 18.5 pp gap

Mini-SWE-Agent: MiMo v2.5 ProMini-SWE-Agent

  • Mini-SWE-Agent: Kimi K2.6Mini-SWE-Agent 79.2 62.0 17.2 pp gap

Mini-SWE-Agent: Kimi K2.6Mini-SWE-Agent

  • Mini-SWE-Agent: MiMo v2.5Mini-SWE-Agent 79.7 61.1 18.6 pp gap

Mini-SWE-Agent: MiMo v2.5Mini-SWE-Agent

  • Mini-SWE-Agent: 5.2-CodexMini-SWE-Agent 76.7 59.5 17.2 pp gap

Mini-SWE-Agent: 5.2-CodexMini-SWE-Agent

  • Mini-SWE-Agent: DeepSeek V4 FlashMini-SWE-Agent 77.4 59.2 18.2 pp gap

Mini-SWE-Agent: DeepSeek V4 FlashMini-SWE-Agent

  • Mini-SWE-Agent: HY3Mini-SWE-Agent 74.1 54.8 19.3 pp gap

Mini-SWE-Agent: HY3Mini-SWE-Agent

  • Mini-SWE-Agent: Gemini 3.5Mini-SWE-Agent 67.7 50.8 16.9 pp gap

Mini-SWE-Agent: Gemini 3.5Mini-SWE-Agent

  • Mini-SWE-Agent: o4-miniMini-SWE-Agent 64.2 42.1 22.1 pp gap

Mini-SWE-Agent: o4-miniMini-SWE-Agent

  • Codex CLI: 5.2-CodexCodex CLI 65.7 49.9 15.8 pp gap

Codex CLI: 5.2-CodexCodex CLI

  • Codex CLI: o4-miniCodex CLI 56.5 35.9 20.6 pp gap

Codex CLI: o4-miniCodex CLI

  • OpenCode: 5.2-CodexOpenCode 69.4 51.4 18.0 pp 差距

OpenCode: 5.2-CodexOpenCode

  • OpenCode: o4-miniOpenCode 55.0 35.1 19.9 pp 差距

OpenCode: o4-miniOpenCode

报告证据

当没有指向代码的线索时,覆盖率急剧下降。

代码块覆盖率

  • 指出了因果方法无内部堆栈跟踪 · n=16 94.8%

指出了因果方法无内部堆栈跟踪 · n=16

  • 未指出因果代码无内部堆栈跟踪 · n=42 65.6%

未指出因果代码无内部堆栈跟踪 · n=42

  • 未指出因果代码跨组件崩溃点 · n=7 61.9%

未指出因果代码跨组件崩溃点 · n=7

多次运行间的一致性

没有直接代码线索的报告在多次运行间表现出更大的波动。

当报告未指出因果代码时,运行间波动为 4.3 倍

代码块覆盖率的波动(标准差,pp)

  • 指出了因果方法 · n=16 1.5 pp

指出了因果方法 · n=16

  • 未指出因果代码 · n=42 6.4 pp

未指出因果代码 · n=42

越过不稳定阈值的事件

  • 指出了因果方法 · n=16 6.2% (1/16)

指出了因果方法 · n=16

  • 未指出因果代码 · n=42 16.7% (7/42)

未指出因果代码 · n=42

均值对每个事件的三次运行取平均,并对 120 个事件等权处理;须线为 95% 事件自助法置信区间。

使用 DistDebug-Bench

试运行一个事件。提交完整运行结果。

试运行一个事件

按照论文中的协议,在 ZooKeeper-2845 上运行 Mini-SWE-Agent。在基准代码检出目录下,运行器会在有缺陷的 ZooKeeper 修订版本处准备一个匿名化工作区,在沙箱中运行智能体,然后评分器应用论文中的评估器。需要 Python 3.10+、带 bubblewrap 的 Linux,以及已配置的模型 API 密钥。


        python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[agent]"

# Set OPENAI_API_KEY in your environment.
python -m distdebug_bench.run \
    --config configs/mini-swe-agent/gpt-5.4.yaml \
    --bug zookeeper-2845 --runs 1
python -m distdebug_bench.score \
    results/mini-swe-agent-gpt-5.4 --attempts 1
      

configs/mini-swe-agent/ 中为论文中的每个模型都有一个配置。运行时会调用你所配置的模型提供商。

每次尝试都会写出 trajectory.json、diagnosis.json 和 diagnosis_scores.json。要评估其他智能体,让它写出前两个文件即可。

提交完整结果

在全部 120 个事件上运行你的智能体,每个事件尝试三次,并发送其诊断和轨迹。在将每个提交列入排行榜之前,我们会用官方评估器对其重新评分。

  • 01 / 运行全部 120 个事件,每个事件三次独立尝试,仅提供报告、其证据以及修复前的仓库。任意智能体或运行框架。
  • 02 / 提交每次尝试的 diagnosis.json 和完整轨迹,外加模型、运行框架、设置以及 token 用量或成本。
  • 03 / 评分采用论文中的协议:每个事件前三次通过 schema 校验的尝试计入,泄漏防护会丢弃被标记的尝试。

指南涵盖本地泄漏检查、打包一次运行以及 diagnosis.json 的 schema。

引用

DistDebug-Bench: Can LLM Agents Diagnose Bugs in Distributed Systems? Jiang et al., NeurIPS 2026. 论文 ↗ · GitHub ↗ · 数据集 ↗ · 轨迹 ↗


        @inproceedings{jiang2026distdebugbench,
  title = {{DistDebug-Bench}: Can {LLM} Agents
           Diagnose Bugs in Distributed Systems?},
  author = {Jiang, Yuxuan and Liu, Chenglin and
    Rose, John and Miller, Mason and
    Thavamani, Ruthesh and Wu, Juntao and
    Huang, Yinwei and Xu, Jiahao and Huang, Peng},
  booktitle = {Advances in Neural Information
    Processing Systems (NeurIPS)},
  year = {2026}
}
      

The translation is machine-generated and individual terms may be off. Nothing is rewritten or cut; the original is authoritative.

Published by HN AI
This site only summarises and aggregates; copyright stays with the original author. Headlines and summaries follow the source — where they differ, the original wins.
Read the original ↗