AI RCA 不是一个按钮,而是一套生产调查系统

AI RCA 产品建设框架:从生产上下文、事件治理、调查引擎、工具调用、证据链、协作工作台到行动闭环,说明可观测性平台如何把根因分析做成可验证、可协作、可治理的生产调查系统。

作者 技术调研

AI RCA 从生产信号到证据化调查系统

过去这段时间,我系统看了一批海外头部厂商的 AI SRE / AI RCA 产品,包括 Datadog、Dynatrace、New Relic、Splunk、Grafana、Elastic、Honeycomb、Sentry、PagerDuty、incident.io、Rootly、ServiceNow、BigPanda、Resolve AI、Neubird,以及 AWS、Azure、Google Cloud、IBM 等云和企业软件厂商。

看完之后,我有一个很明确的判断:

AI RCA 的核心竞争力,不是模型,而是生产上下文、证据链、工作流和治理。

如果把 AI RCA 理解成“用户点一个按钮,AI 告诉你根因是什么”,这个方向大概率会失败。真实的生产故障太复杂,单靠大模型在几条告警、几段日志上做自由推理,很容易把症状说成根因,把时间相关说成因果,把猜测包装成结论。

更合理的方向是:把 AI RCA 做成一套生产调查系统。它应该从告警、指标、日志、链路、拓扑、变更、代码、工单、历史事故、runbook、权限、自动化流程中收集证据,然后形成可验证的假设,逐步验证或推翻,最后把结论推进到处置、复盘和预防。

核心摘要

  • AI RCA 不是“根因按钮”,而是一套面向生产事故的调查系统;模型只是其中一个推理和编排组件。
  • 真正有价值的 AI RCA,要先拥有生产上下文:服务、环境、版本、团队、拓扑、变更、告警、SLO、日志、trace、历史事故和 runbook。
  • AI RCA 的输出不应该只有自然语言总结,而应该是可展开、可验证、可审计的 investigation package。
  • 症状、触发器、关键故障点、根因和影响范围必须被区分,否则 AI 很容易把“发生了什么”误写成“为什么发生”。
  • 可观测性平台更适合承担 observability-native technical RCA engine 的角色,同时连接 incident / ITSM / IM 系统,并把上下文开放给 Codex、Cursor、Claude Code 和企业内部 Agent。

一句话结论

AI RCA 的目标不是让 AI 替 SRE 拍脑袋,而是让 AI 帮 SRE 更快、更完整、更可信地完成生产调查。

这句话里有三个关键词:

  • 更快:减少人工在指标、日志、链路、变更、告警、工单和代码之间来回切换的时间。
  • 更完整:系统性覆盖候选根因、支持证据、反证、已排除方向和下一步验证动作。
  • 更可信:每个结论都能回到原始证据、查询链接、变更记录、历史事故或人工确认。

头部厂商其实在走不同路线

看这些厂商,不能简单说“大家都在做 AI RCA”。它们的出发点完全不同。

路线 代表厂商 更擅长的上下文 对 AI RCA 的启示
observability-native Datadog、Dynatrace、New Relic、Splunk、Grafana、Elastic、Honeycomb metrics、logs、traces、APM、拓扑、变更、dashboard、SLO 更适合做技术证据组织和根因调查
incident-native PagerDuty、incident.io、Rootly on-call、升级、Slack / Teams 频道、事故角色、状态更新、复盘、follow-up、历史事故 价值不在于比可观测性平台更懂 trace,而在于把事故变成可协同、可沉淀、可复盘的 workspace
ITSM / AIOps / NOC ServiceNow、BigPanda、LogicMonitor、ScienceLogic CMDB、工单、变更、服务台、网络设备、机房、虚拟化、外包运维、自动化脚本 更贴近传统企业运维现场,需要强工单、流程和治理能力
cloud-native AWS、Azure、Google Cloud 云资源、控制面、IAM、审计日志、平台健康、资源拓扑、标准 runbook 云厂商天然掌握资源和控制面上下文
独立 AI SRE 层 Resolve AI、Neubird 跨工具连接、已有工具栈之上的调查编排 不替代 Datadog、Splunk、Prometheus、CloudWatch,而是连接它们做跨工具调查

