关于 causal-inference-root-cause
causal-inference-root-cause 是用于工程、产品、政策和软件问题的结构化因果调查 skill,涵盖界定结果、比较假设、检验因果关系及记录不确定性。
主要功能
- 01五步根因分析流程
- 02竞争性假设与因果模型
- 03因果检验与证据层级
- 04混杂因素与不确定性检查
- 05结构化结论及质量量规
适用场景
- 01调查服务中断和性能下降
- 02分析产品指标变化
- 03评估政策结果
- 04查找软件缺陷原因
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ lyndonkl/ claude --skill causal-inference-root-cause安装后在 Claude Code 中输入/causal-inference-root-cause确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
resources/methodology.mdtemplate.mdresources/evaluators/rubric_causal_inference_root_cause.jsonresources/examples/database-performance-degradation.md详细介绍
因果推断与根因分析
目录
关键概念:根因(根本问题)、近因(直接触发因素)、混杂变量(造成虚假相关性的第三因素)、反事实(“如果没有 X,会发生什么?”)以及因果机制(X 影响 Y 的途径)。
快速示例:
# Effect: Website conversion rate dropped 30%
## Competing Hypotheses:
1. New checkout UI is confusing (proximate)
2. Payment processor latency increased (proximate)
3. We changed to a cheaper payment processor that's slower (root cause)
## Test:
- Rollback UI (no change) → UI not cause
- Check payment logs (confirm latency) → latency is cause
- Trace to processor change → processor change is root cause
## Counterfactual:
"If we hadn't switched processors, would conversion have dropped?"
→ No, conversion was fine with old processor
## Conclusion:
Root cause = processor switch
Mechanism = slow checkout → user abandonment
工作流
复制此检查清单并跟踪进度:
Root Cause Analysis Progress:
- [ ] Step 1: Define the effect
- [ ] Step 2: Generate hypotheses
- [ ] Step 3: Build causal model
- [ ] Step 4: Test causality
- [ ] Step 5: Document and validate
步骤 1:定义效应
描述效应/结果(具体说明发生了什么),尽可能量化(程度、频率),确定时间线(何时开始,是否仍在持续?),确定基线(正常情况如何,发生了哪些变化?),并识别利益相关者(谁受到影响,谁需要答案?)。关键问题:我们究竟要解释什么?这是一次性事件还是反复出现的模式?如何进行客观测量?
步骤 2:生成假设
列出近因(直接触发因素/症状),识别潜在根因(潜在因素),考虑混杂因素(造成虚假关联的第三因素),并质疑假设(如果最初的理论不正确呢?)。技巧:5 Whys(反复追问“为什么”)、鱼骨图(对原因进行分类)、时间线分析(效应发生前有什么变化?)、鉴别诊断(还有什么可以解释这些症状?)。简单调查 → 使用 resources/template.md。复杂问题 → 学习 resources/methodology.md 中的高级技巧。
步骤 3:构建因果模型
绘制因果链(A → B → C → 效应),识别必要原因与充分原因,梳理混杂关系(什么因素同时影响原因和效应?),注明时间顺序(原因先于效应——这是因果关系成立的必要条件),并说明作用机制(X 如何导致 Y)。模型要素:直接原因(X → Y)、间接原因(X → Z → Y)、混杂因素(Z → X 且 Z → Y)、中介变量(X → M → Y)、调节变量(X → Y 取决于 M)。
步骤 4:检验因果关系
检查时间顺序(原因是否先于效应?),评估关联强度(相关性是否强?),寻找剂量-反应关系(原因越强 → 效应越明显?),检验反事实(如果原因不存在/被移除会怎样?),寻找作用机制(解释其如何发生),检查一致性(在不同情境下是否成立?),并排除混杂因素。证据层级:RCT(金标准)> 自然实验 > 纵向研究 > 病例对照研究 > 横断面研究 > 专家意见。使用 Bradford Hill 标准(9 个因素:强度、一致性、特异性、时间顺序、剂量-反应关系、合理性、连贯性、实验、类比)。
步骤 5:记录并验证
创建 causal-inference-root-cause.md,包含:效应描述/量化、相互竞争的假设、因果模型(因果链、混杂因素、作用机制)、证据评估、根因及其置信度、建议的测试/干预,以及局限性/替代解释。使用 resources/evaluators/rubric_causal_inference_root_cause.json 进行验证:确认已区分近因与根因、控制了混杂因素、解释了作用机制、系统地评估了证据、注明了不确定性、建议了干预措施,并承认了替代解释。最低标准:得分 ≥ 3.5。
常见模式
用于事件调查(工程):
- 影响:系统中断、性能下降
- 假设:近期部署、流量激增、依赖项故障、资源耗尽
- 模型:时间线 + 依赖关系图 + 近期变更
- 测试:日志、指标、回滚实验
- 输出:包含根本原因和预防计划的事后分析
用于指标变化(产品/业务):
- 影响:转化率下降、收入变化、用户参与度变化
- 假设:产品变更、季节性、市场变化、测量问题
- 模型:用户旅程 + 外部因素 + 近期实验
- 测试:队列分析、A/B 测试数据、细分分析
- 输出:因果解释及建议采取的行动
用于政策评估(研究/公共政策):
- 影响:健康结果、经济指标、社会指标
- 假设:政策干预、混杂因素、长期趋势
- 模型:包含混杂因素和作用机制的 DAG
- 测试:双重差分、回归不连续、倾向得分匹配
- 输出:附置信区间的因果效应估计
用于调试(软件):
- 影响:Bug、意外行为、测试失败
- 假设:近期变更、边缘情况、竞态条件、依赖项问题
- 模型:代码路径 + 数据流 + 时序
- 测试:复现、隔离、二分查找、git bisect
- 输出:包含根本原因和修复方案的 Bug 报告
防护原则
应做:
- 明确区分相关性与因果关系
- 提出多个相互竞争的假设(不要只确认第一个理论)
- 梳理混杂变量并对其进行控制
- 说明因果机制(X 如何导致 Y)
- 检验反事实(“如果 X 没有发生,会怎样?”)
- 说明置信水平和不确定性
- 承认其他可能的解释
- 根据根本原因推荐可检验的干预措施
不应做:
- 将直接原因与根本原因混为一谈
- 只挑选支持初始假设的证据
- 假定相关性意味着因果关系
- 忽略混杂变量
- 跳过机制解释(只陈述相关性)
- 在缺乏有力证据时夸大置信度
- 未检验其他可能性就停留在第一个看似合理的解释上
- 未找出根本原因就提出干预措施
常见误区:
- 后此谬误:“发生在这之后,所以是由此导致”(时间顺序 ≠ 因果关系)
- 虚假相关:两件事因第三个因素或巧合而相关
- 混杂:第三个变量同时导致 X 和 Y
- 反向因果:是 Y 导致 X,而非 X 导致 Y
- 选择偏差:样本不具代表性
- 均值回归:极端值自然会趋向平均值
快速参考
- 模板:
resources/template.md- 用于根本原因分析的结构化框架 - 方法论:
resources/methodology.md- 高级技术(DAG、混杂控制、Bradford Hill 标准) - 质量评估标准:
resources/evaluators/rubric_causal_inference_root_cause.json - 输出文件:
causal-inference-root-cause.md - 关键区别:相关性(X 和 Y 同步变化)与因果关系(X → Y 的作用机制)
- 黄金标准测试:随机对照试验(消除混杂)
- 必要标准:时间顺序(原因先于结果)、机制(作用方式)、反事实(如果没有该原因会怎样)