工作流与自动化
Workflow Automation
很多 AI app 在单次 request demo 时都看起来不错,但一旦变成长任务、批处理、multi-step pipeline,就开始暴露问题:任务会丢、重试会乱、状态不清、人工 review 插不进去。AI engineer 真正的价值,往往不是把单次 prompt 调到 90 分,而是把整条 workflow 做到可恢复、可观察、可扩展。
所以这页讲的是 production workflow automation,不是“把几个 API 连起来”那么简单。
先说结论:先显式建状态,再谈自动化
AI workflow 最怕隐式状态。
一个 task 到底在哪一步、失败了几次、该不该转人工,如果都只能靠日志猜,这条 automation 很快会失控。
所以更稳的原则是:
- 每一步有明确 state
- 每一步能重试或恢复
- 每一步都能被观测
什么时候你真的需要 workflow system
| 场景 | 为什么单次 request 不够 |
|---|---|
| multi-step research | 需要搜索、解析、总结、合并 |
| batch summarization | 一个请求处理不了整批文档 |
| embedding / indexing pipeline | 有 ingest、split、embed、store 多步 |
| HITL review flow | 模型完成后还要人审 |
| tool orchestration | 会调用多个外部系统 |
如果任务是跨时间、跨工具、跨状态的,workflow 就不是可选项了。
一个更可靠的 Workflow Skeleton
ingest
-> queue
-> worker step
-> checkpoint
-> next step or retry
-> human review if needed
-> completion
这里最关键的不是 queue 本身,而是 checkpoint 和 retry policy。
State Machine 为什么比“脚本串起来”更稳
一个更像 production 的 task state,至少应该有:
| State | 含义 |
|---|---|
| pending | 已创建,尚未处理 |
| running | 当前在执行 |
| success | 已完成 |
| failed | 本轮失败,需要判断 |
| needs_review | 进入人工介入 |
| cancelled | 被中止或回滚 |
有了这层状态,你后面做 SLA、重跑、监控、审计都容易很多。
Retry 不只是“失败了再来一次”
更靠谱的 retry policy 至少要定义:
| 项目 | 为什么要写清 |
|---|---|
| max attempts | 防止无限重试 |
| backoff strategy | 避免瞬间打爆依赖系统 |
| idempotency key | 防止重复执行副作用 |
| escalation threshold | 什么时候转人工或进 DLQ |
很多 workflow 出事故,问题不在第一次失败,而在失败后重复做错很多次。
Workflow 里的 LLM Step,要像不稳定依赖来设计
这点很关键。
LLM step 不是 deterministic function,所以你应该默认它会:
- timeout
- schema fail
- output drift
- 质量波动
这意味着每个 LLM step 最好都有:
- timeout
- schema validation
- fallback / retry
- low-confidence review path
把 LLM 当成稳定黑盒,是很多 workflow 后期难维护的根源。
HITL 路径一定要早设计
Human-in-the-loop 不是系统失败后的补丁,而是 workflow 的正式分支。
它通常适合:
| 场景 | 为什么要人进来 |
|---|---|
| 低置信度输出 | 模型自己也不稳 |
| 高风险业务内容 | 错一次代价高 |
| 重复失败任务 | 自动化已经不划算 |
| 关键客户任务 | SLA 和 trust 要求更高 |
如果 review path 是后面临时拼出来的,通常会非常难用。
Observability 不要只看 overall success rate
更应该看:
| 指标 | 作用 |
|---|---|
| queue lag | 看系统有没有堵住 |
| step-level P95 | 看哪一步拖慢了整体 |
| retry count | 看哪一步最不稳 |
| DLQ size | 看多少任务已经自动化失败 |
| review rate | 看需要人工介入的比例 |
如果你只看 overall success,很多局部坏趋势会很晚才发现。
常见翻车点
| 问题 | 根因 |
|---|---|
| 重跑后结果重复写入 | 没有 idempotency |
| 中间挂了只能整单重做 | 没有 checkpoint |
| 人工 review 插入困难 | 没有显式 review state |
| 排障全靠猜 | 没有 per-task trace |
AI workflow engineering 最值钱的地方,就是把这些“本来靠运气”的部分变成系统能力。
Practice
拿你现在一个 multi-step task,先画出这 5 个东西:
- task states
- retry policy
- checkpoint location
- review trigger
- failure metric
这 5 个东西一旦明确,workflow automation 就已经比脚本堆叠成熟一个层级。