RootCauseBench
收藏资源简介:
一个开源基准测试,将前沿大型语言模型置于冻结的生产事件中——包括警报、日志、指标、追踪、模式以及完整的变更上下文(提交、部署、功能标志)——并询问唯一关键问题:哪个提交导致了此问题?它通过终端基准任务运行,提供任务和数据集,用于评估模型在识别根因提交方面的能力。
An open-source benchmark that subjects state-of-the-art large language models to frozen production incidents—including alerts, logs, metrics, traces, patterns, and full change context (commits, deployments, feature flags)—and poses the sole critical question: Which commit caused this incident? Operating via terminal-based benchmark tasks, it provides task definitions and datasets to evaluate models' ability to identify the root-cause commit.
数据集概述
RootCauseBench 是一个开源基准测试,旨在评估前沿大语言模型(LLM)在生产事故根因分析中的表现。其核心任务是:给定一个冻结的生产事故场景(包含告警、日志、指标、链路追踪、模式以及完整的变更上下文),模型必须找出导致事故的那一笔提交(commit)。
核心评估指标
模型需要输出一个 JSON 格式的结果,包含以下字段:
json { "root_cause_commit": "<sha>", "first_failing_service": "<service>", "blast_radius": ["<svc>", "..."], "remediation": "rollback" | "roll-forward" | "config-revert" | "scale" | "feature-flag-disable" }
- 主要奖励(唯一决定通过/失败的标准):
root_cause_commit是否精确匹配真实罪魁祸首的 SHA。 - 次要信号(仅输出,不影响通过/失败): 首次故障服务正确性、爆炸半径与真实值的 Jaccard 重叠度、修复方案匹配度,以及模型是否被“无辜部署”所迷惑。
数据集构成
该基准测试包含 24 个冻结的事故场景,分为两类:
- 真实罪魁祸首(17 个): 单一提交导致回归,模型必须通过阅读 diff 来命名其 SHA(提交信息已被中和,不会描述故障)。包含误导性结构,例如:跨服务/共享库罪魁祸首(故障服务未更改)、高分贝服务上的表面匹配诱饵、以及延时发作故障。
- 无代码原因(7 个): 没有罪魁祸首提交,触发原因是操作/外部因素(上游提供商故障、云区域受损、DNS 降级、流量激增、嘈杂邻居节点、过期 TLS 证书、毒化数据记录),并植入了无辜提交作为诱饵。正确答案是
"none"。
难度等级
| 等级 | 难点描述 |
|---|---|
| 简单 | 一个明显的罪魁祸首,清晰的失败特征(如 panic 堆栈跟踪),干扰项少。 |
| 中等 | 罪魁祸首埋在大约 40 个提交中,且一个无辜部署在事故附近出现作为诱饵。 |
| 困难 | 延时发作(错误部署在数分钟后爆发),多个无辜部署在事故附近,并在同一窗口内发生功能开关切换。 |
技术实现
- 运行框架: RootCauseBench 是一组基于 Harbor 框架的 Terminal-Bench 任务,使用默认的
terminus-2代理。 - 运行流程: 每个任务启动一个 Docker 容器,将冻结的遥测数据放入
/workdir/data/,向模型提供一个包含jq/grep/python3的 shell 环境,并评估模型写入/workdir/root_cause.json的 JSON 结果。 - 查询语言: 使用 EdgeDelta 的 CQL,支持字段相等性、布尔
AND/OR/否定、数值比较(如@duration_ms > 3000)。
场景生成方式
场景是通过对真实微服务应用(GCP 的 microservices-demo / "Online Boutique" 的分支)进行故障注入,或对虚构平台上的代表性生产事故类别进行重构而生成的。生成步骤包括:
- 在稳定合成负载下运行应用。
- 编写一个引入真实回归类别的提交,并在同一窗口内配以数十个无辜提交。
- 部署罪魁祸首,同时部署一个或多个无辜变更并翻转功能开关。
- 捕获遥测窗口和变更上下文,冻结为小型的、内部时间一致的测试夹具。
- 输出
ground_truth.json。
排行榜(部分结果)
以下为部分模型在 24 个场景 x 3 次尝试下的通过率(Pass rate):
| 模型 | 总体通过率 | 简单 | 中等 | 困难 | 无代码原因 |
|---|---|---|---|---|---|
| glm-5.2 | 100% | 100% | 100% | 100% | 100% |
| claude-sonnet-4.6 | 99% | 100% | 100% | 97% | 95% |
| gemini-3.5-flash | 99% | 100% | 100% | 97% | 95% |
| gpt-5.5 | 96% | 100% | 100% | 91% | 90% |
| gpt-5.4 | 96% | 100% | 100% | 91% | 90% |
| gemini-3.1-pro-preview | 94% | 100% | 96% | 91% | 86% |
| claude-opus-4.8 | 93% | 83% | 92% | 97% | 100% |
| deepseek-v4-flash | 92% | 100% | 96% | 86% | 76% |
| gpt-5.4-mini | 90% | 100% | 96% | 85% | 100% |
| kimi-k2.5 | 85% | 83% | 100% | 70% | 71% |
| kimi-k2-thinking | 85% | 100% | 92% | 73% | 71% |
| qwen3-235b-a22b-2507 | 72% | 89% | 70% | 69% | 71% |
| gpt-oss-120b | 58% | 83% | 62% | 48% | 43% |
| gemini-3.1-flash-lite | 56% | 100% | 62% | 36% | 14% |
| qwen3-32b | 44% | 89% | 37% | 39% | 33% |
| claude-haiku-4.5 | 35% | 67% | 21% | 36% | 10% |
| gpt-oss-20b | 28% | 67% | 29% | 21% | 52% |
其他信息
- 许可协议: Apache-2.0
- 所属机构: Edge Delta, Inc.
- 构建目的: 根因分析是事故处理中最慢、成本最高的环节,RootCauseBench 旨在中立地衡量 LLM 在此类跨信号推理任务上的真实能力。





