13 KiB
AIOps Workflow Requirements
1. 文档目标
本文档用于定义 aiops-workflow 项目的职责边界、MVP 需求范围、核心对象模型、输入输出契约与实施优先级。
这份文档基于主架构文档中对三层项目域的划分,重点回答以下问题:
aiops-workflow在整体 AIOps 架构中的定位是什么。aiops-workflow在 MVP 阶段必须交付哪些能力。- 它和
aiops-platform、aiops-tools的边界如何清晰切开。 - 如何保证 workflow 输出稳定、可解释、可评测、可演进。
本文档默认面向 workflow-first 路线,而不是 multi-agent 优先路线。
2. 项目定位
2.1 核心定义
aiops-workflow 负责“如何做诊断、如何组织证据、如何输出结构化 RCA 与建议”。
它不是平台主控层,也不是底层工具适配层,而是位于两者之间的智能工作流中枢。
其核心职责是:
- 接收
aiops-platform提供的 Incident 上下文。 - 按既定 workflow 执行诊断、检索与推理。
- 调用
aiops-tools暴露的查询类工具补齐证据。 - 输出平台可直接消费的结构化结果。
2.2 不负责的事情
aiops-workflow 明确不负责:
- 持有
Incident主状态 - 审批流转
- 执行动作控制
- 页面展示
- 直接对生产环境进行写操作
- 直接耦合底层监控系统协议细节
2.3 核心设计原则
- Workflow 优先于 multi-agent
- 查询能力可以直接调用 tools
- 执行能力必须回到平台决策
- 输出必须结构化,不能只返回自由文本
- 所有 workflow 都要可版本化、可回放、可评测
3. 目标用户与调用方
3.1 直接调用方
aiops-platform- 后续可能的复盘任务调度器
- 评测回归任务调度器
3.2 主要使用者
- AI 工程师:维护 workflow、Prompt、Schema、评测集
- 平台后端工程师:对接调用契约与任务状态
- SRE / 运维专家:审核知识库、诊断逻辑、建议动作质量
4. MVP 成功标准
MVP 阶段,aiops-workflow 至少应达到以下结果:
- 可稳定执行
incident_diagnosis工作流。 - 可调用 2-3 个查询类工具补齐证据。
- 可返回统一格式的
RCA Result与actions。 - 输出结果可被平台直接落库和展示。
- 具备基础评测回归能力,避免工作流更新后质量失控。
建议的 MVP 指标:
| 指标 | 说明 | MVP 目标 |
|---|---|---|
| Workflow 成功率 | 工作流执行完成率 | 高于 95% |
| Schema 合法率 | 输出满足平台 schema 的比例 | 高于 99% |
| 诊断 P95 时延 | 从触发到输出结果的时延 | 小于 60 秒 |
| 引证覆盖率 | 结果中包含有效 evidence 的比例 | 高于 90% |
| RCA Top1 准确率 | 在评测集上的首选结论命中率 | 持续追踪 |
5. 范围边界
5.1 MVP 必须范围
- Workflow 注册与版本管理
incident_diagnosis工作流action_planning工作流- 查询类工具编排
- RAG 检索策略基础能力
- 结构化输出 schema
- 任务状态查询
- 评测样例与回归检查
- 失败与降级策略
5.2 MVP 可选增强
postmortem_summary工作流- Prompt 模板变量管理界面
- 多知识域检索重排
- 更细粒度的步骤级 tracing
5.3 明确不在 MVP
- Multi-agent 编排框架
- 执行类动作直连生产系统
- 复杂可视化管理后台
- 全自动根因图谱推理平台
- 训练/微调平台
6. 核心对象模型
建议 aiops-workflow 先围绕以下对象建模:
| 对象 | 说明 | 关键字段 |
|---|---|---|
WorkflowDefinition |
工作流定义 | id, name, purpose, owner |
WorkflowVersion |
工作流版本 | version, status, schema_ref, prompt_refs |
SkillDefinition |
可复用能力单元 | id, workflow_ref, input_schema, output_schema |
PromptAsset |
Prompt 模板资产 | id, version, variables, content |
KnowledgeCollection |
知识集合 | id, source_type, tags, index_ref |
RetrievalPolicy |
检索策略 | top_k, filters, rerank_policy |
ToolContract |
工具调用契约 | tool_name, input_schema, output_schema |
WorkflowRun |
一次工作流执行实例 | run_id, workflow_id, status, started_at |
WorkflowStepRun |
步骤运行实例 | step_name, tool_name, status, duration_ms |
EvaluationCase |
评测样例 | case_id, input, expected_output |
SchemaContract |
输出契约 | fields, required, enum_constraints |
7. MVP 功能需求
7.1 Workflow Registry
7.1.1 能力目标
系统应能管理工作流定义与版本,而不是把 workflow 当成散乱脚本。
7.1.2 必须能力
- 注册 workflow
- 维护 workflow 名称、用途、负责人
- 管理版本状态
- draft
- active
- deprecated
- 记录 workflow 依赖的 Prompt、Schema、Knowledge、Tools
7.1.3 验收标准
- 可查看某个 workflow 的当前生效版本。
- 更新 workflow 时可保留历史版本。
- 平台调用时可明确命中哪个版本。
7.2 incident_diagnosis 工作流
7.2.1 目标
这是 MVP 最核心的工作流,用于根据 Incident 上下文给出结构化诊断结果。
7.2.2 输入要求
最小输入建议包含:
incident_idtitleseverityserviceenvfingerprinttime_windowrecent_changesrelated_incidentstopology
7.2.3 执行步骤
建议固定为以下链路:
- 解析 Incident 上下文
- 决定需要调用的查询工具
- 调用 metrics / logs / k8s / changes 查询
- 调用 RAG 补充 SOP 和历史案例
- 汇总证据并生成候选结论
- 输出结构化 RCA
7.2.4 输出要求
必须返回:
summaryrca.conclusionrca.confidencerca.impact_scoperca.evidence[]actions[]
7.2.5 验收标准
- 输出必须满足平台约定 schema。
- 结果中至少包含一条 evidence。
- 低置信度时不能输出高风险自动执行模式。
7.3 action_planning 工作流
7.3.1 目标
根据已形成的 RCA 与上下文,给出可执行但受控的动作建议。
7.3.2 必须能力
- 根据 RCA 生成动作建议列表
- 为每个动作给出风险等级
- 为每个动作给出推荐模式
autoapprovalsuggest_only
- 提供回滚建议
7.3.3 约束
- 仅输出建议,不直接执行
- 不允许 workflow 自行持有执行凭证
confidence低于阈值时自动降级
7.3.4 验收标准
- 每个动作都带
risk和mode。 - 中高风险动作默认不能为
auto。 - 建议动作可以被平台直接渲染展示。
7.4 postmortem_summary 工作流
7.4.1 目标
该工作流建议作为 P1 能力,用于在 Incident 关闭后生成复盘初稿。
7.4.2 建议输出
- Incident summary
- 关键时间点摘要
- 主要证据
- 初步改进建议
- 待人工确认的问题清单
7.4.3 MVP 处理方式
MVP 可先保留设计,不强制交付。
7.5 Prompt 资产管理
7.5.1 必须能力
- Prompt 版本化
- Prompt 与 workflow 绑定
- 变量占位支持
- 记录 Prompt 更新时间和负责人
7.5.2 设计要求
- Prompt 不应散落在代码或平台表单中不可追踪地修改
- Prompt 变更必须可回溯,并可在评测中验证
7.6 RAG 管理能力
7.6.1 范围
aiops-workflow 需要管理“如何检索”,不一定亲自实现底层向量数据库服务。
7.6.2 MVP 必须能力
- 管理知识集合引用
- 定义检索过滤条件
- 定义召回数量
top_k - 定义是否进行 rerank
- 返回引用证据
7.6.3 知识来源建议
- SOP 文档
- 历史 Incident / Postmortem
- 变更处理手册
- 常见故障 FAQ
7.6.4 验收标准
- workflow 输出中能引用知识来源。
- 检索异常时可降级,不致使整体任务崩溃。
7.7 Tools 编排能力
7.7.1 必须支持的查询类工具
query_metricsquery_logsquery_k8squery_changes
7.7.2 调用原则
- workflow 只调用标准化工具契约
- 不直接关心 Prometheus / Loki / K8s 原生协议差异
- 工具异常要回传为结构化错误
7.7.3 明确禁止
- 直接调用生产执行接口
- 绕过平台审批去执行变更
- 将 tool 返回的自由文本直接当最终结论
7.7.4 验收标准
- tools 调用记录可关联到 workflow run。
- tool 错误会降低置信度并触发降级逻辑。
7.8 输出 Schema 契约
7.8.1 必须能力
- 明确定义 output schema
- 校验 required 字段
- 校验枚举字段
- 拒绝不合法输出进入平台主链路
7.8.2 核心字段建议
{
"summary": "数据库连接池耗尽导致 API 延迟升高",
"rca": {
"conclusion": "连接池配置与突发流量不匹配",
"confidence": 0.86,
"impact_scope": ["api-gateway", "order-service"],
"evidence": [
{"type": "metric", "ref": "promql://latency_p95"},
{"type": "log", "ref": "loki://timeout_errors"}
]
},
"actions": [
{
"name": "临时扩容 order-service",
"risk": "low",
"mode": "auto",
"rollback": "scale down deployment/order-service"
}
]
}
7.8.3 验收标准
- schema 校验失败时返回明确错误码。
- 平台侧不需要解析自由文本才能使用结果。
7.9 运行态与任务管理
7.9.1 必须能力
- 异步任务运行
- 任务状态查询
- 步骤级状态展示
- 超时控制
- 取消任务
7.9.2 任务状态
queuedrunningsucceededfailedtimeout
7.9.3 验收标准
- 平台可以查询任务当前状态。
- 失败任务能返回失败原因。
- 超时任务进入明确降级路径。
7.10 评测与回归能力
7.10.1 必须能力
- 保存评测样例
- 定义期望输出或期望结论
- workflow 更新后可批量回归
- 对比关键指标变化
7.10.2 核心评测维度
- RCA 是否正确
- evidence 是否充分
- schema 是否合法
- 动作建议是否越权
- 置信度是否异常偏高
7.10.3 验收标准
- 每次重要 workflow 变更前后都能跑回归集。
- 回归结果可沉淀为版本发布依据。
7.11 可观测性与审计
7.11.1 必须记录的信息
- workflow 名称与版本
- run_id
- 输入摘要
- tools 调用记录
- token / cost 使用量
- 执行耗时
- 输出摘要
- 错误信息
7.11.2 边界说明
aiops-workflow 可以记录 workflow 运行审计,但 Incident 主审计仍由 aiops-platform 持有。
7.12 失败与降级策略
7.12.1 必须实现
- LLM 超时降级
- tool 不可用降级
- 检索失败降级
- schema 不合法降级
7.12.2 建议行为
- 返回部分结果 + 低置信度标记
- 阻断自动动作建议
- 明确提示人工接管
7.12.3 错误码建议
AI_TIMEOUTTOOL_UNAVAILABLESCHEMA_INVALIDRAG_UNAVAILABLEWORKFLOW_FAILED
7.13 安全要求
7.13.1 必须约束
- 不保存生产执行凭证
- 不直接调用写操作工具
- 不暴露敏感原始凭证到 Prompt
- 对输入上下文中的敏感字段进行最小化传递
7.13.2 合规要求
- workflow 运行日志可追踪
- Prompt 与知识来源可审计
- 结果生成过程可解释
8. 与平台的接口要求
8.1 诊断触发接口
- 平台触发
incident_diagnosis - workflow 返回
task_id - 平台异步查询结果
8.2 结果接口要求
成功结果必须包含:
task_idincident_idstatussummaryrcaactions
8.3 会话追问能力
建议预留人工追问接口,用于平台详情页的补充诊断,但不应影响主 workflow 结果的结构化输出约束。
9. 推荐的仓库内文档与资产结构
如果后续 aiops-workflow 独立成仓,可参考如下结构:
workflow/
AIOps_Workflow_Requirements.md
workflows/
incident_diagnosis/
action_planning/
postmortem_summary/
prompts/
schemas/
evals/
knowledge/
10. 分阶段实施建议
Phase 1
- 打通
incident_diagnosis - 接入
query_metrics、query_logs、query_k8s - 固化结构化 RCA schema
Phase 2
- 增加
action_planning - 完善 RAG 引用质量
- 建立评测回归集
Phase 3
- 增加
postmortem_summary - 引入更细粒度版本治理
- 评估局部 agent 化是否有必要
11. 结论
aiops-workflow 在整个架构中的价值,不是“单独做一个 AI 服务”,
而是把诊断能力沉淀成稳定、可复用、可评测的 workflow 资产。
如果 aiops-platform 解决的是“事件怎么流转”,
aiops-tools 解决的是“数据怎么查、动作怎么控”,
那么 aiops-workflow 解决的就是:
- 证据如何组织
- 诊断如何形成
- 结果如何结构化输出
因此它的第一优先级不是做复杂 agent 协作,
而是先把 incident_diagnosis -> evidence -> RCA -> actions
这条链路做稳定、做可审计、做可回归。