paper2skills Playbook

Root Cause Analysis Agent for Business Anomalies

Skill-Root-Cause-Analysis-Agent · 09-DataAgent-LLM

causalexperimentmulti_agentfraud_detectionpricing广告与投放供应链与补货MAS与智能体工程定价与利润WF-A 智能补货WF-B 广告优化WF-F 动态定价WF-H 复购增长
实现难度⭐⭐⭐☆☆
业务优先级⭐⭐⭐⭐⭐
业务视角
适用角色数据分析师 / 运营负责人 · CEO · 供应链负责人
适用平台Amazon SP API · Shopify · TikTok Ads API · 多平台数据整合
什么情况下用数据需求太多,数据团队排期 2 周;非技术人员(采购/客服/运营)有数据问题但不会 SQL;重复报表占用大量时间
成功是什么样的业务方用自然语言自助查数据,常规报表自动化,数据驱动决策响应速度从「天」变「分钟」
业务痛点
数据需求排期太长不会 SQL 只能等数据团队老板临时要数据没法马上出分析师时间都花在取数上

1. 解决的问题

异常检测告诉你"什么出问题了",但不告诉你"为什么"。

2. 核心算法逻辑

核心问题:异常检测告诉你"什么出问题了",但不告诉你"为什么"。根因分析(RCA)回答"为什么"——是系统Bug、竞品行动、营销活动、还是供应链问题?

3. 业务应用场景

业务问题:某日下午转化率从2.5%骤降到1.2%。传统排查需要人工逐个检查系统、页面、流量来源,耗时1-2小时。

2. 假设生成(LLM): - H1: 前端页面加载异常 - H2: 支付通道故障 - H3: 流量来源变化(低质量流量涌入) - H4: 某个SKU缺货导致流失 - H5: 竞品促销导致用户比价流失

3. 证据收集(Agent自动查询): - H1: 检查页面加载时间 → 正常(1.2s) - H2: 检查支付成功率 → 异常(从98%降到45%) - H3: 检查流量来源构成 → 无明显变化 - H4: 检查SKU库存状态 → 正常 - H5: 检查竞品价格 → 无重大促销

4. 输入数据要求

请查看原始代码模板获取输入规格。

5. 输出结果

请查看原始代码模板获取输出规格。

6. 业务价值 / ROI

  • ROI:故障定位时间 1-2h → 5min,减少损失 80%
  • 难度:⭐⭐⭐☆☆(3/5)
  • 优先级:⭐⭐⭐⭐⭐(5/5)— 与异常检测形成完整监控闭环

7. 代码模板

代码块数量:2 · 路径:未检测到

"""
Root Cause Analysis Agent — 根因分析Agent
用于业务异常的自动根因定位和报告生成
"""

import json
from typing import List, Dict, Any
from dataclasses import dataclass


@dataclass
class AnomalyEvent:
    """异常事件"""
    metric: str
    value: float
    baseline: float
    timestamp: str
    severity: str


@dataclass
class Hypothesis:
    """根因假设"""
    id: str
    description: str
    confidence: float = 0.0
    evidence: List[Dict] = None
    status: str = "pending"  # pending, confirmed, rejected


class RootCauseAnalysisAgent:
    """根因分析Agent"""

    def __init__(self):
        self.hypothesis_templates = {
            "payment": "支付通道故障",
            "frontend": "前端页面异常",
            "traffic": "流量来源变化",
            "inventory": "商品库存问题",
            "competitor": "竞品行动影响",
            "campaign": "营销活动副作用",
            "system": "系统发布/配置变更",
            "seasonal": "季节性因素"
        }

    def generate_hypotheses(self, event: AnomalyEvent) -> List[Hypothesis]:
        """
        根据异常事件生成根因假设

        实际应用中可用LLM生成更精准的假设
        """
        hypotheses = []

        # 根据异常指标类型生成相关假设
        if "conversion" in event.metric.lower():
            hypotheses.extend([
                Hypothesis("H1", "支付通道故障导致用户无法完成支付"),
                Hypothesis("H2", "前端页面加载异常导致用户流失"),
                Hypothesis("H3", "流量来源变化(低质量流量涌入)"),
                Hypothesis("H4", "价格显示异常或优惠券失效"),

8. 论文来源

未自动抽取;请查看原始 Skill 卡片。