kp-016 核心 20 分钟 编排与状态

编排总览:工作流、智能体与编排器的五项职责

#编排 #工作流 #控制流

前置知识

一句话定义

编排(Orchestration)是决定「下一步谁做什么」的控制层,谱系从完全固定的工作流(Workflow,代码写死路径)延伸到目标驱动的自主智能体(Agent,模型自己规划路径);编排器无论以何种形态实现,都承担分解、调度、状态、错误处理、终止判定五项职责。

直观类比

旅行可以跟团(工作流:行程表写死,便宜可靠)也可以自由行(智能体:给预算和目标,自己随机应变,灵活但可能迷路)。好的旅行规划者知道:能跟团的景点跟团,需要应变的路段自由行。

为什么重要

模式选型(kp-011)回答「什么结构」,编排回答「结构怎么被驱动」。控制流放在哪、放多死,直接决定系统的可预测性、成本与调试体验;「工作流还是智能体」是所有 MAS 工程的第一分叉,Anthropic 的指南将其总结为:为效果找最简方案——能用工作流就不上自主智能体。

前置知识

kp-006(主管-工人——主管是最常见的编排器人格化);kp-011(模式与场景的映射)。

核心概念

  • 工作流(Workflow):路径由代码预定义(提示链、路由、并行化),LLM 只在节点内工作,系统行为确定可测;
  • 自主智能体(Autonomous Agent):模型在目标与工具约束下自己决定步骤顺序与是否终止,行为开放;
  • 编排器五职责:任务分解(拆子任务)、调度(谁下一步上)、状态维护(进行到哪)、错误处理(失败路由)、终止判定(何时结束);
  • 编排位置:代码层(LangGraph 这类图引擎)、LLM 层(主管智能体动态指挥)、声明层(配置化 DAG)。

原理与机制

谱系轴上的选型规则:路径可预测、步骤固定 → 提示链/路由(工作流);需要扇出汇聚 → 并行化工作流;步骤依赖中间结果、无法预知 → 主管-工人式智能体;目标开放、连步骤数量都不定 → 完全自主智能体。判据是「路径的可预测性」:能写出流程图就写工作流,写不出才交给模型。五职责的实现归属决定系统性格:全部在代码 → 确定性系统(kp-017 的图编排),错误行为可控;分解与调度交给 LLM 主管 → 灵活但引入分解漂移风险(kp-020),必须用验收标准与轮数上限约束(kp-022)。混合形态最常见:代码定骨架(图的拓扑、循环上限、预算),LLM 定节点内行为与条件路由的判断。

图示

确定性 ◀──────────────────────────────────────▶ 开放性
 提示链 ── 路由 ── 并行工作流 ── 主管-工人 ── 自主智能体
 (代码定路径)                        (模型定路径)
        编排位置: 代码层 / LLM主管层 / 声明层
        五职责:  分解 · 调度 · 状态 · 错误处理 · 终止判定

实例或案例

客服系统编排:先跑分类路由(工作流节点,确定性强);简单 FAQ 直接命中知识库返回(无 LLM 循环);复杂工单进入主管-工人(技术诊断 + 账单查询两工人并行);主管持有轮数上限 5 与预算上限,超限转人工——骨架(路由、上限、转人工)是代码,只有「诊断如何继续」交给智能体。

常见误区

  • 误区一:自主智能体是更高级的形态所以默认选它。 开放性是成本不是荣誉:行为不可测、成本不可控、失败难复现;能用工作流就用工作流;
  • 误区二:编排器只是个 if-else。 状态维护与终止判定被轻视的系统会在长任务中漂移或死循环(kp-020);
  • 误区三:编排与框架绑定。 框架(kp-027)只是编排的载体,用裸代码写状态循环同样是合法编排。

与其他知识点的关系

kp-017 给出代码层编排的正式结构(图与状态机);kp-018 的检查点是「状态维护」职责的持久化形态;本知识点与 kp-011 合起来完成「模式 → 编排」的两级选型。

自测题

  1. 工作流与自主智能体的本质区别与选型判据?

要点:路径由谁决定(代码 vs 模型);判据是路径可预测性——画得出流程图就用工作流。

  1. 编排器五职责是什么?哪两项最常被轻视?

要点:分解、调度、状态维护、错误处理、终止判定;后两项——缺失它们系统会漂移或死循环。

  1. 「混合编排」如何分工?

要点:代码定骨架(拓扑/上限/预算),模型定节点内行为与条件判断。

延伸阅读

Anthropic《Building Effective Agents》对 workflow-agent 谱系有完整论述,是本知识点的核心出处。

相关知识点

学习状态:
未学