常见 Workflow 模式
链式、路由、并行、编排者-执行者、评估者-优化者。
一句话理解:五种 Workflow 模式分别解决五类问题:任务能分步就用链式,输入类型不同就用路由,子任务互相独立就用并行,子任务无法预知就用编排者-执行者,质量需要反复打磨就用评估者-优化者。
上一课说了“先找最简单的方案”。可简单不等于只调用一次模型:很多任务一次调用做不好,但也用不着一个自主 Agent。夹在两者之间的,就是这一课的五种 Workflow 模式。它们的划分参考了 Anthropic《Building effective agents》一文,是业界讨论编排方式时最常用的一套词汇。
学会这几种模式,你在评审方案时就能说出“这里应该加一道门控检查”“这一步适合并行投票”,而不是只能笼统地说“效果不稳定”。
模式一:链式(Prompt Chaining)
把一个任务拆成固定的几步,每一步的输出作为下一步的输入,步骤之间可以加入程序检查(门控)。
- 适用:任务可以清晰地拆成固定的几个子步骤。用增加延迟来换取每一步更高的准确率。
- 例子:SEO 内容生产,按“大纲 → 正文 → meta description”顺序;合同审阅,按“抽取条款 → 逐条比对标准条款 → 汇总风险”顺序。
- 设计要点:门控尽量用程序实现(字数、字段是否齐全、关键词是否出现),不要什么都让模型自己检查。
模式二:路由(Routing)
先对输入分类,再把它交给专门处理这一类的流程、Prompt 或模型。
- 适用:输入可以分成边界清楚的几类,每类用专门的处理方式效果更好;而且分类本身能做准(用 LLM 或传统分类模型都可以)。
- 例子:客服工单分流;按问题难度路由到不同大小的模型,简单问题用小模型省钱,难题用大模型(参见「模型选型与路由」)。
- 设计要点:一定要有“无法判断”的出口;分类器要单独建评测集,因为分错类,后面的处理再好也没用。
模式三:并行(Parallelization)
同时运行多个 LLM 调用,再用程序汇总结果。它有两种变体:
- 适用:子任务互相独立,可以并行提速;或者需要多个视角、多次尝试,以提高结果的可信度。
- 例子:分段:一次模型调用回答用户问题,另一次同时做内容安全筛查,比让一次调用兼顾两件事效果更好。投票:用几个不同侧重点的 Prompt 分别审查同一段代码有没有安全漏洞。
- 设计要点:投票的汇总规则是产品决策,比如“任一票判违规就拦截”偏安全,“多数票”偏体验,要按误判的代价来选。
模式四:编排者-执行者(Orchestrator-Workers)
一个中心 LLM 分析任务,动态决定要拆成哪些子任务,交给执行者处理,最后综合结果。
- 适用:无法提前知道需要哪些子任务的复杂任务。
- 与并行的区别:并行模式的子任务是预先设计好的(固定分三个区域);编排者-执行者的子任务是运行时由模型决定的。
- 例子:Coding Agent 做跨文件修改;调研任务需要从数量不定的多个信息源收集资料。
- 设计要点:编排者给执行者的任务说明要完整、边界清楚;执行者的返回要结构化,方便汇总。这个模式再往前一步,就是多个 Agent 协作,见「协作模式」。
模式五:评估者-优化者(Evaluator-Optimizer)
一个 LLM 负责生成,另一个 LLM 按明确的标准评估并给出反馈,循环直到满足标准。
- 适用:有清晰的评估标准,而且反复修改确实能带来可衡量的改进。判断方法:人给出反馈后结果明显变好,模型也能给出类似的反馈。
- 例子:多语言文案翻译,评估者检查语气和术语一致性;复杂检索任务,评估者判断信息是否已经足够、还需不需要再搜一轮。
- 设计要点:必须设置最大轮数;评估标准中能用程序检查的(长度、格式、必填字段),优先交给程序,模型只评估需要理解语义的部分。
五种模式速查
| 模式 | 解决的问题 | 核心结构 | 主要代价 | 典型例子 |
|---|---|---|---|---|
| 链式 | 一次做不好,拆步做 | 固定顺序 + 门控 | 延迟增加 | SEO 内容:大纲 → 正文 → 描述 |
| 路由 | 不同输入需要不同处理 | 分类 + 分支 | 分类错误会连带出错 | 客服工单按问题类型分流 |
| 并行 | 提速,或需要多个视角 | 同时调用 + 汇总 | 调用次数成倍增加 | 按区域并行分析销售数据 |
| 编排者-执行者 | 子任务无法预先确定 | 动态拆解 + 分派 + 综合 | 编排质量决定上限 | Coding Agent 跨文件修改 |
| 评估者-优化者 | 质量需要迭代打磨 | 生成 + 评估的循环 | 轮数多、成本高 | 商品标题反复优化 |
这些模式可以自由组合:先路由,路由后的某个分支内部用链式,链中某一步用并行投票。Anthropic 的建议是:按实际效果决定是否组合,只在确实改善结果时才增加复杂度。
常见误区
- “模式用得越多,系统越好。” 每加一层,就多一处可能出错的地方、多一份延迟和成本。先用最少的模式跑通,再根据评测结果决定要不要加。
- “评估者-优化者就是让模型自己检查一遍。” 没有明确标准的“再检查一遍”,改进非常有限。这个模式的前提是评估标准清晰可操作。
- “编排者-执行者就是多 Agent。” 执行者可以只是一次普通的模型调用,不一定是完整的 Agent。先确认子任务是否真的需要自主多步执行。
设计要点
- 每个模式都要能说清楚:它解决了单次调用的哪个具体问题?有没有评测数据支持?
- 能用程序做的检查(格式、长度、字段、数值核对),不要交给模型。
- 所有循环(评估者-优化者、门控退回)都要有最大轮数。
- 路由和投票的“兜底出口”(无法判断、票数不一致)必须有明确去向,通常是人工处理。
- 并行分支的结果要结构化,汇总逻辑尽量用程序实现。
练习
为「SEO 诊断」设计一条 Workflow(约 40 分钟):
- 输入是一个包含 200 个 URL 的站点地图,输出是一份按优先级排序的问题报告。
- 至少用到三种模式,并在流程图上标出每处用了哪种模式、为什么。参考思路:页面按类型路由(商品页、文章页、落地页),同类页面并行检查,报告生成用评估者-优化者确保每条问题都有证据。
- 写出每个循环的最大轮数,以及每个兜底出口的去向。
延伸阅读
- Building effective agents:五种 Workflow 模式的原始论述与适用场景。
下一步
Workflow 模式的控制流都写在代码里。下一课「Agent Loop 详解」进入另一端:当控制流交给模型时,循环的每一步到底输入什么、输出什么。