这些路线不一样,但底层共识是一致的:

AI RCA 不是让 LLM 猜根因,而是让 AI 基于事实组织调查。

AI RCA 产品框架总览

我认为 AI RCA 至少要分成十层。把这十层拆开看,能避免把产品做成一个孤立聊天框,也能看清可观测性平台、事故协同系统、代码助手和自动化平台各自应该承担什么。

层级 产品能力 关键问题 典型产物
1. 数据质量 统一服务名、环境、版本、团队、集群、namespace、trace id、resource id、deployment id AI 能不能知道该查什么 标准字段、标签规范、上下文索引
2. 实体模型 建模服务、主机、容器、数据库、队列、云资源、业务系统的关系 谁依赖谁,谁归哪个团队负责 服务拓扑、依赖图、owner 映射
3. 事件治理 标准化、去重、抑制、聚合告警 AI 面对的是问题,还是 alert storm 事件聚合、降噪规则、关联告警
4. 问题对象 把多条告警、多种症状、多条证据组织成 issue、problem、incident、episode RCA 是围绕单条告警,还是围绕真实故障 事故对象、问题对象、影响范围
5. 调查入口 从 alert、SLO、incident、dashboard、日志查询、chat、API 启动 AI investigation 用户能不能在当前工作流里发起调查 多入口调查、上下文传递
6. 调查引擎 生成假设、调用工具、查询数据、验证或推翻假设 AI 是在自由发挥,还是在按证据调查 hypothesis、tool call、query、验证轨迹
7. 证据链 展开指标、日志、trace、变更、拓扑、代码 diff、历史事故和查询链接 结论能不能被复核 evidence graph、deep link、反证记录
8. 协作工作台 展示不同 investigation thread、owner、状态、确认结论和开放问题 多团队能不能共享调查状态 investigation workspace、状态流转、人工确认
9. 行动闭环 连接 rollback 建议、runbook、工单、PR、status update、postmortem、follow-up RCA 之后能不能进入处置和预防 建议动作、审批、工单、复盘项
10. 学习和评估 记录用户是否接受 AI 结论、最终复盘是否一致、是否漏查、是否给过危险建议 AI RCA 能不能持续变好 历史回放、评估集、风险审计

这十层里,LLM 只是其中一部分。前面的数据、拓扑、事件、权限、工作流不稳,后面的 AI 一定不稳。

从上下文到证据链:调查系统应该如何工作

AI RCA 不是“问一句,答一句”的聊天功能,而是一个持续收集上下文、提出假设、调用工具、验证证据、同步状态的调查过程。

生产上下文是调查起点

第一层是数据质量。服务名、环境、版本、团队、集群、namespace、trace id、resource id、deployment id 这些字段如果不统一,AI 一开始就不知道该查什么。

第二层是实体模型。平台要知道服务、主机、容器、数据库、队列、云资源、业务系统之间是什么关系,谁依赖谁,谁归哪个团队负责。

第三层是事件治理。告警要先标准化、去重、抑制、聚合,不能让 AI 面对一堆散乱的 alert storm。

第四层是问题对象。不要围绕单条告警做 RCA,而要先形成 issue、problem、incident、episode 这样的对象。一个真实故障往往包含多条告警、多种症状、多条证据。

工具调用决定调查深度

第五层是调查入口。AI investigation 可以从 alert、SLO、incident、dashboard、日志查询、chat、API 多个入口启动,而不是只放在一个孤立聊天框里。

第六层是调查引擎。AI 要生成假设、调用工具、查询数据、验证或推翻假设。每一步都应该留下轨迹。

这里的关键不是让模型“更会说”,而是让它能安全、稳定、可审计地调用工具:查指标、查日志、查 trace、查变更、查拓扑、查历史事故、查 runbook、查代码 diff。工具调用越结构化,AI RCA 越接近工程系统,而不是演示脚本。

