卡码笔记-最强八股文
首页
计算机基础
C++
Java
Go
🔥大模型🔥
  • 大模型面经
  • Java面经
  • C++面经
简历专栏
代码随想录 (opens new window)
首页
计算机基础
C++
Java
Go
🔥大模型🔥
  • 大模型面经
  • Java面经
  • C++面经
简历专栏
代码随想录 (opens new window)
  • 本栏必读

    • 卡码大模型专栏介绍
  • 大模型面经

  • 大模型动态

  • 入门认知

  • Prompt与调用基础

  • RAG检索增强

  • Agent智能体

    • Agent到底是什么?和普通问答有什么区别
    • ReAct、Reflection、规划执行怎么选
    • Agent vs Workflow:什么时候不需要Agent
      • 一、先说结论:流程能写死,就优先 Workflow
      • 二、Workflow 解决的是“按固定步骤稳定执行”
      • 三、Agent 解决的是“路径不确定时动态决策”
      • 四、别把“有分支”误判成“需要 Agent”
      • 五、过度 Agent 化,是很多项目翻车的开始
      • 六、一个简单判断:这件事能不能画成固定流程图
      • 七、最稳的方案,往往是 Workflow + Agent
      • 八、面试时怎么回答 Agent vs Workflow
      • 九、别为了“智能”牺牲确定性
    • 工具设计决定Agent上限
    • MCP协议:Agent工具调用的新标准
    • Agent为什么容易翻车
  • 微调认知

  • 部署与工程化

  • 多模态入门

  • Transformer原理

  • 手撕Transformer

  • 模型家族与Llama架构

# Agent vs Workflow:什么时候根本不需要 Agent?

前两篇我们把 Agent 的基础讲了一遍。

第一篇讲 Agent 到底是什么,核心是:Agent 不是更会聊天,而是能围绕目标持续行动。

第二篇讲 ReAct、Reflection、规划执行,核心是:Agent 要能边做边判断,做完还要检查。

但到这里,很多录友会产生一个新误区:

“既然 Agent 这么强,那我是不是所有流程都应该改成 Agent?”

不是。

而且我建议你把这句话记住:

不是所有任务都需要 Agent。很多场景硬上 Agent,反而是在给系统制造不稳定。

这篇就专门讲一个面试和项目里都很常见的问题:

Agent 和 Workflow 到底怎么选?什么时候根本不需要 Agent?

Agent vs Workflow:选型看的是路径确定性

# 一、先说结论:流程能写死,就优先 Workflow

很多人一听 Workflow,就觉得它不如 Agent 高级。

这个理解是错的。

Workflow 不是低级方案。

在很多生产系统里,Workflow 才是更靠谱的方案。

什么是 Workflow?

简单说,就是步骤固定、规则明确、输入输出稳定的流程编排。

比如发票审核:

  1. OCR 识别发票图片。
  2. 提取金额、税号、日期。
  3. 校验字段是否合法。
  4. 调用财务系统入账。
  5. 返回审核结果。

这个流程很清楚。

先做什么,后做什么,异常怎么处理,都能提前写出来。

这种场景,你根本不需要让模型每次自由发挥:

“我思考一下,接下来要不要入账。”

这就很危险。

因为财务流程最需要的不是“灵活”,而是稳定、可审计、可回放、可控制。

所以第一条原则很简单:

如果流程能稳定写死,就优先用 Workflow,不要硬上 Agent。

# 二、Workflow 解决的是“按固定步骤稳定执行”

Workflow 的核心价值,是把业务流程变成一条可控链路。

它关注的问题是:

  • 每一步做什么
  • 每一步依赖什么输入
  • 每一步失败怎么重试
  • 哪些节点需要人工审批
  • 哪些结果需要记录和追踪

比如客服退款流程。

用户申请退款后,系统可能这样走:

  1. 校验订单是否存在。
  2. 判断订单是否在退款期限内。
  3. 判断商品是否已发货。
  4. 如果未发货,自动退款。
  5. 如果已发货,进入人工审核。
  6. 写入退款记录,通知用户。

这个流程有分支,但它仍然是 Workflow。

因为分支规则是确定的。

订单超过 7 天不能退。

已发货要人工审核。

未发货可自动退款。

这些规则都能写在代码里。

这种任务让 Agent 来判断,反而会增加风险。

因为 Agent 可能解释错规则,也可能在边界条件上犯错。

而 Workflow 的好处是:规则一旦写清楚,每次都会稳定执行。

