在构建由AI驱动的应用程序时,您通常需要在两种不同的架构方法之间做出选择:工作流和智能体。每种方法都有其独特的优势和权衡,使其适用于不同的场景。

什么是工作流?
工作流是为解决已知问题或一组问题而设计的一系列预定义的Claude调用。当您能够提前预见步骤流程时——即当您知道完成任务所需的确切顺序时——您就可以使用工作流。
可以将工作流视为将一个大任务分解为更小、更具体的子任务。每个步骤专注于单一领域,这使Claude能够更精确地工作。
什么是智能体?
使用智能体时,Claude会获得一组基本工具,并被期望制定计划来使用这些工具完成任务。与工作流不同,您并不确切知道将提供什么任务,因此系统需要更具适应性。
智能体可以通过以意想不到的方式组合工具,创造性地找出应对各种挑战的方法。
工作流的优势
- Claude可以一次专注于一个子任务,通常能带来更高的准确性
- 由于您知道每个确切的步骤,因此更容易评估和测试
- 执行更可预测、更可靠
- 更适合解决特定的、定义明确的问题
智能体的优势
- 允许更灵活的用户体验
- 任务完成方式更加灵活——Claude可以以意想不到的方式组合工具,完成各种各样的任务
- 能够处理开发过程中未曾预料到的新情况
- 可以在需要时向用户请求额外的输入
工作流的缺点
- 灵活性远远不足——专门用于解决特定类型的任务
- 用户体验通常更受限——您需要知道流程的确切输入
- 需要更多的前期规划和设计工作
智能体的缺点
- 与工作流相比,任务成功完成率较低
- 更难以进行检测、测试和评估,因为您通常不知道智能体将执行哪一系列步骤
- 行为的可预测性较低
何时使用每种方法
作为工程师,您的主要目标是可靠地解决问题。用户可能并不关心您是否构建了一个花哨的智能体——他们想要的是一个能够始终如一地正常运行的产品。
一般建议是:尽可能始终专注于实现工作流,只有在真正需要时才使用智能体。工作流提供了大多数生产应用程序所需的可靠性和可预测性,而智能体则为那些无法预先确定确切需求的场景提供了灵活性。
当您拥有定义明确的流程时,请考虑使用工作流;而当您需要处理不可预测、多样化且需要创造性解决问题的用户请求时,请考虑使用智能体。