Workflow 还是 Agentic?
Workflow
Workflow(工作流),简单来说,一系列对 LLM 的调用,旨在通过预定的一系列步骤来解决特定问题。可以理解为用 DAG(有向无环图)把 LLM 节点连起来。市面上一些可视化拖拽式 Agent 开发平台,例如 Coze、Dify 等,基本上都是基于 Workflow 的设计思路来实现的。
- 整个控制流还是由人为定义,人需要先对解决该问题的流程有一个清晰的认识,才能设计出合理的 Workflow。
- 适合于流程相对固定的问题,此外如果 LLM 自身的能力不够强大,无法通过单次调用规划并解决多步复杂问题,那么 Workflow 也是一个不错的选择。
Parallelization workflows
Workflow 的一个重要优势是它可以很方便地实现并行化(parallelization)。例如,在一个 Workflow 中,如果有多个步骤之间没有依赖关系,那么这些步骤就可以同时执行,一般做法是将可并行节点拆分为多个 SubAgent 来并行处理,最终将结果汇总再进行下一步。
Chaining workflows
链式调用(chaining),即将多步串联成完整的 Workflow,适合于流程相对固定的问题,让 LLM 能专注于每一步的具体实现。
Routing workflows
路由(routing),即根据不同的输入或条件,动态选择不同的 Workflow 路径来处理问题。这种方式适合于流程较为复杂且具有分支逻辑的问题,可以让 LLM 根据实际情况灵活地选择最合适的处理路径。
Agentic
给 LLM 提供目标和工具,自行探索并实现目标。
- 人对实现目标的具体流程没有预设,完全交由 LLM 来规划和执行;
- Agent 自行设计流程来实现目标,更加灵活;
- Agent 并不能盲目地持续干活,需要能够有观察环境的工具,据此进行决策并调整行为;
一个相当经典的 Agent Loop (ReAct) 的流程如下:
简单来说,边想边做,单步迭代。
有时也会加上 Reflection(反思)来让 Agent 进行自我评估和改进,对动作执行结果进行检查。
还有一种稍微复杂一点的 Agent Loop 是 Plan-and-Execute,顾名思义就是先规划(Plan)再执行(Execute),在规划阶段,Agent 会根据当前的环境状态和目标来制定一个详细的计划,明确每一步需要执行的动作和使用的工具;在执行阶段,Agent 会按照规划好的步骤来完成任务,同时在执行过程中不断监控环境的变化,并根据需要进行调整。
相比于 ReAct,Plan-and-Execute 将规划和执行完全分开。
Workflow vs. Agentic
- 同:
- 都需要工具来执行更小的子任务;
- 异:
- Workflow 的控制流由人预设,Agentic 的控制流由 LLM 自行规划;
- Workflow 适合于流程相对固定的问题,对单个子任务更专注,一般完成效果更好,而 Agentic 能够提供更灵活的体验;
Thinking:
- 个人认为随着模型能力的提升,Agentic 的优势会越来越明显,毕竟它能够更好地适应复杂多变的环境和任务需求,而 Workflow 则可能会因为流程设计不合理而导致效率低下或者无法完成任务,并且用户期望的场景就是大白话的自然语言描述需求,Agent 自主规划完成目标,而不是用户需要先把实现目标的流程设计好再让模型去执行,大道至简这一块。
- 不过在一些特定场景下,例如流程相对固定且对效率或可靠性要求较高的任务,Workflow 仍然是一个不错的选择。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!



