第 10 章 / 共 12 章

Workflow Orchestration:编排复杂流程

Workflow Orchestration 是 AI 学习路线的第十章。

前面几章已经把 AI 的单点能力逐步建立起来:能表达、能结构化输出、能调用工具、能使用知识、能评估效果、能执行多步骤任务、能接入 MCP、能管理记忆、能沉淀 Skill。到了 Workflow Orchestration 阶段,我们要解决流程稳定性问题:怎样把这些能力放进可控、可复用、可审批、可回滚的业务流程里。

真实项目中的 AI 功能,很少只是一问一答。它可能需要先分析需求,再生成功能点,再人工确认,再生成测试用例,再执行自动化测试,最后输出报告。Workflow Orchestration 的价值,就是把这些步骤组织成清晰流程,让 AI 能力进入真实业务链路。

这一章要解决的问题是:

如何把 AI 能力编排进稳定流程,让复杂任务可以按步骤、条件、审批和异常处理执行。

学完这一章,你应该能做到三件事:

  • 把复杂 AI 任务拆成固定步骤和条件分支
  • 为流程增加审批节点、自动重试和异常处理
  • 设计可观测、可回滚、可评估的 AI 工作流

1. Workflow Orchestration 是什么#

Workflow Orchestration 指的是把多个步骤、工具、模型、人工节点和判断规则编排成完整流程。

一个简单流程可能是:

读取需求
AI 生成测试点
人工确认
AI 生成测试用例
执行自动化测试
输出测试报告

一个复杂流程可能包含:

  • 固定步骤
  • 条件分支
  • 人工审批
  • 多模型协作
  • 自动重试
  • 异常处理
  • 失败回滚
  • 审计日志
  • 指标统计

Workflow Orchestration 的重点,是让 AI 能力在流程里稳定运行。

2. 为什么需要 Workflow Orchestration#

Agent 可以围绕目标连续执行任务,但真实业务还需要更强的流程控制。

常见问题包括:

  • 哪些步骤必须按顺序执行
  • 哪些步骤可以并行
  • 哪些结果需要人工确认
  • 失败时是否重试
  • 重试几次
  • 哪些操作可以回滚
  • 哪些节点要记录审计日志
  • 哪些结果能进入下一步

Workflow Orchestration 能带来几个收益:

  • 流程更稳定
  • 责任边界更清楚
  • 人工确认更可控
  • 失败处理更一致
  • 复杂任务更容易复用
  • 上线后更容易监控
  • 团队协作更容易对齐

当 AI 能力进入业务流程,编排能力就会变得非常重要。

3. 固定步骤#

固定步骤适合流程稳定、顺序明确的任务。

示例:需求到测试点流程

1. 读取需求材料。
2. 提取业务目标。
3. 梳理用户流程。
4. 生成测试范围。
5. 生成测试点。
6. 输出待确认问题。
7. 人工确认后生成最终版本。

固定步骤的优点:

  • 容易理解
  • 容易复用
  • 容易测试
  • 容易定位失败节点

设计固定步骤时要注意:

  • 每一步输入明确
  • 每一步输出明确
  • 每一步完成条件明确
  • 每一步失败处理明确

4. 条件分支#

条件分支用于根据中间结果选择不同路径。

示例:

如果需求材料完整:
直接生成测试点
如果需求材料缺少字段规则:
先输出待确认问题
如果需求材料包含接口说明:
增加接口测试点
如果需求材料涉及支付:
增加安全和幂等测试点

条件分支可以基于:

  • 输入类型
  • 检查结果
  • 用户选择
  • 工具返回
  • 风险等级
  • 权限结果
  • 评分结果

条件分支要写得具体,避免流程靠模型自由发挥。

5. 审批节点#

审批节点用于把人放进流程中。

适合审批的场景:

  • 需求确认
  • 测试范围确认
  • 高风险代码修改
  • 生产部署
  • 数据删除
  • 扣费和付款
  • 对外发送通知
  • 权限变更

审批节点需要展示:

  • 当前流程阶段
  • 已生成内容
  • 即将执行动作
  • 影响范围
  • 风险说明
  • 可选操作

示例:

审批节点:确认测试范围
AI 已生成:
- 登录正常流程
- 密码错误
- 账号禁用
- token 过期
- 参数缺失
请确认:
1. 是否继续生成详细测试用例
2. 是否补充安全测试
3. 是否排除低优先级场景

审批节点能防止 AI 把未确认内容直接推进到后续流程。

6. 自动重试#

自动重试用于处理临时失败。

适合重试的情况:

  • 网络超时
  • API 限流
  • 模型输出格式错误
  • 临时服务不可用
  • 文件锁定
  • 任务队列繁忙

不适合自动重试的情况:

  • 权限不足
  • 参数明显错误
  • 删除或发布类操作
  • 支付或扣费类操作
  • 用户拒绝审批
  • 安全策略拦截

重试规则建议包含:

  • 最大重试次数
  • 重试间隔
  • 是否指数退避
  • 重试前是否修正输入
  • 重试失败后的降级策略

示例:

JSON 解析失败:
1. 使用格式修复 Prompt 重试 1 次。
2. 如果仍失败,记录原始输出。
3. 返回人工处理。

自动重试要服务于稳定性,不能掩盖真实错误。

7. 异常处理#

流程中的每一步都可能失败。

常见异常包括:

  • 输入缺失
  • 文件读取失败
  • 工具调用失败
  • 模型输出不合格
  • 审批被拒绝
  • 权限不足
  • 依赖服务不可用
  • 成本超过预算
  • 延迟超过阈值

