考察点
这道题考的是架构判断力。很多人张口就是「我们全用 Agent」,面试官想听的是你理解两者的本质差异,并且能给出有依据的选型标准。好的回答要体现:不是 Agent 更高级,而是各有适用面,工程上往往是混合架构。追问常往「具体业务场景怎么落」「混合架构怎么设计」走。
参考答案
本质区别:谁在控制执行路径
Anthropic 在那篇《Building Effective Agents》里给过一个很干净的划分:Workflow 是 LLM 和工具按代码预定义的路径编排执行;Agent 是 LLM 自主决定执行路径和工具使用,自己控制任务怎么完成。一句话:Workflow 的控制流写在代码里,Agent 的控制流写在模型的脑子里。
举例对比。同样是「处理用户退款申请」这个任务:
- Workflow 做法:固定管线——意图分类 → 提取订单号 → 查订单 → 判断退款规则(规则引擎)→ 金额小于 50 自动退、否则转人工。LLM 只在分类和提取两个节点上出力,整条路径是程序员画死的。
- Agent 做法:把订单查询、退款、转人工都注册成工具,告诉模型「处理这个退款申请」,模型自己决定先查什么、再做什么。
对比维度
| 维度 | Workflow | Agent |
|---|---|---|
| 控制流 | 代码预定义 | 模型动态决策 |
| 可预测性 | 高,行为可枚举、可测试 | 低,路径组合爆炸 |
| 出错归因 | 容易,问题定位到具体节点 | 难,需要完整 trace 逐步归因 |
| 成本/时延 | 可控,LLM 调用次数固定 | 波动大,轮数不确定 |
| 灵活性 | 差,需求变了要改代码 | 强,换个说法也能泛化处理 |
| 适合任务 | 流程固定、高频、低容错 | 路径开放、低频、需要临场判断 |
业务里怎么选
我一般会按三个问题来选。
第一,任务路径能不能枚举? 能把流程图画出来的任务就用 Workflow。报销审批、工单流转、内容审核,这些流程是业务规则定的,不存在「临场决策」的空间,硬上 Agent 只是引入不确定性和成本。
第二,错了代价多大? 金融扣款、医疗建议这类低容错场景,就算用了 Agent 也要把关键节点收进 Workflow 做硬校验。反过来,调研类、创作类任务(帮我调研某个行业写份报告),路径天然开放,答错了也只是重来,这是 Agent 的主场。
第三,频率有多高? 每天百万次的调用,Workflow 的成本和时延是算得出来的;Agent 一轮任务跑十几轮循环,token 消耗和延迟都是 Workflow 的数倍到十几倍,高频场景吃不消。
实践中的答案:混合架构
真实系统很少二选一。常见的混合模式是「Workflow 为骨架,Agent 为局部」:主流程用 Workflow 保证关键路径可控,其中某些开放性强的节点(比如「理解用户这个非标诉求并查资料给方案」)内嵌一个 Agent 子循环,子循环跑完把结构化结果交回主流程。Anthropic 把这些拆得更细:prompt chaining、routing、parallelization、orchestrator-workers 都算 Workflow 模式,只有 fully autonomous loop 才是 Agent。
面试收尾可以这样说:选型的第一性原理是「用最低的自主性满足需求」。能 Workflow 解决的别上 Agent,能单 Agent 解决的别上多 Agent。自主性每加一层,不可预测性、成本和调试难度都上一个台阶,要有充分的业务理由才值得。
可能的追问
追问:有没有看起来是 Workflow、实际应该上 Agent 的场景?
有,典型是客服里的长尾问题。流程图画得出来的高频问题走 Workflow,但长尾问题(占比小、种类无限多)流程图根本画不全,这时让 Agent 拿着知识库工具自主处理,覆盖率远高于硬编码。
追问:Agent 的可预测性差,怎么上线?
三板斧:把危险节点从 Agent 手里收走做硬编码校验;灰度发布加在线评估,按任务成功率监控而非单条回复质量;留完整 trace,线上问题能按步骤回放归因。
追问:Orchestrator-workers 算 Workflow 还是 Agent?
按 Anthropic 的定义它属于 Workflow:编排者把任务拆给并行 worker 的模式里,子任务的分发逻辑是代码控制的。但如果编排者本身是 LLM、动态决定拆成什么子任务(比如 Claude Code 的主副 Agent),就已经在往 Agent 侧靠了——边界是渐变的,不用纠结名词,关键看控制流里代码占多少。