编排不变量谁拥有状态迁移,谁就必须拥有验证和失败责任。模型可以建议路径,但不可逆副作用与业务不变量应由确定性节点或明确审批控制。

编排的核心是控制权归属

先逐节点问三件事:输入是否开放、错误代价是否可逆、完成是否能确定验证。规则稳定、合规关键、不可逆或必须精确重放的节点由代码拥有;开放分类、信息综合和候选方案生成可由模型拥有;责任无法自动委托的高风险歧义由人工拥有。

“模型选择下一节点”只是路由提议。Runtime 仍要检查允许的边、前置状态、预算和权限。把所有分支写进 Prompt 会让流程版本不可审计,也难以证明非法迁移不会发生。

四种常见组合形态

Workflow 中的模型节点

确定性流程固定前后边界,模型只完成分类、提取或草拟。适合输入开放但输出可 Schema/规则验证的任务,默认优先。

Workflow 启动受预算 Agent 子流程

某一节点允许有限 Loop 和 Tool 集,节点完成后返回受约束结果。适合调查、排障等步骤数不确定但整体流程明确的任务;必须有局部预算和退出契约。

Agent 只能触发已治理流程

Agent 选择一个经过治理的业务能力,由 Workflow 内部执行多步事务。模型看到的是“提交报销”而不是十个低层 API,能显著缩小权限和选择空间。

Supervisor 动态选择子流程

Supervisor 根据任务路由到专用 Agent/Workflow,并汇总结果。只有当能力边界、上下文隔离和失败上报明确时才值得引入;否则只是增加一次模型调用和归因困难。

按约束选择模式
模式控制权主要风险
模型在节点内Workflow验证器不足
Agent 在流程内局部共享Loop 逸出节点预算
Workflow as ToolAgent 选能力,流程执行高层契约过粗
Supervisor分层委派上下文/责任传播失真

每个节点都要有完成与失败语义

每个节点定义输入 Schema、权威状态读取、输出/状态命令、允许副作用、幂等键、Deadline、错误类别、补偿/人工路径和观测字段。输入应包含引用和版本,而不是未经验证的上一节点自然语言。节点成功意味着其后置条件成立,不只是函数返回 200。

Agent 节点还要声明可见 Tool、最大步骤、完成验收器和失败摘要;人工节点声明审批对象、到期、委托和恢复条件。节点间只传播下游必要信息,防止全局 Context 污染。

动态分支仍需可治理

模型可在允许边集中提议分支,Runtime 根据结构化理由、状态与策略裁决。新任务可以在受控范围生成,但最终要注册成有 ID、Owner、预算和依赖的节点,不能靠自然语言列表成为隐形 Workflow。

循环必须显式设置进展条件和上限;并行只用于依赖独立且副作用不冲突的节点;汇聚节点区分全部成功、部分成功和缺失结果。恢复时读取已提交节点状态,不重新运行整条 Prompt。

流程演进与在途实例

Run 记录 Workflow、节点契约、Prompt/模型、Tool 和策略版本。短 Run 可固定旧版本完成;长 Run 需要显式迁移函数或在兼容节点暂停。不能让新代码直接反序列化旧状态后“尽量继续”。

变更先用历史 Trace 回放和 Shadow Run 比较路径、成功率、人工率、成本与副作用,再灰度。回滚不仅回 Prompt,还要考虑状态 Schema、已发副作用和新节点产生的 Artifact。

何时保持 Workflow,何时开放 Agent

默认从确定性 Workflow + 有界模型节点开始;只有需求路径真的无法穷举、动态信息价值高且失败可检测恢复时,才增加 Agent 控制范围。评估变量包括任务开放度、状态动态性、验证难度、错误代价、延迟、审计和组织 Owner。

ADR 推荐写法记录为什么该节点需要不确定决策、可见能力与预算、完成/失败证据、Why Not 更确定方案、上线门槛以及何时收回自治。

运行指标要同时看任务成功、路径偏离、非法迁移拦截、人工接管、恢复率、P95 延迟和成功成本。模型“看起来更聪明”不是扩大控制权的证据。

什么时候优先把 Workflow 做成 Tool?
当业务能力内部多步但边界稳定、包含不变量或副作用时,让模型只选择高层意图,确定性流程拥有执行细节。
为什么全 Agent 通常不是更灵活的默认方案?
它把稳定约束也变成概率决策,扩大测试空间、审计难度和副作用风险;只有动态价值超过这些代价且有可靠验证时才值得。

资料与事实边界

以下以官方文档、标准、论文和原始工程资料为主。厂商 API、价格、限额与模型能力会变化,落地时仍需按目标版本做能力探测和回归。

  1. Anthropic:Building effective agents — Workflow 与 Agent 的区分、常见编排模式和由简单到复杂的工程建议
  2. OpenAI Agents SDK:Agents — Agent、handoff、output type 与 lifecycle 的当前实现语义
  3. Temporal:Workflow Definition — 持久 Workflow、确定性与版本演进边界