证据链决定结论可信度

第七层是证据链。每个结论都要能展开看到指标、日志、trace、变更、拓扑、代码 diff、历史事故和查询链接。

一个可用的 AI RCA 结论,至少要能回答这些问题:

  • 为什么认为这个方向更可能是根因?
  • 哪些指标、日志、trace 或变更支持这个判断?
  • 有没有反证?
  • 哪些候选原因已经被排除?
  • 这个判断是 AI hypothesis,还是已经被人确认?
  • 下一步应该查什么?

没有证据链的 RCA,本质上只是摘要。摘要可以提高沟通效率,但不能支撑生产事故决策。

人机协作决定能否进生产

第八层是协作工作台。真实事故经常涉及多个团队,所以要展示不同 investigation thread:谁在查数据库,谁在查发布,谁在查网络,哪些方向已排除,哪些方向仍然开放。

第九层是行动闭环。RCA 不是终点,后面还要有 rollback 建议、runbook、工单、PR、status update、postmortem、follow-up。

第十层是学习和评估。用户是否接受 AI 结论?最终复盘根因是否一致?AI 是否漏查关键证据?是否给过危险建议?这些都要进入评估体系。

最容易犯的错:把 AI RCA 做成聊天框

很多团队做 AI RCA,第一反应是加一个“AI 运维助手”。

用户问:“这次故障根因是什么?”

AI 回答:“可能是数据库连接池耗尽。”

这类 demo 看起来很漂亮,但在生产里很危险。

一线工程师真正需要的不是一句话答案,而是一组可追问、可验证、可交接的信息:

  • 为什么你认为是数据库?
  • 哪些指标支持?
  • 哪些日志支持?
  • 有没有 trace 证据?
  • 近期是否有变更?
  • 有没有其他候选原因?
  • 哪些方向已经被排除?
  • 这个结论置信度是多少?
  • 下一步应该怎么验证?
  • 如果要修复,需要谁审批?

所以 AI RCA 的输出不应该是一段总结,而应该是一个 investigation package。

这个 package 至少包括:当前事实、影响范围、时间窗口、受影响服务、关联告警、近期变更、候选根因、支持证据、反证、已排除方向、置信度、下一步检查和建议动作。

不要把症状说成根因

这是 AI RCA 最大的坑之一。

CPU 高不是根因。延迟高不是根因。错误率高也不是根因。它们多数时候只是症状。

真正的根因通常是某个状态变化:

  • 一次发布。
  • 一次配置修改。
  • 一个数据库 schema 变更。
  • 一个下游依赖退化。
  • 一个 feature flag 打开。
  • 一个云资源限制。
  • 一个证书过期。
  • 一个权限策略变化。
  • 一个重试风暴。

好的 RCA 产品应该在语义上区分 trigger、symptom、critical failure、root cause 和 impact。

概念 含义 例子
trigger 触发调查的信号 告警触发、SLO burn、用户反馈
symptom 系统表现出来的异常 错误率升高、延迟升高、CPU 高
critical failure 最早或最关键的技术故障点 某个服务最早出现退化
root cause 导致退化的状态变化 发布、配置、依赖、权限、资源限制变化
impact 对用户、业务、SLO、客户的影响 某类请求失败、某个区域受影响

如果产品不做这层区分,AI 很容易把“发生了什么”误写成“为什么发生”。

变更必须是一等公民

看完这些产品,我越来越确定一件事:AI RCA 如果不看变更,能力会很弱。

变更包括很多类型:代码发布、配置变更、Kubernetes rollout、feature flag、数据库 schema、云资源调整、IAM 权限、网络策略、CMDB change request、CI/CD pipeline、依赖版本升级。

大量故障的关键问题不是“哪个指标异常”,而是“异常之前发生了什么变化”。

