这篇文档属于类型a,是一篇关于原创研究的学术论文报告。以下是针对该研究的详细学术报告:
大型语言模型在软件故障根因分析中的潜力评估:OpenRCA基准与RCA-Agent框架
作者与机构
本研究的核心作者团队由Junjielong Xu(香港中文大学深圳数据科学学院与微软联合培养)、Qinan Zhang、Zhiqing Zhong(香港中文大学深圳数据科学学院)、Shilin He、Chaoyun Zhang等来自微软研究院、清华大学和香港中文大学的研究人员组成。该研究以会议论文形式发表于ICLR 2025,标题为《OpenRCA: Can Large Language Models Locate the Root Cause of Software Failures?》。
学术背景
研究领域聚焦于人工智能驱动的软件工程(AI for Software Engineering),特别是大型语言模型(LLMs)在软件开发生命周期(SDLC)后期阶段的应用。当前LLMs的研究主要集中在代码生成等早期开发阶段,而软件部署后的运维环节(如故障根因分析/Root Cause Analysis, RCA)仍高度依赖人工,且现有AI方法因软件系统复杂性和异构数据(如日志、指标、追踪)的挑战表现有限。本研究旨在探索LLMs在RCA任务中的潜力,填补这一研究空白。
研究流程与方法
1. 基准数据集构建(OpenRCA)
- 数据来源:从3个企业级软件系统(电信、银行、在线市场)收集335个真实故障案例,配套68GB脱敏的遥测数据(包括指标、日志、追踪)。
- 数据处理:通过四阶段流程(系统筛选→数据平衡→校准→查询合成)确保数据质量。例如,校准阶段由3名工程师验证故障标签与遥测数据的匹配性,剔除无法确认根因的案例(如缺失数据或标签错误)。
- 任务设计:将RCA定义为目标驱动任务,覆盖7种组合目标(如定位故障组件、时间、原因或其组合),通过自然语言查询模拟真实场景。
评估框架开发(RCA-Agent)
实验设计
主要结果
1. LLMs的当前局限性
- 所有模型在OpenRCA上表现不佳,最佳模型Claude 3.5通过RCA-Agent仅解决11.34%的案例。
- 任务复杂度显著影响性能:单要素任务(如仅定位组件)准确率(16.78%)显著高于多要素任务(三要素任务准确率为0%)。
案例实证
以银行系统故障为例,RCA-Agent通过以下步骤成功定位根因:
1. 分析CPU/内存指标,筛选异常组件(如Tomcat01)。
2. 通过追踪数据识别高频自调用链,确认Tomcat01为传播源头。
3. 结合日志发现“网络数据包丢失”证据,最终输出结构化根因。
结论与价值
1. 科学意义:OpenRCA是首个面向LLMs的RCA开源基准,推动AI与软件运维交叉研究。
2. 应用价值:RCA-Agent框架为处理大规模异构数据提供了可扩展方案,尽管当前性能有限,但指明了代码执行与多智能体协同的未来方向。
3. 行业影响:自动化RCA可降低企业运维成本(如避免CrowdStrike级故障的数十亿美元损失)。
研究亮点
1. 数据真实性:基于真实生产环境的故障案例,覆盖多类型软件架构。
2. 方法创新性:将程序合成引入LLMs的RCA任务,突破长上下文限制。
3. 可扩展性:OpenRCA支持动态更新,防止数据污染,促进社区协作。
局限性与展望
当前数据仅涵盖分布式系统,未来计划纳入单体架构故障;需进一步优化RCA-Agent的错误处理机制,并探索真实工程师查询的集成。
此报告完整呈现了研究的背景、方法、结果与价值,符合学术传播的严谨性和完整性要求。