Skip to content

[任务]: GitHub Action CI 故障诊断SKILL #19

Description

@tfhddd

任务描述

GitHub Action CI 故障诊断项目

欢迎来到 GitHub Action CI 故障诊断项目!

项目目标:构建 github-action-diagnose AI SKILL,实现 CI 故障从日志获取、问题定界、根因定位到修复方案推荐的全链路自动化诊断,覆盖基础设施异常、业务代码缺陷、三方依赖等主要故障类型。

为统一、规范、透明地向全体开发者同步 CI 诊断 SKILL 建设相关工作,本文档用于同步所有相关计划、进展和成果,确保开发者能够及时了解项目状态。我们会定期更新进度,并在此处记录关键里程碑、任务清单、风险及决策。


项目建设总体里程碑计划

阶段一 3.30 前
核心 SKILL 功能开发验证与小范围试点:完成原型验证,选取 10~20 个典型 CI 失败案例(覆盖基础设施异常/代码 Bug/三方依赖三类场景)并使用 SKILL 完成诊断,对比验证自动化定界准确率

阶段二 4.15 前
扩展诊断场景,提升根因分析准确性:联合各业务团队,针对 Ascend NPU 集群(ARC/K8s)的高频故障模式进行测试调优,完善日志解析、节点溯源与三方依赖问题识别能力;同步验证基础设施集群部署结构 AI 可读化改造

阶段三 4.30 前
全面落地:完成文档上线、开发者培训,收集首批用户反馈,建立 CI 问题自动诊断体系


Task

NO step 假设 验证 ai native改造目标 措施
1 日志获取 AI agent 可以直接获取 CI 日志,并提取其中的关键错误信息 nok,完整读取日志需要消耗大量 token(单次2W+) 每个 CI 问题的 token 消耗不随日志大小波动,固定在 2000 token 以内 通过工具脚本(fetch-run.sh)对日志分层预过滤(过滤 tiling 噪声、按错误优先级压缩),再交给 AI 推理
2 问题定界 分工边界在 skill 中明确写出,AI 可自动判断故障类型(基础设施/业务代码/三方依赖) ok 不涉及 不涉及
3.1 问题属于基础设施 skill 通过读取基础设施日志,分析具体问题 nok,当前基础设施日志存于华为云 LTS,AI 无法直接拉取 基础设施服务日志能够被 agent 读取(需鉴权),K8s 集群节点状态可通过 kubectl 自动查询 验证 LTS 日志 API 开放及鉴权接入方案
3.2 问题属于 vllm-ascend 代码本身 通过 gh CLI 获取 PR diff、issue、变更文件列表,结合日志堆栈分析已知问题和代码 Bug ok,gh CLI 可获取相关信息 不涉及 不涉及
3.3 问题属于其他项目的代码(三方依赖) 通过搜索上游仓库 issue 和文档,识别已知问题或版本兼容性缺陷 待验证 不涉及 不涉及
4 修复方案推荐 AI 针对不同类型问题给出对应的修复建议 ok,当前 skill 已可输出修复建议 不涉及 不涉及

Baseline

current:CI 问题定位依赖开发者人工逐步排查,需手动翻阅大量日志、登录 LTS 平台查询基础设施状态、人工判断问题边界、逐条查阅三方依赖文档

duration:单次 CI 故障定位耗时 0.5~1 天;涉及多层依赖或跨集群节点的问题可能超过 1 天;多问题并发时人力消耗成倍增长

failure

  • 日志量大(含大量 tiling DEBUG 噪声),人工筛查关键错误行效率低
  • 基础设施信息(节点、NPU 状态)在k8s、 LTS 等多个平台,获取路径长
  • 问题定界主观性强,易将基础设施故障误归因为代码问题(或反之),导致责任方处理延误
  • 三方依赖问题需手动查阅文档和 issue,解决周期不可控
  • 相同类型故障反复消耗人力,缺乏知识沉淀和复用机制

Target

duration:主流故障类型(基础设施/代码 Bug)5 分钟内完成定界与根因定位,生成可操作的诊断报告

autonomy:从日志获取到问题定界到根因分析到修复建议的全流程提供 AI 可调用工具能力链;基础设施类问题自动关联节点信息,代码类问题自动关联 PR diff 与修复方案

verification:通过 AI agent 调用相关 skills 链完成 CI 诊断,常见故障类型(基础设施/代码 Bug/三方依赖)自动定界准确率达到 85%+,根因定位准确率达到 70%+,较人工排查人力消耗降低 60%+


风险与挑战

日志可获取性与结构化:当前基础设施问题日志存储于华为云 LTS,AI 无法直接拉取;集群部署结构信息未对 AI 开放,导致节点溯源和环境故障定位存在信息盲区,需验证基础设施侧 AI 可读化改造

日志 token 消耗:单次 CI 日志体积可达数百 MB,完整摄入对 token 消耗极大,需在日志预过滤策略(噪声过滤/按错误类型分层)和诊断准确率之间持续权衡

三方依赖信息获取:依赖包的 issue 和文档分散于 PyPI、GitHub、npm 等多个平台,自动获取链路复杂,信息时效性难以保障

边界模糊问题:部分故障兼具基础设施和代码特征(如概率性挂死),自动定界难度高,需持续积累样本优化分类模型

Metadata

Metadata

Assignees

No one assigned

    Labels

    task研发子任务:由 需求拆解出的非代码类任务。

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions