Workflow vs Agent
学习 AI Agent 时,一个最容易混淆的问题就是:
多步工作流到底算不算 Agent?
很多系统表面上都在“分步骤执行”:
- 先拿用户输入
- 再检索资料
- 再调用工具
- 最后生成答案
看起来已经很像一个会做事的系统了。
但这里面其实有两个完全不同的设计方向:
Workflow:由工程师预先写死流程Agent:由模型在运行时决定下一步
这篇文档的目标,就是把这两个概念拆清楚,并回答一个更重要的问题:
在真实项目里,什么时候应该用 Workflow,什么时候才真的需要 Agent?
1. 先看一句最简定义
可以先用一句最简单的话记住:
Workflow是“预先定义好的执行流程”Agent是“围绕目标动态决定下一步的执行系统”
也就是说:
- Workflow 更像“流程自动化”
- Agent 更像“目标驱动的动态编排”
2. Workflow 是什么
Workflow 可以理解为:一组由人提前设计好的步骤。
它通常长这样:
- 接收输入
- 做资料检索
- 调用某个工具
- 把结果交给模型总结
- 输出答案
这些步骤谁先谁后、什么条件下走哪条分支,往往都已经由工程师提前写好。
所以 Workflow 的核心特点是:
- 步骤是预定义的
- 执行路径基本可预测
- 系统自由度较低
- 工程可控性较高
3. Agent 是什么
Agent 则不只是照流程走,而是会在运行中围绕目标不断做判断。
它通常具备这些能力:
- 理解目标
- 判断当前缺什么
- 决定下一步做什么
- 选择是否调用工具
- 根据结果调整后续动作
- 必要时重试、换路、停止
所以 Agent 不是“有多步流程的系统”,而是“在多步过程中拥有动态决策能力的系统”。
4. 两者最本质的区别
最本质的区别不在于“有没有多步”,而在于:
下一步是谁决定的。
4.1 Workflow:由工程师决定
在 Workflow 里:
- 第一步做什么
- 第二步做什么
- 什么条件下走分支
- 最多执行几次
这些都主要由系统代码或配置决定。
模型可以参与某一环,但通常不负责“整体路径决策”。
4.2 Agent:由模型基于状态决定
在 Agent 里:
- 当前目标是什么
- 现有证据够不够
- 该不该调工具
- 要不要继续循环
- 是不是已经完成
这些更偏运行时决策,会交给模型结合上下文和状态来判断。
5. 一个直观对比
5.1 Workflow 的例子
比如做一个“文档问答助手”:
- 接收问题
- 检索 Top 5 文档片段
- 拼进 prompt
- 生成答案
- 返回结果
这就是一个非常典型的 Workflow。
它当然有多步,也会调用模型和检索,但并没有明显的自主决策循环。
5.2 Agent 的例子
再比如做一个“调研并生成报告”的系统:
- 接收调研目标
- 判断需要先搜哪些方向
- 调用搜索工具
- 发现资料不够,继续追问新的问题
- 发现来源冲突,重新验证
- 判断资料基本完整,开始写报告
- 自查是否缺关键部分
- 再补一轮信息
- 最终输出
这时候系统就不是在走固定脚本,而是在围绕目标持续决策。
这更接近 Agent。
6. 为什么很多人会把两者混在一起
因为很多系统处在中间状态。
比如:
- 固定流程里嵌了模型判断
- 路由节点由模型来选
- 出错后允许模型重试一次
这会让系统看起来“有一点 Agent 味道”,但它可能仍然更接近 Workflow。
所以现实里不是非黑即白,而是一个连续谱:
Fixed Workflow -> Conditional Workflow -> LLM-Routed Workflow -> Lightweight Agent -> Full Agent
可以把它理解成:
- 越靠左,越可控
- 越靠右,越灵活
7. 为什么很多场景其实先用 Workflow 更好
学 Agent 时非常容易出现一个误区:
把所有复杂任务都默认做成 Agent。
但真实项目里,很多需求其实更适合从 Workflow 开始。
原因主要有几个。
7.1 Workflow 更稳定
因为路径是预定义的,所以:
- 输出更可预测
- 行为更容易复现
- 出错更容易排查
7.2 Workflow 更便于评估
流程固定之后,你更容易知道:
- 哪一步出问题了
- 哪个模块退化了
- 哪个改动影响了最终结果
7.3 Workflow 更适合高频、结构化任务
比如:
- 表单解析
- 文档摘要
- FAQ 问答
- 标准审批流
- 固定格式报告生成
这些任务的变化范围其实不大,没必要过度引入动态决策。
8. 什么情况下才更适合 Agent
当任务开始具备下面这些特征时,Agent 的价值会更明显:
- 任务目标明确,但路径不固定
- 中间步骤依赖运行时信息
- 工具调用顺序无法提前完全写死
- 经常需要补资料、换策略、重试
- 最终结果依赖多轮判断和整合
典型场景包括:
- 多源调研
- 复杂排错
- 开放式分析
- 自动化执行复杂任务
- 跨多个工具和知识源的协作任务
9. 一个非常实用的判断标准
你可以用下面 3 个问题快速判断是否需要 Agent:
9.1 路径能不能提前大致写出来
如果能提前明确写出 80% 以上的步骤,通常优先考虑 Workflow。
9.2 中间决策是否 真的复杂
如果只是:
- 检索一下
- 调一个工具
- 再总结一下
这不一定需要 Agent。
9.3 动态决策带来的收益是否大于复杂度
Agent 能带来灵活性,但也会带来:
- 更高的不确定性
- 更难的调试
- 更复杂的评估
- 更高的成本和延迟
如果收益不明显,就没必要上强 Agent。
10. Workflow 和 Agent 的关系
这两者不是互斥关系。
更准确地说:
Workflow是很多系统的基础骨架Agent是在部分节点上引入动态决策能力
所以真实项目里更常见的是:
- 外层是 Workflow
- 某几个复杂节点是 Agent
比如:
- 外层流程固定:接任务 -> 校验权限 -> 启动处理 -> 输出结果
- 中间一个“复杂分析节点”交给 Agent 决策
这比“一上来全系统 Agent 化”通常更稳。
11. 一个推荐的演进路径
如果你是边学边做,最稳的演进路径通常是:
11.1 第一步:先做固定 Workflow
先把核心链路跑通:
- 输入
- 检索
- 工具
- 输出
11.2 第二步:识别最难写死的节点
看看哪些地方最依赖运行时判断,比如:
- 资料是否足够
- 是否继续检索
- 是否需要换工具
11.3 第三步:局部 Agent 化
不要整套系统一起改,而是先让某个子任务拥有动态决策能力。
11.4 第四步:再补 Evals 和 Harness
一旦引入 Agent,就最好同步考虑:
- 轨迹记录
- 回归测试
- 任务完成率
- 成本和步数控制
否则系统很快会变得难以维护。
12. 常见误区
12.1 只要多步执行就是 Agent
不是。
多步执行只能说明系统有流程,不说明它具备动态目标驱动决策。
12.2 Agent 一定比 Workflow 高级
不一定。
Agent 更灵活,但不代表在所有场景都更优。
很多高质量生产系统反而是:
- 以 Workflow 为主
- 在少数高不确定节点用 Agent
12.3 先上 Agent,再考虑可控性
这往往会导致:
- 行为不可预测
- 问题难复现
- 评估成本上升
更稳的做法是先从可控的 Workflow 起步,再逐步增加 Agent 能力。
13. 一句话总结
如果说:
Workflow解决的是“把已知流程自动化”Agent解决的是“让系统围绕目标动态决策”
那么两者的关键区别就是:
系统的下一步,是由工程师预先写好,还是由模型在运行时基于状态来决定。
对大多数团队来说,最实用的策略通常不是“二选一”,而是:
先用 Workflow 搭稳骨架,再把真正需要动态判断的节点逐步 Agent 化。