所以可观测性平台做 AI RCA,必须把 change event 纳入数据底座。并且不是简单展示一条发布记录,而是要和服务、环境、版本、负责人、trace、日志、SLO、告警关联起来。

从产品设计上看,变更不应该只是 timeline 里的一行信息,而应该参与候选根因排序、证据链构建、反证判断和行动建议。

Timeline 不够,应该有 Investigation Workspace

很多 incident 产品喜欢展示 timeline。timeline 对复盘有用,但对实时调查不够。

真实事故不是线性的。它通常是多个团队并行排查:

  • A 团队查最近发布。
  • B 团队查数据库。
  • C 团队查网络。
  • D 团队查第三方依赖。
  • E 团队查客户影响。
  • 某个工程师在 Codex / Cursor 里查代码 diff。

这些事情在时间上交错,但在逻辑上是多个 investigation thread。

所以我认为更好的产品形态是 structured investigation workspace。

它应该展示:

  • 当前有哪些排查方向;
  • 每个方向的 owner 是谁;
  • 状态是 proposed、investigating、confirmed、refuted 还是 inconclusive;
  • 每个方向有哪些证据;
  • 哪些结论已被人确认;
  • 哪些只是 AI hypothesis;
  • 下一步谁要做什么。

Timeline 可以自动生成,但不应该是唯一主视图。

Codex、Cursor 会参与 RCA,但不应该成为事故主系统

未来工程师一定会在 Codex、Cursor、Claude Code 里做一部分 RCA。尤其是代码相关问题,它们会非常强。

比如某次事故怀疑由最新 PR 导致,工程师可以让 Codex 结合 GitHub diff、Datadog trace、Splunk 日志,分析哪段代码可能引入问题,甚至生成修复 PR。

但这不意味着企业级 RCA 应该只发生在 IDE 里。

事故通常涉及多团队协作、共享状态、权限审计、客户沟通、复盘和 follow-up。Codex / Cursor 更像个人调查工作台,incident workspace 才是事故 system of record。

合理分工应该是:

  • Codex / Cursor 做本地技术调查和代码分析。
  • Datadog / Splunk / Grafana / Prometheus / Elastic 做证据源。
  • PagerDuty / incident.io / Rootly 或自研 incident workspace 做事故协同和结论沉淀。
  • 可观测性平台提供技术 RCA engine 和 MCP 工具层。

这里的关键是边界:代码助手可以深入代码和 PR,事故工作台负责共享状态和组织协同,可观测性平台负责生产证据和调查工具。三者应该互相传递上下文,而不是互相替代。

自动修复不能太着急

很多厂商都在讲 autonomous SRE,但真正落地时都很谨慎。

原因很简单:生产修复动作风险太高。

重启服务、扩容、rollback、改配置、执行 SQL、修改 IAM、切流量,这些动作一旦出错,可能造成二次事故。

所以 AI RCA 的自动化应该分阶段:

  1. 先做只读调查。
  2. 再做证据链。
  3. 再做建议动作。
  4. 再生成 runbook、命令、PR 草稿。
  5. 再由人审批执行。
  6. 最后才是低风险动作自动化。

高风险动作必须有权限、审批、审计、回滚和责任归属。

在国内金融、政企、电信、能源客户里,这一点尤其重要。直接宣传“AI 自动修复生产故障”,很容易在安全评审阶段被卡死。

可观测性平台应该怎么做

如果我们站在一个可观测性平台厂商的视角,最合理的定位不是做另一个 PagerDuty,也不是做一个通用聊天机器人。

更合理的定位是:

observability-native technical RCA engine + incident workflow integration + agent context provider。

也就是说,技术证据和调查能力应该在可观测性平台里最强;事故协作可以和外部 incident / ITSM / IM 系统集成;同时通过 MCP / API 把生产上下文开放给 Codex、Cursor、Claude Code、企业内部 Agent。

我建议的建设路径是:

