[Paper] Agentic Structured Graph Traversal 用于云应用中代码相关事件的根因分析
发布: (2025年12月27日 GMT+8 02:56)
7 min read
原文: arXiv
Source: arXiv - 2512.22113v1
概述
云原生应用运行成千上万的微服务,当事故发生时,定位导致停机的确切代码或配置可能需要数小时——造成数百万美元的损失。本文介绍了 PRAXIS,一种新颖的编排器,使大型语言模型(LLM)能够在两个互补的图(服务层级图和代码层级图)中“行走”,自动执行根因分析(RCA)。通过将 LLM 转化为图遍历策略,PRAXIS 大幅加快并提升事故诊断的准确性。
关键贡献
- Dual‑graph representation: 将微服务交互的服务依赖图(Service Dependency Graph, SDG)与捕获每个服务内部细粒度代码依赖的“吊床‑块”程序依赖图(Program Dependence Graph, PDG)相结合。
- LLM‑driven traversal policy: 使用受 ReAct 启发的提示技术,让 LLM 决定下一个探索的节点,从而将模型转变为在图上进行推理的自主代理。
- PRAXIS orchestrator: 一个轻量级运行时,管理 LLM、图查询以及外部数据(日志、追踪),生成简洁、可读的人类 RCA 报告。
- Empirical gains: 在 30 起真实云事故的精选基准上,PRAXIS 相比最先进的 ReAct 基线实现了最高 3.1× 更高的 RCA 准确率 和 3.8× 更低的 token 使用量。
- Open benchmark: 作者将事故数据集作为新的 RCA 基准公开,供研究社区使用。
方法论
-
图构建
- 服务依赖图 (SDG):节点是微服务;有向边表示 RPC 调用、消息队列或共享存储。SDG 基于服务网格遥测(例如 OpenTelemetry)和部署清单构建。
- 吊床块程序依赖图 (PDG):对每个服务进行静态分析,提取“吊床”(语句簇)与单个代码块之间的控制流和数据流依赖,生成一个紧凑的 PDG,同时保留调试所需的因果结构。
-
代理遍历
- LLM 接收包含事件描述、当前图节点以及简短“动作空间”(例如 移动到依赖服务 X、检查 PDG 中的函数 Y)的 结构化提示。
- 使用 ReAct 风格的循环,模型输出 动作(要访问的节点)和 观察(例如日志片段、错误信息)。
- 编排器更新上下文,获取下一个图切片,并重复,直至满足终止条件(置信阈值或最大步数)。
-
根因分析合成
- 当遍历收敛后,LLM 将已访问的节点、观察结果和推断的因果链编撰成简短、面向开发者的根因说明,必要时链接到有问题的代码提交或配置文件。
结果与发现
| 指标 | PRAXIS | ReAct‑Baseline |
|---|---|---|
| RCA Accuracy (top‑1) | 78 % (↑3.1×) | 25 % |
| Average Tokens per Incident | 1.2 k (↓3.8×) | 4.6 k |
| Mean Traversal Steps | 7 | 22 |
| Time to Diagnosis | ~45 s (including API latency) | ~3 min |
- 更高的精确度 来源于 PDG 能够提前剪枝无关代码路径,而 SDG 则引导 LLM 朝最可疑的服务方向进行推理。
- 令牌节省 体现在 LLM 只收到每一步所需的最小子图,避免了单块 ReAct 方法中常见的“提示膨胀”。
- 基准测试表明 PRAXIS 能在多种事故类型(空指针崩溃、配置错误、版本不匹配)上有效工作,显示出良好的通用性。
实际影响
- 更快的 MTTR(Mean Time to Repair):将 PRAXIS 集成到 SRE 工具链中可以在事件解决上节省数分钟甚至数小时,直接转化为大规模云服务提供商的成本节约。
- 面向开发者的 RCA 报告:生成的解释包含精确的文件/行号引用,使 SRE 向开发团队的交接无缝衔接。
- 可扩展的自动化:由于 orchestrator 只提取必要的图片段,它可以在普通硬件上运行,并在不超出 LLM token 限制的情况下扩展到数千个服务。
- 持续改进循环:可以将事件结果反馈回去,以细化 PDG(例如,添加动态调用图数据)和 LLM 提示,打造自学习的 RCA 助手。
- CI/CD 集成的潜力:PRAXIS 可以在部署失败或事后分析流水线中自动触发,在根因进入生产环境之前将其捕获。
限制与未来工作
- 静态分析依赖:PDG 是基于静态代码分析构建的,可能会遗漏运行时生成的代码路径(例如反射、插件)。
- 图的时效性:在快速演进的微服务生态系统中,保持 SDG 和 PDG 的最新需要频繁重新生成,增加运维负担。
- LLM 幻觉风险:尽管结构化遍历降低了幻觉,但如果底层遥测数据噪声大或不完整,模型仍可能产生看似合理却错误的因果链接。
- 基准规模:评估使用了 30 起事件;需要更大、更具多样性的数据集来充分验证鲁棒性。
- 未来方向 作者提出的包括:
- 用动态分析数据增强 PDG。
- 探索多 LLM 集成进行集体推理。
- 将 PRAXIS 扩展至处理仅有配置的事件,此类事件的代码追踪稀疏。
作者
- Shengkun Cui
- Rahul Krishna
- Saurabh Jha
- Ravishankar K. Iyer
论文信息
- arXiv ID: 2512.22113v1
- 分类: cs.DC, cs.AI, cs.SE
- 出版时间: 2025年12月26日
- PDF: 下载 PDF