Where Root Cause Analysis Fails: A Retrieval-Reranking Decomposition¶
会议: NeurIPS 2026 — Evaluations & Datasets Track
arXiv: 2609.36686
代码: https://github.com/cruiseresearchgroup/DecompRCA
领域: 因果推理
关键词: 根因分析、检索覆盖率、条件重排序、故障传播、领域知识
一句话总结¶
本文把根因分析的排名准确率拆成“根因是否进入候选集”和“进入后能否排到前面”,审计四个数据集的六个测试套件,并用多信号检索与单次 LLM 重排序说明两类失败需要不同修复,而不是只增加因果图或推理能力。
研究背景与动机¶
根因分析(root cause analysis,RCA)要从大量监控指标中找出异常源头,而非仅找出变化最大的指标。BARO 等统计方法按偏离正常状态的幅度排序,PC/FCI 配合 CIRCA、PageRank 或随机游走则依赖学习出的结构。微服务中的直接故障往往使源头指标非常显眼;在存在传播、反馈和放大的系统中,下游症状却可能比源头更强。与此同时,最早被检测出的异常也不一定最早发生:弱源头信号可能延迟越过检测阈值。
现有 top@k 只检查最终前 k 名有没有根因,把“根因完全没被选进可处理的候选集”和“根因已在候选集中但排序错误”压成同一个失败。前者应改进监控覆盖、窗口切分或检索信号,后者才需要更好的证据整合与排序。若只在源头非常显眼的微服务数据上验证,方法容易把近乎饱和的检索覆盖率误当成跨系统都成立的条件。
核心 idea:把候选覆盖率作为排序的硬上限,分别测量检索与条件重排序,再通过真实候选池和强制包含根因的诊断候选池定位瓶颈。
方法详解¶
整体框架¶
论文的主要贡献是评测分解与经验审计,不是声称提供一个完整上线系统。其验证管线输入正常参考窗口、故障窗口以及给定的检测时间,先用幅度、起始时间和离散状态变化选择有限候选,再把每个候选的结构化证据交给预训练 LLM,一次调用产生重排序列表。可选领域知识(domain knowledge,DK)描述系统角色与传播关系,不提供本次故障标签。
需要区分两个层次:对既有排名方法截取前 K 名,可以事后定义检索覆盖率;这只是统一的诊断视角,不能证明该方法内部真的存在一个独立检索模块。本文自己的验证管线则确实先生成候选、再重排,且重排器不能新增候选。真实根因只用于计算指标,以及明确标记的受控候选池实验,不流入正常推理链路。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["正常参考 + 故障窗口<br/>给定检测时间"] --> B["覆盖率分解"]
B --> C["多信号检索"]
C --> D["证据驱动重排序"]
K["可选系统文档<br/>无场景故障标签"] -.-> D
D --> O["候选排名"]
O --> E["受控瓶颈诊断"]
G["真实根因<br/>仅评测使用"] -.-> E
N["正常参考拟合统计量<br/>不训练故障分类器"] -.-> C
图中前三个设计形成评测解释与推理流程,最后一个是离线诊断,不是部署时额外获知根因的阶段。正常参考用于估计统计量;这里没有用故障标签监督训练的新模型。
关键设计¶
1. 覆盖率分解:让相同总准确率暴露不同瓶颈
设每个场景的候选集合为 \(\mathcal C\),允许有多个正确根因的集合为 \(\mathcal G\)。检索命中表示两者交集非空,而不是所有根因都被找齐。Retrieval@K 是命中场景占比;Rerank@k 则只在检索命中的场景上,计算最终前 k 名含任意正确根因的比例。只要最终排名不超出候选集,并采用一致的真值映射与命中规则,就有:
失败要按同一总场景分母解释:检索失败为 \(1-\mathrm{Retrieval@}K\),已检索但排名失败为 \(\mathrm{Retrieval@}K-\mathrm{top@}k\)。第二项是绝对失败占比,不是条件失败率 \(1-\mathrm{Rerank@}k\);两项之和才是总错误率。若没有检索命中,条件重排序率没有可估计的分母,不能随意报告一个有效条件准确率。
对输出全量排名的旧方法,把前 K 名视为候选集后,Retrieval@K 等于它的 top@K,条件重排序率可由 top@k 除以 top@K 得到。若取 K 为全部可观测指标,覆盖率通常饱和,但不可观测或预处理删除的根因仍可能缺失。不同 K 的分析分别回答“在有限诊断预算内能否看到根因”和“全量指标排名是否有效”,不能混为同一个实验条件。
对于图方法,缺失节点、候选选择路径或结构错误都可能产生覆盖问题,但文中的“缺一条边就排除根因”只是特定路径选择机制的解释,不是所有图算法的普遍定理。附录 C 还说明 CIRCA 会把未评分传感器追加到列表末尾,而 PageRank/RandomWalk 只排名图内节点;因此“没进入图”和“没进入最终列表”也应区别处理。
2. 多信号检索:在固定总预算下覆盖不同异常形态
幅度信号用正常窗口拟合 RobustScaler,取故障窗口的最大稳健标准化偏离。附录 A 的检索幅度定义为有符号最大值;附录 C 则明确 CPS 的 BARO 基线使用最大绝对值,RCAEval 保留原实现的有符号最大值。这些实现差别意味着检索幅度规则与不同数据域的 BARO 行不能无条件视为同一算法。
起始时间信号寻找故障窗口内首次越过绝对标准分数 1.5 的行,按更早出现排序;均值和标准差来自正常窗口。正常方差为零时,改用偏离正常均值超过 \(10^{-4}\) 的首次位置;没有越阈值的指标不参加这一信号的选择。这捕捉的是可检测异常的首次出现,并非拥有真实物理故障起点的 oracle。
离散状态变化信号先判断某指标在任一窗口是否只有不超过 5 个不同取值,再要求故障窗口众数与正常窗口众数不同,按首次偏离正常众数超过 \(10^{-2}\) 的位置排序。它补足的是离散状态证据,而不是假设所有执行器变化都等于根因;正常运行中的状态切换同样可能干扰它。
总预算 K 在活跃信号之间均分,余数优先给排在前面的信号。三个信号在 K=15 时各取 5 个,K=10 时取 4/3/3,K=5 时取 2/2/1;按幅度、起始时间、状态变化的顺序合并并去重,实际候选数可以小于 K。增加信号会替换原有幅度候选而不是免费扩大池,所以覆盖率不保证单调上升:WADI 在 K=15 没有最终增益,HVAC 的三信号配置甚至略低于两信号配置。
3. 证据驱动重排序:比较源头与症状,而非只融合三个分数
每个候选被整理成一行,包含指标名、幅度分数、首次异常相对检测时间的偏移、正常与故障窗口均值,以及绝对和相对变化。LLM 一次读取整份列表,输出只含已有候选的排名。证据不标注“由哪个检索器选中”,因此排序依赖候选的多统计量和语义,而不是直接照搬选中标签。
无 DK 版本只用通用 RCA 角色提示;有 DK 版本额外读系统文档,理解组件作用、命名约定、传播路径和一般运行先验。作者称文档依据公开说明撰写、反复修订描述质量而不按测试故障结果修订,未写入场景标签;不过文档可以含人工先验,无标签并不等于无人工知识,也不代表所有外部知识都由数据无监督学习而来。
候选实际按各信号块的检索顺序呈现,而提示文字仍称其“按偏离程度排序”,附录 A 明确了这一不一致。模型可能受位置或措辞影响。输出解析时排除池外名称,遗漏项按原检索顺序补齐;主要端到端实验的不可解析响应回退为检索顺序。这样保持候选边界,但不意味着模型已消除位置偏差。
4. 受控瓶颈诊断:分开测证据价值与候选覆盖
同候选控制实验让单一信号和等权 Borda 融合重排 LLM 已看到的列表,以检查收益是否只是候选更好。Borda 把三个信号内的一基排名相加,无法评分的项记为该信号最差排名再加一。它是固定规则对照,不是一个训练过的融合器。
另一组实验在检索漏掉根因时,为真值预留位置、替换最后一个候选,并将插入位置设为种子随机位置,使所有方法拿到包含根因的同一小池;全候选控制则提供全部传感器。前者借用了评测标签,只能隔离“如果覆盖问题已解决,谁更会排序”,不能作为实际端到端性能。WADI/SWaT 中各有一个根因不在评测传感器集的场景,不能强制插入,因此受控实验的分母改为 13/35,主实验仍为 14/36。
这种干预还改变证据组成与输入位置。附录 G 的随机非根因池压力测试出现基线胜过 LLM 的情况,包括 SWaT 的 CIRCA-FCI 胜过统计基线;因此不能把“受控检索池上的优势”升级为任意候选池上必胜,或把主设置中的图方法劣势推广到所有结构方法。
一个完整示例¶
以下为解释指标的抽象示例,不是论文的实测故障案例。假设 100 个场景中,固定预算候选池在 64 个场景包含至少一个正确根因,重排器在其中 32 个场景把任意正确根因排到第一名。
此时 Retrieval@K=0.64,Rerank@1=0.50,端到端 top@1=0.32。36% 的场景根因不在候选中,另有 32% 的场景是已检索但排错;后者在命中子集中的条件失败率为 50%,不是 32%。
对一个已命中的场景,抽象指标 A 的变化幅度小但较早出现,指标 B 的变化很大但较晚出现,指标 C 有离散状态变化。检索可以让三类证据共同进入列表;重排器结合正常参考和系统文档判断哪些更像起点,不能仅凭最大的 B 下结论。
如果 A 根本未入池,再聪明的重排器也不能返回它。用真值强制插入 A 可以测排序能力,但这一步只在诊断实验中允许,不能算真实推理获得了 A。
损失函数 / 训练策略¶
本文不提出新的训练损失,不用故障标签微调重排器,也不训练一个故障分类器。正常数据用于估计缩放、均值、方差和众数;预训练 LLM 负责推理。图基线另行从短窗口或正常语料学习结构,并不属于验证管线的训练模块。
主重排器为 gpt-oss-120b,同一配置跨数据集使用,温度为 1.0,输出上限为 4096 tokens,每个配置重复 3 次,不传随机种子。表中的均值与样本标准差反映 API 随机解码的跨运行变化,不是三次训练种子或场景总体的置信区间。
窗口本身由基准预先给定:WADI/SWaT 用标注故障开始时间及此前 30 分钟正常参考;RCAEval 用注入时间附近通常约 6 分钟、最多 10 分钟的两侧窗口;HVAC 用故障日占用时段和匹配季节的完整正常占用日(900 行)。这仍依赖已知时间与参考选择,不能宣称已端到端解决在线异常检测和故障分段。
实验关键数据¶
主实验¶
四个数据集对应六个套件:WADI 14、SWaT 36、HVAC 48 个场景,RCAEval 的 RE1-OB/SS/TT 各 125 个。前三者按指标级真值计分;RCAEval 将指标映射为服务前缀、数据库实例归并到所属服务并去重,按服务级真值计分。不同粒度的数字不能直接解释为同难度任务。
下表从原文 Table 3 摘取 top@1,最佳统计基线在 HVAC 为 epsilon-Diagnosis,其余为 BARO;最佳图基线从六个 PC/FCI 排名配置中选取。LLM 数字是三次推理运行的均值 ± 样本标准差。
| 套件 | 最佳统计基线 | 最佳图基线 | LLM 无 DK | LLM 有 DK |
|---|---|---|---|---|
| WADI | 0.214 | 0.214 | 0.333 ± 0.082 | 0.310 ± 0.041 |
| SWaT | 0.194 | 0.111 | 0.213 ± 0.016 | 0.148 ± 0.016 |
| HVAC | 0.146 | 0.104 | 0.153 ± 0.043 | 0.278 ± 0.012 |
| RE1-OB | 0.784 | 0.576 | 0.875 ± 0.009 | 0.888 ± 0.008 |
| RE1-SS | 0.856 | 0.632 | 0.872 ± 0.024 | 0.944 ± 0.008 |
| RE1-TT | 0.560 | 0.328 | 0.653 ± 0.024 | 0.685 ± 0.009 |
无 DK 配置的平均 top@1 在六套件均不低于最佳基线,但 HVAC 的 0.153 对 0.146、SWaT 的 0.213 对 0.194 属小差距,不应称为有显著性证明的全面胜利。有 DK 并非端到端总是更好:SWaT 从 0.213 降到 0.148,HVAC 则从 0.153 升到 0.278。
HVAC 主表使用受控池上的同一预测,但把原检索漏掉的 18/48 个场景全部计为失败;对已命中的 30 个场景,候选池未改变。这是附录 F 给出的端到端计分等价性解释,不能把受控表的 0.326 当作 HVAC 实际端到端准确率。
消融实验¶
固定 K=15 的检索分析来自 Table 1,三信号表示固定总预算下增加状态变化,并非三个检索器各自拿到 15 个名额。
| 套件 | 仅幅度 | 幅度 + 起始时间 | 三信号 | 说明 |
|---|---|---|---|---|
| WADI | 0.64 | 0.57 | 0.64 | 三信号最终与幅度持平 |
| SWaT | 0.53 | 0.61 | 0.67 | 状态证据带来额外覆盖 |
| HVAC | 0.35 | 0.65 | 0.63 | 起始时间主导,第三信号略降 |
| RE1-OB | 1.00 | 0.99 | 0.98 | 幅度候选被替换后略降 |
| RE1-SS | 1.00 | 1.00 | 1.00 | 检索已饱和 |
| RE1-TT | 0.98 | 0.98 | 0.91 | 三信号在该套件损害覆盖 |
Table 4 的受控检索池如下;强制含任意正确根因,所有基线在同一池上重跑。它隔离排序,不是实际端到端表,WADI/SWaT 的场景数为 13/35。
| 套件 | 同池最佳基线 | LLM 无 DK | LLM 有 DK | 有 DK 相对最佳基线增益 |
|---|---|---|---|---|
| WADI | 0.308 | 0.410 ± 0.044 | 0.436 ± 0.089 | +12.8 pp |
| SWaT | 0.200 | 0.229 ± 0.029 | 0.267 ± 0.017 | +6.7 pp |
| HVAC | 0.188 | 0.188 ± 0.055 | 0.326 ± 0.012 | +13.9 pp |
| RE1-OB | 0.784 | 0.883 ± 0.005 | 0.891 ± 0.012 | +10.7 pp |
| RE1-SS | 0.856 | 0.859 ± 0.009 | 0.928 ± 0.000 | +7.2 pp |
| RE1-TT | 0.560 | 0.688 ± 0.024 | 0.741 ± 0.009 | +18.1 pp |
增益沿用原表报告,例如 HVAC 的 +13.9 pp,而展示值 0.326−0.188 为 +13.8 pp。差异可能涉及未展示精度,但缓存未确认,不自行统一。所有跨表差异都应先核对候选构成、分母和随机基线设置。
关键发现¶
- Table 2 的无 DK 分解显示,CPS 三套件的条件 Rerank@1 为 0.52/0.32/0.24,微服务为 0.90/0.87/0.72;CPS 不只是漏检更多,命中后也更难排序。
- Table 2 中 SWaT 的检索失败为 0.33、已检索但排错为 0.45。两者不同于条件排序失败约 0.68,不能把 0.45 叫作条件失败率。
- DK 的益处可被检索遮住。受控实验中,SWaT 原来漏检的 11 个场景共 33 次场景运行,无 DK 命中第一名为 0/33,有 DK 为 6/33;正常端到端协议下这些场景仍全部为零。
- 时间戳敏感性测的是检索:检测时间提前 5 分钟时,HVAC Retrieval@15 降 27.1 pp、SWaT 降 22.2 pp;RCAEval 在测试的 ±1/±2 分钟范围最大变化不超过 3.2 pp。
- 长正常窗口图的最佳 top@1 在 WADI/SWaT/HVAC 为 0.214/0.083/0.083,未改变主设置下的结论;但 RE1-TT 未做这一全局图实验,不能声称六套件都有长窗口结果。
亮点与洞察¶
- 候选覆盖率是任何受限重排序器的硬上限。这个视角让“换更强 LLM”与“补全可观测证据”成为可独立评估的干预,而不是把所有收益归于推理能力。
- 固定总预算的消融避免把候选增加误当成信号更有效。尤其 RE1-TT 的覆盖下降说明异质证据不是越多越好,检索策略需要适配系统的异常表现形式。
- 自然语言 DK 不要求先构建精确因果图,降低知识输入门槛。它也引入先验冲突与文档质量问题,因此收益应结合真实覆盖和受控排序共同看。
局限与展望¶
- CPS 数据域主要覆盖水系统与楼宇,WADI 仅 14 个场景。三次解码重复不足以支持跨部署稳定性或统计显著性结论,设置又固定在同一批基准上,缺少独立系统验证。
- 已知故障窗口、标注开始时间和正常参考仍是强条件。HVAC 的占用时段选择尤其体现参考窗口的人工设计;未来应联合审计检测、窗口选择和候选覆盖,而不是仅优化最后排序。
- 受控插入位置会影响 LLM,附录 G 中 HVAC 插入项在前五槽时能命中、其他槽时未命中。扣除这些插入命中后,无 DK 从 0.188 降到 0.153,低于 RCD 的受控 0.188,削弱“无 DK 从不更差”的稳健解释。
- 去标识实验只保留类型、单位和结构语义,缓解了对公开基准名称记忆的担忧,不能证明完全排除了预训练记忆或所有泄漏来源。
- 原文概括性表述需要限定:受控检索池上“LLM 从不更差”不覆盖附录 G 的随机池反例,也不覆盖扣除插入位置命中后的 HVAC 无 DK 比较。Table 4 的 HVAC 增益 +13.9 pp 与展示值相减的 +13.8 pp 存在舍入层面的差异,保留原报告而不自行统一;提示的“按偏离程度排序”与实际多信号呈现顺序也不一致。
- 工业部署应作为辅助诊断,展示短候选列表与证据并保留人工复核,不能把 LLM 排名当作自动控制指令。本文不提供故障制造或设施破坏流程。
相关工作与启发¶
- vs BARO / epsilon-Diagnosis:统计偏离在直接故障中很有效,但强下游症状会遮住传播源头。本文不是否定统计方法,而是指出在有限候选预算下需要额外信号和条件排序评估。
- vs RCD / CIRCA / PC-FCI 图排序:RCD 虽被论文放入统计比较组,仍包含局部因果搜索;CIRCA 使用结构及回归检验。本文比较的是指定学习图、预处理和窗口配置,不等于否定专家图、时滞模型或所有因果 RCA。
- vs RankGPT / SpecRCA:列表式重排序和先提出候选再验证都可映射到这一评测。可复用的不是某个固定提示,而是记录模型实际考察过的候选、把漏检与误排分开;后续研究可检验覆盖感知的检测器,但本文未实现该系统。
评分¶
- 新颖性: 4/5 — 分解本身是条件概率关系,价值在于为 RCA 建立可操作的审计视角。
- 实验充分度: 4/5 — 有跨域、同池、强制覆盖和稳健性控制,但 CPS 样本小且部分结论受协议影响。
- 写作质量: 3/5 — 主要叙事清楚,部分普遍性表述、子集解释和表格舍入需要谨慎阅读。
- 价值: 4/5 — 对选择检测器、定位检索瓶颈和评价知识增益具有明确实践价值。