阶段 建设重点 目的
1 补数据底座,统一服务、环境、版本、团队、拓扑、变更、trace、日志字段和告警上下文 让 AI 能拿到稳定上下文
2 做低风险 AI 能力,包括告警摘要、日志摘要、查询生成、dashboard 解释、similar incidents、runbook 推荐 先在低风险场景建立信任
3 做限定场景 RCA,比如服务延迟升高、错误率升高、Kubernetes OOM、发布后回归、日志模式突增、SLO burn 避免一开始就做通用根因判断
4 标准化 investigation package 每次 AI 调查都产出结构化结果,而不是一段自然语言
5 做 investigation workspace 支持多方向排查、owner、状态、证据、结论、反证和下一步动作
6 集成 incident / ITSM / IM 把调查结果推送到 PagerDuty、ServiceNow、Jira、飞书、企微、钉钉、Slack
7 开放 MCP / Agent 工具层 让外部 AI 工具能安全调用服务健康、指标、日志、trace、变更、告警、SLO、dashboard deep link
8 建立评估体系 用历史事故回放测试 AI 是否找对证据、是否漏查、是否误判、是否给危险建议
9 再做受控 remediation 先建议,再审批,再执行,最后才谈自动化

这条路径的本质是先做调查能力,再做协同闭环,最后做受控执行。顺序不能反过来。

FAQ

AI RCA 和传统 AIOps 有什么区别?

传统 AIOps 更常见的切入点是告警降噪、事件关联、异常检测和工单自动化。AI RCA 更强调围绕一次生产问题建立调查对象,组织上下文、候选根因、工具调用、证据链、反证、协作状态和行动闭环。两者可以结合,但 AI RCA 不能只停留在告警聚合。

AI RCA 为什么不能只做成聊天机器人?

因为生产事故需要可验证的证据和协作状态。聊天机器人可以作为入口,但不能成为唯一产品形态。工程师需要看到指标、日志、trace、变更、拓扑、历史事故、候选原因、已排除方向、置信度和下一步动作,而不只是一段“可能是什么原因”的回答。

可观测性平台做 AI RCA 的优势是什么?

可观测性平台天然接近 metrics、logs、traces、APM、拓扑、变更、dashboard、SLO 和告警上下文。它最适合做技术证据和调查引擎,再通过 incident / ITSM / IM 集成补齐事故协同、审批、复盘和 follow-up。

变更为什么在 AI RCA 里这么重要?

很多故障的关键不只是“哪个指标异常”,而是“异常之前发生了什么变化”。代码发布、配置修改、Kubernetes rollout、feature flag、数据库 schema、云资源、IAM、网络策略等变更,往往是候选根因排序和证据链构建的核心输入。

AI RCA 什么时候可以自动修复?

不要一开始就追求自动修复。更稳的路径是先做只读调查和证据链,再给建议动作、runbook、命令或 PR 草稿,然后由人审批执行。只有低风险、权限清晰、审计完整、可回滚的动作,才适合逐步自动化。

最后

AI RCA 会是可观测性平台未来几年非常重要的方向。但它不会以“AI 根因按钮”的形式成熟。

它更像是一次产品架构升级:把过去分散在指标、日志、链路、告警、拓扑、变更、工单、事故复盘、代码仓库里的上下文,组织成一个可调查、可验证、可协作、可行动的系统。

大模型当然重要,但它不是根本。

根本是:平台是否拥有足够完整的生产事实;是否能把告警变成问题对象;是否能基于证据提出和验证假设;是否能让团队共享调查状态;是否能把结论推进到处置和复盘;是否能在权限、审计、成本和安全上让企业放心。

一句话总结:

AI RCA 的目标不是让 AI 替 SRE 拍脑袋,而是让 AI 帮 SRE 更快、更完整、更可信地完成生产调查。

编者:秦晓辉,ToB 软件创业者,长期关注监控、可观测性、RCA、SRE 方向。曾主导 Open-Falcon、Nightingale 等开源项目建设。极客时间专栏《运维监控系统实战笔记》作者,公众号 SRETALK 主理人。

觉得有用?望不吝转发点赞 :)

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云