工作流还是自主 Agent:一张选型决策清单

工作流还是自主 Agent?

跟团游与自由行之间,一张选型决策清单

跟团游和自由行,你出差会选哪种?跟团行程写死、不会跑偏,但临时想改签就抓瞎;自由行随机应变、说走就走,却容易迷路、超支、陷进死循环。给 AI Agent 选"编排模式",其实也是同一道题。

所谓编排(Orchestration),大白话就是:怎么把"调用大模型、调度工具、组织数据流"这几件事串起来跑。它决定了 Agent 的执行路径是事先写好的,还是临场现想的。这一步选错,要么死板到应对不了变化,要么灵活到失控、烧钱。

Anthropic 跟几十个团队搭 Agent 的经验里有个反复被验证的结论:最成功的实现,往往不是用复杂框架,而是用简单、可组合的模式。别一上来就追求"全自主",那常常是用成本和稳定性换来了并不必要的灵活。

在Agent 到底是什么?里面我们把 Agent 拆成了"大脑 + 眼睛 + 手脚"。但光有手脚还不够——手脚怎么被调动、以什么节奏出牌,才是工程上真正要拍板的事。这一篇,我们就把"调度方式"这个选项摊开讲清楚。

一、订机票的两种写法:跟团 vs 自由行

用一个所有人都熟悉的场景最直观:帮用户订机票。同样的需求,两种编排模式写出来完全不同。

工作流还是自主 Agent:一张选型决策清单

图1 · 订机票双版本并排:左为固定四节点工作流,右为依反馈动态决策的自主 Agent

左边这套,就是工作流(Workflow):把订票拆成"核实身份 → 搜索航班 → 完成付款 → 确认预订"四个固定节点,每步做什么、下一步去哪,都是代码写死的。每个节点内部可以让 LLM 帮忙理解自然语言,但节点之间的顺序绝不会乱——付款前绝不会去预订,身份没核实绝不会开始搜。

右边这套,就是自主 Agent(Autonomous Agent):你只说一句"帮我订下周三去上海的机票",它自己决定先搜、发现要登录就先核实、搜完发现最便宜的需转机、主动问你能不能接受、你说不行它就调条件……执行路径不是预设的,而是根据环境反馈实时决定的。本质上,它就是在一个循环里不断用工具的 LLM——也就是前面讲过的 ReAct 循环。

把这两套直接翻译成旅行:工作流就是跟团游——行程、顺序、住宿全在出发前定死,导游(代码)绝不让你在"付酒店钱之前"先去"确认入住",安全又省心,但临时想改签就抓瞎;自主 Agent 就是自由行——只给了目的地,路线全靠你自己看地图、问路人、遇雨就改方案,灵活到能应对意外,却也容易迷路、超支、在一个路口反复兜圈。后面整篇,我们都会用这对比喻来帮你做选择。

一句话收束:工作流是"路线写死、按图索骥";自主 Agent 是"看一步走一步"。前者稳,后者活。

二、工作流:省心但不够灵活

工作流之所以在企业里吃香,靠的是两个硬优势:

  • 严格的流程控制:关键步骤不被跳过或乱序。比如"付款前不能预订"这类业务规则,由代码强制保证,不依赖模型的判断——模型再怎么抽风也绕不过去。
  • 安全性更高:因为路径确定,提示注入或模型犯错最多只能影响"当前节点内部"的处理,无法让它跳到不该去的分支。攻击面被关在单个节点里。

但它有明显的天花板——缺乏变通。一旦遇到预设流程没覆盖的情况(用户付款时临时想改签、航班突然取消要推荐替代方案),固定节点就傻了,只能走预设的异常处理分支,或者干脆把控制权交还给人。换成跟团游的说法:行程单上没写的景点,导游绝不会带你拐过去——可靠,但错过临场的好机会。所以对"流程绝对不能乱"的场景(金融扣款、医疗开单),工作流这种"写死"反而是优点,宁可不灵活,也绝不允许跳步。

三、自主 Agent:灵活但有代价

当工作流的死板满足不了需求,就该上自主 Agent。它最大的价值是能自主规划、识别失败、调整策略,特别适合开放式问题——比如 Coding Agent 修真实 GitHub Issue、Computer Use 像人一样操作界面、需要迭代搜索的研究任务。这些问题连"要几步"都难以预料。

但自主不等于无限制,必须设计明确的停止条件(Stopping Condition),否则 Agent 容易陷入死循环或过度执行:

停止条件
含义
举例
任务完成
目标达成,正常收尾
调用"最终输出"工具给出答案
达到最大迭代
轮数到顶,强制退出
模型返回"无新工具调用"的响应
不可恢复错误
遇到致命失败,停止
环境报错且重试无效

