上篇《Anthropic:构建智能体的最佳实践1/2 | 笔记》主要梳理了智能体系统的工作流(Workflow)架构,本篇重点是智能体(Agent,即自主代理)架构。截至目前我看到的企业大模型应用全部是基于工作流架构,还没有看到基于智能体架构的应用。推测AI for Science领域有智能体架构的实际落地,但也只是推测。
首先回顾上篇中的一个要点,智能体系统工作流架构和智能体架构的主要区别是什么?
智能体可以通过多种方式定义。Anthropic使用了新名词“智能体系统”(Agentic System),主要分为工作流(Workflow)和智能体(Agent,自主代理)两类,它们在架构上的主要区别如下。
(1)工作流是通过预定义的代码路径编排大模型和工具的系统。
(2)智能体是通过大模型动态规划流程和工具调用的系统。
以当前大模型的关键能力来看,例如理解理解复杂的输入、进行推理和规划、可靠地使用工具以及从错误中恢复等,采用智能体架构(自主代理)已逐渐成熟。智能体从来自人类用户的命令或与人类用户的交互式讨论开始它们的工作。一旦任务明确,智能体就会独立计划和操作,并可能返回给人类用户以获取更多信息或做出判断。在执行过程中,智能体在每个步骤(例如工具调用结果或代码执行)从环境中获取“基本事实”以评估其进度至关重要。然后,智能体可以在检查点或遇到障碍时暂停以获得用户反馈。任务通常在完成时终止,但包括停止条件(例如最大迭代次数)以保持控制也很常见。
智能体(自主代理)可以处理复杂的任务,但其实现通常很简单。它们通常只是大模型在循环中调用基于环境反馈的工具。因此,清晰而周到地设计工具集至关重要。
智能体(自主代理)可用于难以或不可能预测所需步骤数以及无法对固定路径进行“硬编码”的开放式问题。大模型可能会运行很多回合,但你必须对其决策有一定程度的信任,否则基于该架构开发的应用上不了生产环境。另外,该架构也意味着更高的成本。
最后,构建智能体的成功并不是要去构建最复杂的系统,从简单的提示词开始,通过综合评估对其进行优化,仅在更简单的解决方案不满足时,再考虑多步骤的智能体系统。