Agent Skills
返回列表
腾讯组学任务诊断

腾讯组学任务诊断

IT 运维与安全 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @tencent-adm/omics-run-diagnosis

技能介绍

问题背景

组学分析任务跑挂之后,平台往往只给一句“任务失败”。真正的原因埋在 JSON-RPC 接口返回的日志数组里:容器是不是被 OOM 杀掉、Pod 有没有调度上去、镜像是不是拉不动、归档阶段 COS 有没有权限……每一类问题对应不同的 LogType 字段。手工排查的门槛不低:你得知道该翻哪个字段,LogContent 里的 JSON 字符串还要二次解析;批次任务更麻烦,接口只回一个 UUID 列表,想看子任务详情得再调一次。

技能如何工作

认证与接口。 Skill 依赖 omics-platform-cli 完成认证,直接读取 ~/.omics-platform-cli/auth.json 里的 session,再调 /userinfo 自动拿到当前登录用户的 Uin,不需要手动配密钥。日志统一走 POST /omics/api/cgi 的 RunService.DescribeRunLogs,--env 可在 prod(omics.qq.com)与 dev(genomics.qq.com)之间切换。

两种入口。 单任务用 --run-uuid,批次用 --run-group-id。传批次 ID 时按响应特征分三条路:只有 RunGroupStatusTip 说明批次没失败,直接告知;带 RunGroupChildSummaryTip 是 WDL 批次,列出失败子任务 UUID 让你挑一个二次调用;带 NF 专属字段而无 ChildSummary 则是 NEXTFLOW 直返,按单任务处理,不用再调。

错误信号提取。 优先级最高的是 ErrorCallStderr 和 ErrorCallJobEvent,它们直接对应失败作业,里面能看到 Python traceback、exit code,以及 SystemOOM、ImagePullBackOff、Unschedulable 这类 Pod 事件 Reason。其次是 ErrorCallStdout、ErrorCallCommand,再往后是 DataStageLog 里的 COS 报错。Nextflow 任务单独看 NFDriverLog 和 NFExecutionTrace。

知识库匹配。 拿到信号后对 references/troubleshooting-kb.md 中的 11 类错误场景做匹配:Pod 事件 Reason 优先,stderr 关键字符串次之,DataStageLog 兜底,最后还有任务状态模式匹配,用于没有详细日志时按用户描述推断(比如“批次失败且没有子任务”→ 批次初始化失败)。输出固定为错误分类 + 根因分析 + 修复建议。

适用边界

  • 认证必须有效,session 过期要引导用户执行 omics login
  • --run-uuid 与 --run-group-id 至少提供一个;诊断他人任务必须手动传 --run-uin
  • WDL 批次只回 UUID 列表,想拿子任务深度日志需要二次调用
  • NF 引擎下传 RunGroupId 与传 RunUuid 等价,不会触发二次调用
  • 知识库没覆盖到的错误,回退展示原始日志并建议联系平台支持
  • 只输出与错误相关的摘要(不超过 500 字),不把完整原始日志倒出来
  • 不输出 session_id、接口名等敏感信息

使用场景

  • 任务失败只提示一句,需从 ErrorCallStderr 里定位 Python traceback 与 exit code
  • WDL 批次整体失败时,列出失败子任务 UUID 并挑一个二次拉取完整日志
  • 根据 ErrorCallJobEvent 中的 SystemOOM 或 ImagePullBackOff 判断是内存不足还是镜像问题
  • 数据预处理阶段报 NoSuchKey,需确认 COS 输入文件路径与权限后再重跑

适合人员

  • 组学平台运维:要在用户报障后快速给出根因分类与修复动作
  • 生物信息工程师:想省去手工翻日志数组与二次解析 JSON 的时间
  • Nextflow 任务负责人:需要从 NFDriverLog 与 NFExecutionTrace 判断资源使用异常