主题
Workflow 和 Agent:什么时候该固定流程,什么时候该让模型决策?
今天先记住
Workflow 是把步骤预先写死,Agent 是在边界内动态决定下一步。工程里不要一上来追求“全自动 Agent”,先判断任务变化点在哪里:稳定步骤交给 Workflow,不确定分支才交给 Agent。
它在大地图里的位置
继续把 Agent 放回整条链路里看:
txt
用户目标
-> 上下文 / 记忆
-> 规划 / 决策
-> 工具调用 / 外部系统
-> 执行 / 观察结果
-> 评估 / 修正
-> 最终输出前几课讲了闭环和工具调用。今天讲的是“谁来安排这些动作”:如果每一步都能提前确定,就是 Workflow;如果下一步要根据上下文、工具结果或失败原因临场选择,才需要 Agent。
它到底是什么
Workflow 像一张固定流程图:先 A,再 B,成功走 C,失败走 D。它适合规则清楚、输入形态稳定、失败处理可枚举的任务。
Agent 像一个带工具的决策者:它知道目标和边界,但每一步要看当前状态再选。比如它可能先读文件,发现缺少上一课,就补查目录;构建失败,就读错误;错误来自链接,就改链接;错误来自配置,就检查 VitePress。
所以二者不是敌人。好的 Agent 系统通常是“Workflow 做骨架,Agent 处理不确定节点”。
为什么 Agent 里会用到它
如果所有步骤都让模型自由决定,系统会难调试:同一个任务今天先查资料,明天先改文件,后天忘了构建。失败时你很难知道是规则错、工具错,还是模型决策飘了。
如果所有步骤都写死,系统又会僵:一旦输入和预期不一样,比如上一课缺失、构建报错类型变了、资料源不可用,流程只能失败退出。
所以真实项目里常见做法是:用 Workflow 固定不可省略的检查点,用 Agent 处理“该选哪个工具、该改哪里、失败后换哪条路”。
怎么判断它有没有用
如果任务每次都按同样顺序执行,比如“生成文件 -> 构建 -> 提交 -> 推送”,先用 Workflow。
如果中途结果会改变下一步,比如“构建失败后要读错误并判断改正文还是改配置”,这里适合放 Agent。
如果动作风险高,比如发消息、删文件、改线上配置,关键步骤要固定在 Workflow 里,不能让模型随口决定越权执行。
如果你无法写出清晰的失败分支,先不要做全自动 Agent;先把失败点记录下来,再决定哪些分支值得交给模型。
最近冒出来的词
这几天可以留意一个很工程化的点:Feedback Dashboard export。
Kore.ai 在 2026-07-11 的 Agent AI Platform v11.26.1 发布说明里提到,反馈看板支持导出更多 CSV 数据。它不是新的 Agent 理论,而是产品里的观测能力:把用户反馈、建议反馈、摘要反馈拉出来分析。
这和今天主题有关:Workflow 和 Agent 怎么切分,不能只靠感觉,最好能从真实反馈和失败记录里看哪些步骤稳定、哪些步骤经常需要动态决策。
来源提示:Kore.ai Docs,2026-07-11。
一个小例子
txt
Input:
生成并发布 2026-07-15 的每日 Agent 学习文档。
Workflow:
1. 读取写作框架。
2. 找到上一课。
3. 写入当天 Markdown。
4. 运行 docs:build。
5. 只提交相关文件并 push。
Agent 决策点:
上一课如果存在,就判断下一个主题;
如果构建失败,就读取错误并决定改正文、改链接,还是改配置;
如果 Git 状态里有无关文件,就跳过,不一起提交。
Output:
状态从“当天课程不存在”变成“课程文件存在、构建通过、相关提交已推送”。这个例子能说明一个判断标准:固定的发布顺序不需要模型发挥,失败后的诊断和主题延续才需要 Agent。
常见误区
- 以为 Workflow 不够智能。稳定流程本来就应该固定,少让模型参与反而更可控。
- 以为 Agent 可以替代所有流程编排。没有固定检查点,Agent 很容易漏步骤。
- 以为用了 LangGraph 之类框架就一定是 Agent。图里每个节点都写死时,它更像 Workflow。
- 以为动态决策越多越好。动态越多,越需要日志、权限和评估兜住。
今天自测
- 一个任务里,哪些步骤应该固定成 Workflow?
- 什么样的分支才值得交给 Agent 判断?
- 如果构建失败,系统该如何区分“固定流程失败”和“Agent 决策失败”?