[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 基准公开,供研究社区使用。

方法论

  1. 图构建

    • 服务依赖图 (SDG):节点是微服务;有向边表示 RPC 调用、消息队列或共享存储。SDG 基于服务网格遥测(例如 OpenTelemetry)和部署清单构建。
    • 吊床块程序依赖图 (PDG):对每个服务进行静态分析,提取“吊床”(语句簇)与单个代码块之间的控制流和数据流依赖,生成一个紧凑的 PDG,同时保留调试所需的因果结构。
  2. 代理遍历

    • LLM 接收包含事件描述、当前图节点以及简短“动作空间”(例如 移动到依赖服务 X检查 PDG 中的函数 Y)的 结构化提示
    • 使用 ReAct 风格的循环,模型输出 动作(要访问的节点)和 观察(例如日志片段、错误信息)。
    • 编排器更新上下文,获取下一个图切片,并重复,直至满足终止条件(置信阈值或最大步数)。
  3. 根因分析合成

    • 当遍历收敛后,LLM 将已访问的节点、观察结果和推断的因果链编撰成简短、面向开发者的根因说明,必要时链接到有问题的代码提交或配置文件。

结果与发现

指标PRAXISReAct‑Baseline
RCA Accuracy (top‑1)78 % (↑3.1×)25 %
Average Tokens per Incident1.2 k (↓3.8×)4.6 k
Mean Traversal Steps722
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 起事件;需要更大、更具多样性的数据集来充分验证鲁棒性。
  • 未来方向 作者提出的包括:
    1. 用动态分析数据增强 PDG。
    2. 探索多 LLM 集成进行集体推理。
    3. 将 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
Back to Blog

相关文章

阅读更多 »