Skip to content

第 02 课 · Workflow 与 Agent 怎么选

能用 Workflow 解决的,就别上 Agent。 第 01 课判断「要不要上 Agent」,本课解决「上了之后,到底用哪种结构」。


本课要解决的问题

第 01 课过完 5 问,你确定场景「不是纯问答、确有多步逻辑」。接下来真正的工程问题是:

多步逻辑到底是 写死的流水线(Workflow),还是 交给模型自己决定(Agent)?

本课给你:

  • Workflow 和 Agent 的 一句话本质区别
  • 六种设计模式 在网校 / 教材场景的对照表
  • 一棵 决策树 + 一张 渐进演进路线图
  • 三种常见 选型翻车 及纠正

一句话本质:谁来决定下一步

Workflow 工作流Agent 智能体
下一步谁定你在代码里 预先定好模型运行时自己决定
特点可控、可预测、好测灵活、但贵 / 不稳 / 难控
类比流水线自主员工
失败模式遇到没写到的分支就断绕圈、乱调工具、错误累积

黄金法则: 步骤能写进代码,就别交给 ReAct 循环。 大多数网校 / 教材需求,流程是固定的 —— Workflow 就够。

判断法(一句话): 打开编辑器,你能不能把全流程画成一张 不依赖模型临场发挥 的流程图?能 → Workflow;画不出、分支由「上一步结果」临时决定 → 才是 Agent。


六种设计模式(简单 → 复杂)

前五种都属于 Workflow(路径你定),只有第六种是真正的 Agent(路径模型定)。

#模式一句话网校 / 教材例子
1提示链 Chaining拆成固定几步,上一步输出喂下一步出题:大纲 → 题干 → 参考答案 → 解析
2路由 Routing先分类,再分流到不同处理先分「概念题 / 实操题 / 闲聊」,各走各的 prompt
3并行 Parallelization同时跑多个再汇总批量批改 50 份作业;或同一问题问 3 次投票提可靠性
4编排-执行 Orchestrator-Workers主脑动态拆任务分给工人,子任务数不定生成一份「学情报告」:动态拆成薄弱点 / 建议 / 计划多块
5评估-优化 Evaluator-Optimizer生成 → 批判 → 改 → 再评,循环打磨写招生文案 / 翻译讲义,反复改到达标
6自主 Agent给目标 + 工具,自己规划执行循环「查这个学员的数据并制定补习方案」这类开放任务

越往下 越复杂、越贵、越难控。永远选 能解决问题的最简单那个


决策树(照着往下走)

你的多步任务,步骤固定吗?
├─ 就固定几步          → 提示链 Chaining
├─ 要先分类再处理       → 路由 Routing
├─ 能拆成独立子任务并行  → 并行 Parallelization
├─ 子任务数量事先不定    → 编排-执行 Orchestrator-Workers
├─ 要对同一产物反复打磨  → 评估-优化 Evaluator-Optimizer
└─ 真的没法预先定义步骤  → 自主 Agent(沙箱 + 审批,最后才选)

决策口诀:

能列步骤 → Workflow · 只是要分类 → 路由 · 只是要打磨 → 评估-优化
路径由「上一步结果」临时决定、且工具组合不确定 → 才上自主 Agent

网校 / 教材场景速查表

需求推荐模式为什么不用更重的
AI 出题(大纲 → 题 → 答案)提示链步骤天然固定,无需模型自选路径
智能答疑客服路由 + RAG先分类稳定质量,检索保证出处
批量批改 / 打标并行每份独立,并发即可,无需循环
生成学情报告(块数不定)编排-执行薄弱点数量因人而异,才需要动态拆
招生文案 / 讲义翻译评估-优化追求质量收敛,循环打磨而非一次生成
「查数据并自主处理」的开放任务自主 Agent确实无法预定义,但要沙箱 + 人在环

表里 前五行覆盖了绝大多数需求。真正需要自主 Agent 的,通常是最后一行那种「连你自己都写不出固定流程」的开放任务。


架构对比:同一个需求,两种做法

以「智能答疑」为例。

❌ 过度设计:一上来就自主 Agent

用户提问

自主 Agent(自己决定):
   ├─ 要不要检索?检索哪个库?
   ├─ 要不要查学员进度?
   ├─ 要不要调用出题工具?
   └─ 循环 3~5 轮直到「自认为」答完

问题: 延迟不可控、成本高、同一问题两次答案可能不同、难 Eval、模型可能自作主张调了不该调的工具。

✅ 恰当设计:路由 + RAG(Workflow)

用户提问

路由:分类(概念题 / 实操题 / 闲聊 / 需查后台)
   ├─ 概念题 → RAG 检索教材 → 拼 prompt → 答 + 引用章节
   ├─ 实操题 → RAG + 步骤模板 → 结构化作答
   ├─ 闲聊   → 轻量 prompt,不检索
   └─ 需查后台 → RAG + 单次 Function Calling(带审批)

收益: 每条分支 可预测、可测、可控成本;真需要「动手」的只在最后一条,且是 一次固定工具调用,不是开放循环。


渐进演进路线图(重点)

不要一步到位,按需加复杂度:

V1  提示链 / RAG            —— 先把「检索 + 可控问答」做对
        ↓ 不够(需求分叉)
V2  加路由 Routing          —— 不同类型走不同 Workflow
        ↓ 不够(要动手一两下)
V3  加 Function Calling     —— 固定工具,单次调用 + 审批
        ↓ 真的不够(开放任务)
V4  才引入自主 Agent 分支    —— 沙箱、审批、审计日志齐备再上

每一层都先跑稳再进下一层。 大多数项目 停在 V2/V3 就够用,V4 只对少数开放任务开放。


三种常见选型翻车

翻车症状纠正
能写死却上 Agent固定的出题流程做成自主循环,慢又贵还不稳退回 提示链
该分类却硬塞一个大 prompt一个万能 prompt 应付所有问题,质量飘忽前置 路由 再分流
该并行却串行循环50 份作业一份份丢进 Agent 循环,超时并行,每份独立并发

本课结论(可直接发给团队)

  1. 谁定下一步,谁就决定了类型: 你定 = Workflow,模型定 = Agent。
  2. 六种模式,前五种都是 Workflow,自主 Agent 是最后一档。
  3. 按决策树选最简单的那个,越重越贵越难控。
  4. 渐进演进: 提示链 / RAG → 路由 → Function Calling → 才到自主 Agent。
  5. 绝大多数网校 / 教材需求停在 Workflow,别被「Agent」这个词推着过度设计。

课后自检(3 分钟)

  • [ ] 我能说清这个需求的「下一步」是我定还是模型定
  • [ ] 我在六种模式里指到了 具体一种,而不是笼统说「上 Agent」
  • [ ] 我能画出这条流程的固定流程图(自主 Agent 除外)
  • [ ] 我的方案是从 V1 起步,而非一上来就 V4
  • [ ] 若选了自主 Agent,我已规划沙箱 + 人工审批 + 审计

5 个都勾选 → 选型成立,可进入工具与安全设计。 指不到具体模式,或流程图画不出却没打算上 Agent → 回到决策树重选。


下一课预告

第 03 课 · RAG 够了吗?什么时候才需要工具 —— 从「检索答疑」到「调用工具办事」的分界线,以及 Function Calling 的最小落地。


延伸阅读


© 曹宇春

© 曹宇春 · 个人学习整理,欢迎交流