Workflow:规则分支不是 Agent,能写清楚就固定执行

# 三、Agent 解决的是“路径不确定时动态决策”

那 Agent 什么时候有价值?

当任务目标明确,但执行路径不确定时。

比如:

“帮我定位线上接口变慢的原因。”

这个任务没法提前写死。

可能是数据库慢。

可能是缓存击穿。

可能是刚发布的代码引入了慢查询。

可能是第三方接口超时。

可能是流量突然变大。

你不知道第一步该查哪里。

就算第一步查了监控,也不知道第二步该查日志、数据库、发布记录还是链路追踪。

这时候 Agent 的价值就出来了。

它可以根据中间结果动态调整下一步:

  1. 先查接口延迟曲线。
  2. 发现 22:10 开始变慢。
  3. 再查 22:10 附近有没有发布。
  4. 发现支付服务 22:05 发布。
  5. 再查支付服务日志。
  6. 发现下游支付回调大量超时。
  7. 再查第三方接口状态。
  8. 最后形成结论和证据。

这个过程不是固定流程。

它是不断“观察结果 -> 再决定下一步”。

这就是 Agent 更适合的地方。

所以第二条原则是:

路径不确定、需要中途判断、需要多工具探索,才考虑 Agent。

Agent:路径不确定时,根据结果继续探索

# 四、别把“有分支”误判成“需要 Agent”

这里有个特别容易踩的坑。

很多录友会说:

“我这个流程也有分支啊,是不是就要 Agent?”

不一定。

有分支,不等于需要 Agent。

关键要看分支是不是能提前定义。

比如退款流程:

  • 未发货 -> 自动退款
  • 已发货 -> 人工审核
  • 超过退款期 -> 拒绝退款

这叫规则分支。

规则分支适合 Workflow。

再比如风控审核:

  • 金额小于 1000,自动通过
  • 金额大于 1000,进入二次校验
  • 命中黑名单,人工审核

这也是 Workflow。

因为判断条件清楚,规则边界明确。

真正需要 Agent 的,是那种你没法提前列出完整路径的任务。

比如:

“帮我分析这次活动转化率为什么下降。”

这个任务可能要查流量来源、页面加载速度、用户路径、按钮点击率、支付成功率、竞品价格、客服反馈。

而且查到一个异常后,下一步还要跟着异常走。

这种才是开放决策。

所以判断标准不是“有没有分支”,而是:

分支能不能提前写清楚。

能写清楚,就是 Workflow。

写不清楚,才考虑 Agent。

# 五、过度 Agent 化,是很多项目翻车的开始

现在 Agent 太热了。

很多项目为了显得“智能”,会把简单流程也包装成 Agent。

这就是过度 Agent 化。

它最常见的问题有四个。

# 1. 成本更高

Workflow 执行一次,可能就是几次接口调用。

Agent 执行一次,可能要多轮模型调用、多次工具调用、反复观察和总结。

同样一个任务,如果 Workflow 0.5 秒能跑完,Agent 跑 20 秒,还消耗一堆 token。

这不是智能。

这是把简单问题复杂化。

# 2. 延迟更长

用户只是想查一个订单状态。

Workflow 直接查数据库就行。

如果你让 Agent 先理解意图、再规划、再调用工具、再总结,用户体验只会变差。

能直接返回,就不要绕一圈。

# 3. 稳定性更差

Workflow 的路径是固定的。

Agent 的路径是模型动态决定的。

动态决策意味着灵活,也意味着不稳定。

它可能选错工具,可能重复调用,可能提前总结,可能跑偏。

在高风险业务里,这种不稳定不是小问题。

# 4. 调试更难

Workflow 出问题,可以看节点日志。

哪个节点失败,输入是什么,输出是什么,一眼能定位。

Agent 出问题,经常要看整条 trace。

它为什么选这个工具?

为什么忽略那个结果?

为什么明明失败了还继续走?

调试成本明显更高。

所以不是“Agent 更高级”,而是:

Agent 的自由度更高,也意味着你要付出更多成本去约束它。

过度 Agent 化:把简单流程做复杂,系统会变贵变慢变难控

# 六、一个简单判断:这件事能不能画成固定流程图

项目里怎么快速判断用 Workflow 还是 Agent?

我给一个很实用的方法:

先问自己:这件事能不能画成固定流程图。

如果能画出来,而且大多数情况都覆盖了,那就优先 Workflow。

比如:

  • 发票审核
  • 订单退款
  • 简历四要素检查
  • 内容发布审核
  • 工单状态流转
  • 数据同步任务

这些都适合 Workflow。

如果你画不出来,或者画出来之后发现分支爆炸,说明它可能更适合 Agent。

比如:

  • 线上故障定位
  • 复杂竞品调研
  • 大型代码库问题分析
  • 用户反馈归因
  • 多数据源经营分析
  • 开放式资料整理

这些任务路径不固定。

你很难提前定义每一步。

这时 Agent 才有意义。

一个简单判断:这件事该不该上 Agent

# 七、最稳的方案,往往是 Workflow + Agent

真实项目里,不一定是二选一。

很多时候,最靠谱的是混合架构:

外层用 Workflow 控制主流程,里面某些开放节点交给 Agent。

比如一个智能工单系统。

主流程可以是 Workflow:

  1. 接收工单。
  2. 判断工单类型。
  3. 分配处理队列。
  4. 处理完成后通知用户。
  5. 记录处理结果。

这条主流程必须稳定。

但在“分析工单原因”这个节点,可以用 Agent。

因为不同工单的问题路径不一样。

有的要查日志。

有的要查订单。

有的要查用户行为。

有的要查最近发布记录。

这部分适合 Agent 动态决策。

所以更合理的架构是:

Workflow 负责边界和流程,Agent 负责开放问题求解。

这样既有稳定性,又有灵活性。

不要让 Agent 接管整个系统。

让它在真正需要判断的地方发挥作用。

最稳的方案:Workflow 控主流程,Agent 处理开放节点

# 八、面试时怎么回答 Agent vs Workflow

面试官问:Agent 和 Workflow 有什么区别?

不要只说:

“Agent 更智能,Workflow 更固定。”

这句话太泛了。

你可以这样答:

“Workflow 适合步骤明确、规则稳定、可提前编排的任务,核心是稳定执行;Agent 适合目标明确但路径不确定、需要中途观察结果并动态决策的任务,核心是探索和调整。工程上不是所有场景都要用 Agent,如果流程能写死,用 Workflow 更稳定、更便宜、更容易审计。”

面试官问:你们项目里为什么不用纯 Agent?

可以这样答:

“因为纯 Agent 的自由度太高,成本、延迟和不确定性都会上升。我们一般把主流程放在 Workflow 里,保证权限、状态流转和异常处理可控;只有在路径不确定的节点,比如故障定位、原因分析、复杂数据查询,才让 Agent 调工具动态判断。”

面试官问:怎么判断一个场景该不该上 Agent?

可以这样答:

“我会先看流程能不能提前画清楚。如果步骤固定、分支规则明确,就用 Workflow;如果路径无法提前穷举,需要根据中间结果不断调整下一步,才考虑 Agent。同时还要看风险、成本、延迟和可解释性要求,不能为了技术热度硬套 Agent。”

这套回答就比较稳。

它说明你不是只会追热点,而是知道工程取舍。

# 九、别为了“智能”牺牲确定性

Agent 真正有价值的地方,是处理开放问题。

但生产系统里,很多环节不需要开放。

它需要确定。

需要可控。

需要每次结果一致。

需要出了问题能追责。

这时候 Workflow 就比 Agent 合适。

所以做大模型应用,不要看到 Agent 就兴奋。

先问自己四个问题:

  • 这个流程能不能写死?
  • 分支规则能不能提前定义?
  • 错了以后影响大不大?
  • 用户更需要灵活,还是更需要稳定?

如果答案偏向稳定,那就别硬上 Agent。

Agent 解决的是路径不确定的问题。

Workflow 解决的是流程稳定执行的问题。

选错了,系统会变贵、变慢、变难控。

能把这个边界讲清楚,才是真正懂 Agent。

Last Updated: 5/18/2026, 10:33:03 AM

← ReAct、Reflection、规划执行怎么选 工具设计决定Agent上限 →

评论

验证登录状态...

侧边栏 侧边栏
夜间模式 夜间
卡码简历 卡码简历
代码随想录 代码随想录
卡码投递表 卡码投递表🔥
2026实习校招群 2026群
添加客服微信 2026实习校招客服微信 PS:通过微信后,请发送姓名-学校-年级-2026实习/校招
支持卡码笔记 支持卡码笔记
鼓励/支持/赞赏Carl 卡码笔记赞赏码
1. 如果感觉本站对你很有帮助,也可以请Carl喝杯奶茶,金额大小不重要,心意已经收下
2. 希望大家都能梦想成真,有好的前程,加油💪