异常处理要回答:

  • 当前流程是否停止
  • 是否可以重试
  • 是否可以走降级路径
  • 是否需要人工处理
  • 是否需要回滚
  • 用户应该看到什么提示
  • 日志应该记录什么

示例:

如果 RAG 检索为空:
1. 尝试关键词检索。
2. 如果仍为空,输出资料不足。
3. 不生成无来源结论。
4. 记录检索 query 和过滤条件。

异常处理越清楚,流程越能稳定落地。

8. 多模型协作#

复杂流程中可以使用多个模型。

常见分工:

  • 小模型做分类和路由
  • 大模型做复杂推理
  • embedding 模型做检索
  • rerank 模型做排序
  • judge 模型做评分
  • 代码模型做代码生成或审查

示例:

1. 小模型判断用户意图。
2. RAG 检索相关资料。
3. 大模型生成答案。
4. Judge 模型检查答案是否有来源支撑。
5. 如果评分不足,重新检索或转人工。

多模型协作要记录:

  • 每个模型负责什么
  • 输入输出格式
  • 成本和延迟
  • 失败处理
  • 版本信息

模型越多,流程评估越重要。

9. 人工介入#

人工介入和审批节点相似,但范围更广。

人工可以参与:

  • 补充输入
  • 修改 AI 输出
  • 确认风险
  • 选择方案
  • 处理失败
  • 做最终验收

人工介入设计建议:

  • 介入点明确
  • 用户需要做的动作明确
  • AI 给出可选项
  • 人工修改能进入后续流程
  • 保留修改记录

示例:

AI 生成测试范围后,测试负责人可以:
1. 删除不需要的场景。
2. 调整优先级。
3. 补充业务规则。
4. 确认进入测试用例生成步骤。

人工介入属于高质量业务流程的一部分。

10. 失败回滚#

当流程已经产生副作用时,需要考虑回滚。

可能需要回滚的场景:

  • 修改文件
  • 修改数据库
  • 创建工单
  • 发布配置
  • 部署服务
  • 批量发送通知
  • 生成外部可见内容

回滚设计要包含:

  • 哪些动作可回滚
  • 回滚命令或接口
  • 回滚前置条件
  • 回滚失败怎么办
  • 谁有权限回滚
  • 回滚日志怎么记录

示例:

发布流程:
1. 创建发布前快照。
2. 部署新版本。
3. 健康检查失败时自动回滚到快照。
4. 回滚后通知负责人。
5. 记录失败原因和回滚结果。

带副作用的流程必须提前设计回滚。

11. Workflow 实战示例#

11.1 测试设计流程#

需求分析
生成测试范围
人工确认范围
生成测试点
生成接口测试用例
执行自动化检查
输出测试报告

关键节点:

  • 需求缺失时输出待确认问题
  • 涉及支付时增加幂等和安全测试
  • 人工确认后再生成详细用例
  • 测试执行失败时记录失败详情

11.2 技术方案流程#

需求分析
方案调研
风险评审
任务拆分
人工确认
生成实施计划

关键节点:

  • 多方案对比
  • 明确技术风险
  • 标注依赖和阻塞点
  • 输出可执行任务清单

11.3 代码生成流程#

读取需求
读取现有代码
生成实现方案
修改代码
运行单元测试
代码审查
生成提交说明

关键节点:

  • 修改前先理解现有结构
  • 运行测试验证
  • review 关注风险
  • 失败时输出原因和未完成项

11.4 RAG 回答流程#

用户问题
检索文档
rerank
生成答案
引用检查
输出结果

关键节点:

  • 检索为空时说明资料不足
  • 引用无法支撑结论时重试或转人工
  • 记录 query、来源和回答

12. Workflow Eval#

Workflow 需要评估流程整体表现。

常见指标:

  • 流程完成率
  • 每个节点成功率
  • 平均执行时间
  • 人工介入次数
  • 审批通过率
  • 自动重试次数
  • 回滚次数
  • 错误恢复率
  • 单次流程成本
  • 用户满意度

示例:

{
"workflow": "rag_answer_with_citation_check",
"run_count": 100,
"completion_rate": 0.94,
"citation_check_pass_rate": 0.9,
"average_latency_ms": 3200,
"fallback_to_human": 6
}

评估流程时,要看最终结果,也要看每个节点的质量。

13. 阶段验收标准#

学完这一章,可以用下面的问题检查自己:

  • 我能不能把复杂任务拆成固定步骤?
  • 我能不能设计条件分支?
  • 我能不能加入审批节点?
  • 我能不能设计自动重试规则?
  • 我能不能处理流程异常?
  • 我能不能让多个模型按职责协作?
  • 我能不能设计人工介入点?
  • 我能不能为有副作用的动作设计回滚?
  • 我能不能记录流程日志?
  • 我能不能评估流程完成率和节点成功率?

如果这些问题大多数都能做到,说明 Workflow Orchestration 阶段已经基本合格。

14. 本章总结#

Workflow Orchestration 的核心是把 AI 能力放进稳定流程。

一套可用的工作流,建议至少包含:

  • 固定步骤
  • 条件分支
  • 审批节点
  • 自动重试
  • 异常处理
  • 多模型协作
  • 人工介入
  • 失败回滚
  • 流程日志
  • Workflow Eval

Workflow Orchestration 让 AI 能力从单点工具走向业务流程。它适合测试设计、需求分析、代码生成、文档问答、发布检查和企业内部自动化场景。

这一章的目标很明确:让复杂 AI 任务按稳定流程运行,每一步都清楚、可控、可追踪、可恢复。