举个"复合错误"的具体画面:自由行Agent搜索时把"上海"误识别成"上海虹桥机场"附近的酒店,于是它基于这个错误继续订车、订餐厅,每一步都"自洽",却离正确目标越来越远——单个错误在循环里被后续步骤不断放大。工作流里这种事很难发生,因为节点顺序是锁死的,错也只错在当前节点。所以部署自主 Agent 时,必须先在沙盒里充分测试,设好护栏与监控,并在关键决策点保留人在回路(Human in the loop)的检查点。

金句:不存在通用最优解,只存在与你风险预算匹配的自主度。要多少自由,先想清楚你能承受多少失控。

四、从简单到复杂:一张选型决策阶梯

那到底怎么选?Anthropic 给的原则就一句话——从简单到复杂。别一上来就自主,能简单解决就别复杂化。下面这张阶梯,从上往下依次升级:

选型阶梯:越往上越自主,代价(延迟/成本)也越高第 1 级 · 单次 LLM 调用提示词+示例能解决,就别上 Agent第 2 级 · 工作流任务能拆成固定子步骤时用第 3 级 · 自主 Agent需要动态决策、路径不可预测才用↑ 自主度 / 延迟成本 递增
图2 · 决策阶梯:能用单次调用就别上工作流,能固定就别自主

记住一条铁律:Agent 系统通常用"延迟和成本"去换"更好的任务表现"。这个交换值不值,要谨慎权衡。很多团队一上来就堆自主 Agent,结果烧了钱、还不稳定——其实一个工作流就够。

一个很有用的自测题:先问"这件事能不能拆成固定的几步?"能,就先考虑工作流;再问"步骤之间会不会因为用户一句话就大改方向?"会,才轮到自主 Agent。顺着阶梯往上走之前,先确认下面的层级真的撑不住了——这能帮你避掉绝大多数"为自主而自主"的坑。

五、混合模式与框架怎么选

工作和自主并非"二选一"。真实系统常常混合:关键、强合规的流程用工作流保可靠,需要灵活判断的部分切到自主。比如 n8n 这个可视化工作流框架,开发者拖拽组件就能同时放"工作流节点"和"自主 Agent 节点",在同一个系统里各取所长。一个典型搭配是:用工作流管住"身份核实 → 扣款 → 发确认"这条不能乱的命脉,只在中间"理解用户模糊需求、挑选航班"这一段放开成自主 Agent——既稳住了风险,又留住了灵活。

落到具体框架,下面这张表帮你按场景快速定位(共七个主流框架):

框架 / 平台
核心定位
编排模式
开发方式
适用场景
OpenAI Agents SDK
轻量级 Agent 开发库
自主(工具循环)
代码优先
快速原型、单 Agent 应用
Claude Agent SDK
生产级 Agent 开发框架
自主(工具循环+子 Agent)
代码优先
复杂自主任务、Coding Agent
LangChain / LangGraph
通用 LLM 应用框架
工作流 + 自主
代码优先
复杂链式思考、多步骤工作流
n8n
可视化工作流自动化
工作流 + 自主
低代码(可视化拖拽)
业务自动化、非技术团队
Dify
LLM 应用开发平台
工作流 + 对话式
低代码(可视化+API)
企业级 RAG、知识库应用
CrewAI
角色化多 Agent 编排
Multi-Agent 协作
代码优先
团队式任务分解与执行
OpenClaw
开源全能个人 Agent
自主 + 事件驱动
配置+代码(自托管)
个人助理、Deep Research、Computer Use、多平台消息

选框架时别被复杂度迷惑。随着"模型即 Agent"趋势深化,框架的核心价值已经不是"帮你怎么编排 LLM 调用",而是周围那层上下文管理、工具生态、安全约束、错误恢复的 Harness。关键考量只有一条:它能否以最小的抽象层,让你专心写业务逻辑。

六、小结

这一篇我们厘清了 Agent 的两种编排模式:工作流像跟团游,顺序写死、可控安全但死板;自主 Agent像自由行,灵活强大但要付出成本、必须设停止条件。选型遵循"从简单到复杂"的阶梯——能单次调用就别上 Agent,能固定就别自主,必要时用 n8n 这类框架做混合。

最后再强调一次:没有"更先进"的模式,只有"更匹配"的模式。先把风险想清楚,再决定给 Agent 多少自由——这比追新框架重要得多。

但无论你选哪种模式,背后都绕不开一个更底层的问题:当模型越来越强、能自己决定怎么走时,工程师写的那层"编排与治理"到底以什么形态存在?

 

分享到: 文章二维码
© 版权声明

暂无评论

您必须登录才能参与评论!
暂无评论...