在使用Claude构建应用程序时,您经常会遇到无法通过单次请求完成的任务。这正是工作流和智能体发挥作用的地方——它们是处理复杂、多步骤流程的策略。
实际上,您在本课程中一直在使用这些概念。还记得我们使用工具并让Claude自己想办法完成任务的时候吗?那就是智能体在发挥作用。
在工作流和智能体之间做选择

这个决定取决于您对任务的理解程度:
- 使用工作流:当您能够准确描绘出Claude应该经历的确切流程或步骤来解决问题时,或者当您的应用的用户体验将用户限制在一组特定任务中时
- 使用智能体:当您不确定将给Claude什么任务或任务参数时
工作流是一系列对Claude的调用,旨在通过预先确定的一系列步骤来解决特定问题。智能体为Claude提供一个目标和一组工具,期望Claude通过所提供的工具自行找出完成目标的方法。
一个真实世界的工作流示例

让我们来看一个实际的例子:构建一个"图像转CAD"应用程序。用户拖放一张金属零件的图像,应用程序会创建一个STEP文件(3D模型的行业标准)。

以下是我们可能将其分解为工作流步骤的方式:
- 将图像输入Claude,要求它详细描述该物体
- 根据描述,要求Claude使用CadQuery库对该物体进行建模
- 创建3D模型的渲染图
- 要求Claude根据原始图像对渲染图进行评分。如果存在问题,修复它们并重复此过程
这是一个完美的工作流场景,因为当用户提供图像文件时,我们对确切需要做什么有相当清晰的了解,并且我们可以轻松地用代码将所有这些写成一系列预定义的步骤。
评估者-优化者模式

这个CAD示例展示了一种常见的工作流模式,称为评估者-优化者:
- 生产者:接收输入并创建输出(Claude使用CadQuery进行建模和渲染)
- 评估者:根据标准评估输出
- 反馈循环:如果评估者拒绝该输出,反馈会返回给生产者以进行改进
- 接受:这个循环持续进行,直到评估者接受该输出
为什么要学习工作流模式?
识别不同的工作流为您提供了一套可重复使用的方案,用于实现您自己的功能。评估者-优化者是一种对其他工程师行之有效的工作流模式——考虑在您自己的应用程序中使用它!
请记住,工作流不会自行实现。您仍然需要编写实际的代码。但拥有这些经过验证的模式作为起点,可以为您节省大量时间,并帮助您避免其他人已经解决过的常见陷阱。