HCY Blog

MA-RCA: 多智能体根因分析

AIOPS论文学习

本文提出MA-RCA方法,通过专业化Agent分工、集成历史诊断经验及双重验证机制,有效抑制大语言模型在根因分析中的幻觉问题。实验表明,该方法在提升诊断准确率的同时显著降低了幻觉率,为复杂系统故障定位提供了更可靠的解决方案。

MA-RCA: 多智能体根因分析

原文标题: MA-RCA: Multi-Agent Root Cause Analysis

来源: Complex & Intelligent Systems (Springer, November 2025)

关键词: 多智能体、幻觉抑制、历史经验检索、验证Agent


摘要

LLM在根因分析(RCA)中面临幻觉问题——生成看似合理但无依据的因果假设。现有多智能体方法(如mABC)虽然采用投票机制,但忽略了多步推理中上下文切换导致的幻觉。

本文提出MA-RCA,通过:

  1. 专业化Agent分工: 将RCA工作流分解为专门子任务,减少上下文切换
  2. 历史诊断经验集成: 引导Agent扩展假设空间并验证潜在指标
  3. 双重机制抑制幻觉: Agent专业化 + 知识接地

实验表明MA-RCA在真实数据集上达到更高的F1分数,同时有效减少幻觉。


1. 引言

1.1 RCA的核心挑战

  1. 异常描述与运行数据的复杂映射
  2. 非结构化日志与结构化指标的语义鸿沟
  3. 因果关系的组合爆炸

1.2 现有LLM方法的局限

方法局限性
微调方法需要高质量训练数据,难以持续更新
预定义处理器缺乏对动态拓扑的适应性
ReAct/RCAgent工作流自动化但存在幻觉问题
mABC忽略上下文切换导致的幻觉

1.3 MA-RCA的创新

  • 减少上下文切换: 每个Agent专注单一领域
  • 知识接地: 历史经验引导假设生成
  • 验证机制: 独立Agent验证假设

2. 系统架构

2.1 整体框架

┌─────────────────────────────────────────────────────────────┐
│                        MA-RCA Framework                      │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  用户查询 → RCA Agent (中央调度)                              │
│                  ↓                                           │
│         ┌───────┴───────┐                                    │
│         ↓               ↓                                    │
│  Retrieval Agent   Validation Agent                          │
│   (历史检索)         (实时验证)                               │
│         ↓               ↓                                    │
│         └───────┬───────┘                                    │
│                 ↓                                            │
│           Report Agent                                       │
│           (报告生成)                                          │
│                 ↓                                            │
│           诊断结果                                            │
│                                                              │
│  支撑组件:                                                    │
│  - 历史异常案例库                                             │
│  - 工具仓库                                                   │
└─────────────────────────────────────────────────────────────┘

2.2 四大核心Agent

Agent职责核心功能
RCA Agent中央调度输入解析、工作流协调、假设综合
Retrieval Agent历史检索从案例库检索相似案例
Validation Agent实时验证验证假设与当前数据的一致性
Report Agent报告生成生成专业诊断报告

3. 核心技术

3.1 RCA Agent - 中央调度器

3.1.1 输入解析机制

强制提取的实体:

  • 设备类型: 能量表、传感器等
  • 症状: 电压丢失、通信故障等
  • 设备ID: 精确硬件标识符
  • 时间框架: 时间上下文

完整性检查:

输入: "电表[METER_ID]下午突然电压下降"

解析结果:
{
  "device_type": "energy_meter",
  "symptom": "voltage_drop",
  "device_id": "METER_ID",
  "timeframe": "afternoon"
}

缺失字段时 → 触发用户重新输入

3.1.2 Agent调度

工作流程:

  1. 历史模式匹配: 调度Retrieval Agent检索相似案例
  2. 实时证据验证: 激活Validation Agent验证
  3. 因果综合与报告: 协调Report Agent生成结论

3.2 Retrieval Agent - 历史检索

核心功能:

  • 基于解析实体查询历史案例库
  • 识别相似/相关事件
  • 返回可能的根因假设

检索策略:

给定查询 Q = {device_type, symptom, device_id, timeframe}

1. 向量化查询
2. 在案例库中进行相似度搜索
3. 返回Top-K相关案例
4. 提取历史根因作为假设

3.3 Validation Agent - 假设验证

核心功能:

  • 验证检索假设与当前系统遥测数据的一致性
  • 动态假设验证,减少幻觉

验证流程:

假设: "电容器老化"

验证步骤:
1. 查询相关指标(电压波形、功率因数)
2. 检查是否符合老化特征
3. 交叉验证多数据源
4. 输出: 验证结果 + 置信度

关键设计: 独立于RCA Agent运行,减少上下文切换

3.4 Report Agent - 报告生成

输出结构:

1. 异常摘要
2. 根因分析
3. 证据链
4. 置信度评估
5. 修复建议

4. 幻觉抑制机制

4.1 Agent专业化

问题: 单Agent处理全流程时频繁切换上下文,容易幻觉

解决: 每个Agent专注单一领域

RCA Agent: 只负责解析和调度
Retrieval Agent: 只负责检索
Validation Agent: 只负责验证
Report Agent: 只负责报告

效果: 减少上下文污染,降低错误传播

4.2 知识接地

问题: 无历史经验时Agent容易”编造”假设

解决: 强制从历史案例库检索

假设生成必须来自:
1. 历史相似案例的根因
2. 领域知识库的已知模式

禁止: 凭空生成未见过的假设

4.3 验证机制

问题: 即使有假设,也可能不适用当前情况

解决: 独立验证Agent

每个假设必须通过:
1. 数据一致性检查
2. 时间相关性验证
3. 多源交叉验证

未通过验证的假设被过滤

5. 实验

5.1 数据集

  • 电网异常诊断数据集
  • 云平台事件数据集

5.2 基线方法

  • ReAct
  • RCAgent
  • mABC

5.3 主要结果

方法准确率F1 Score幻觉率
ReAct52.3%0.5428%
RCAgent61.5%0.6321%
mABC67.2%0.6915%
MA-RCA74.8%0.768%

关键发现:

  • 准确率提升11%
  • 幻觉率降低47%

5.4 消融研究

配置F1 Score
完整MA-RCA0.76
无Validation Agent0.68
无历史检索0.62
单Agent0.58

6. 与mABC的对比

维度MA-RCAmABC
幻觉来源认识上下文切换单Agent决策
解决方案专业化分工+验证多Agent投票
历史知识强制检索可选
验证机制独立Agent投票验证

7. 结论

MA-RCA通过Agent专业化和知识接地双重机制有效抑制LLM幻觉:

  1. 专业化分工减少上下文切换导致的错误传播
  2. 历史检索确保假设有据可查
  3. 独立验证过滤不一致假设

实验证明MA-RCA在准确率和幻觉抑制方面都优于现有方法。


附录:Agent提示词模板

RCA Agent - 输入解析

请从以下异常描述中提取关键实体:
- 设备类型
- 症状描述
- 设备ID
- 时间信息

如有缺失,请标注需要补充的字段。

Validation Agent - 假设验证

假设: {hypothesis}
相关数据: {telemetry_data}

请验证假设与数据的一致性:
1. 数据是否支持该假设?
2. 是否存在矛盾证据?
3. 置信度评估(0-100)