本文主要是为了记录笔者对工作流与智能体的区别的理解。

  • 工作流 (workflow):根据预定义的代码逻辑,按照顺序执行,适用于严格定义的任务场景。
  • 智能体 (agent):根据环境和任务,自主决策和执行,适用于不可预测的任务场景。

下图是工作流与智能体的举例,来源于【workflows-agents】。

工作流与智能体的区别

这个图其实有个疑问,为什么LLM参与决策的workflow,而不是智能体?

比如Evaluator-Opimizer,其中Generator与Evaluator都是LLM,Generator负责生成候选解,Evaluator负责评估,通过则给出结果,反之则反馈给Generator重新生成。其中,Generator就具备自主决策的性质。

本质上在于执行流程的是否可以预测性,Evaluator-Optimizer是一个严格的流程,而智能体可以判断执行步骤,选择是否使用工具以及使用什么工具,流程是不可预测的。