Appearance
第 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 循环,超时 | 改 并行,每份独立并发 |
本课结论(可直接发给团队)
- 谁定下一步,谁就决定了类型: 你定 = Workflow,模型定 = Agent。
- 六种模式,前五种都是 Workflow,自主 Agent 是最后一档。
- 按决策树选最简单的那个,越重越贵越难控。
- 渐进演进: 提示链 / RAG → 路由 → Function Calling → 才到自主 Agent。
- 绝大多数网校 / 教材需求停在 Workflow,别被「Agent」这个词推着过度设计。
课后自检(3 分钟)
- [ ] 我能说清这个需求的「下一步」是我定还是模型定
- [ ] 我在六种模式里指到了 具体一种,而不是笼统说「上 Agent」
- [ ] 我能画出这条流程的固定流程图(自主 Agent 除外)
- [ ] 我的方案是从 V1 起步,而非一上来就 V4
- [ ] 若选了自主 Agent,我已规划沙箱 + 人工审批 + 审计
5 个都勾选 → 选型成立,可进入工具与安全设计。 指不到具体模式,或流程图画不出却没打算上 Agent → 回到决策树重选。
下一课预告
第 03 课 · RAG 够了吗?什么时候才需要工具 —— 从「检索答疑」到「调用工具办事」的分界线,以及 Function Calling 的最小落地。
延伸阅读
© 曹宇春