ChatGPT的引入使得大型语言模型(LLM)在技术行业和非技术行业都得到了广泛应用,这种普及主要归因于两个因素:
1. LLM作为知识宝库:LLM基于海量的互联网数据进行训练,并定期更新(即GPT-3、GPT-3.5、GPT-4、GPT-4o等)。
2. 涌现能力:随着LLM的发展,它们展现出小型模型中不具备的能力。
这是否意味着我们已经达到了人类水平的智能,即我们所说的AGI?Gartner将AGI定义为一种能够在广泛的任务和领域中理解、学习和应用知识的AI形式。通往AGI的道路还很漫长,其中一个关键障碍是LLM训练的自回归性质,这种性质基于过去的序列来预测单词。作为AI研究的先驱之一,Yann LeCun指出,由于自回归性质,LLM可能会偏离准确答案,因此,LLM存在几个局限性:
• 知识有限:尽管训练数据庞大,但LLM缺乏最新的世界知识。
• 推理能力有限:LLM的推理能力有限,如Subbarao Kambhampati所指,LLM是优秀的知识检索者,但不是优秀的推理者。
• 缺乏动态性:LLM是静态的,无法访问实时信息。
为了克服LLM的挑战,需要一种更先进的方法,这就是智能体变得至关重要的地方。
智能体来救场
AI中智能体的概念已经发展了二十多年,其实施方式也随时间而变化。如今,人们在LLM的语境下讨论智能体。简而言之,智能体就像是应对LLM挑战的瑞士军刀:它可以帮助我们进行推理,提供从互联网获取最新信息的手段(解决LLM的动态性问题),并且可以自主地完成任务。以LLM为支柱,智能体正式包含工具、记忆、推理(或规划)和行动组件。
AI智能体的组件
• 工具使智能体能够访问外部信息,无论是来自互联网、数据库还是API,从而收集必要的数据。
• 记忆可以是短期的或长期的。智能体使用暂存记忆来暂时保存来自各种来源的结果,而聊天历史则是长期记忆的一个例子。
• 推理器使智能体能够有条不紊地思考,将复杂任务分解为可管理的子任务,以便有效处理。
• 行动:智能体根据其环境和推理结果采取行动,通过反馈迭代地适应和解决问题。ReAct是迭代执行推理和行动的常用方法之一。
智能体擅长什么?
智能体在处理复杂任务时表现出色,尤其是在角色扮演模式下,能够利用LLM增强的性能。例如,在撰写博客时,一个智能体可能专注于研究,而另一个则负责写作——每个智能体都处理一个特定的子目标,这种多智能体方法适用于许多现实问题。
角色扮演有助于智能体专注于特定任务以实现更大的目标,通过明确定义提示的各个部分(如角色、指令和上下文)来减少幻觉。由于LLM的性能取决于结构良好的提示,因此各种框架都将这一过程形式化。接下来我们将讨论这样一个框架——CrewAI,它提供了一种结构化的方法来定义角色扮演。
多智能体与单智能体
以使用单智能体的检索增强生成(RAG)为例,这是一种有效的方法,通过利用索引文档中的信息来增强LLM处理特定领域查询的能力,然而,单智能体RAG也有其自身的局限性,如检索性能或文档排名。多智能体RAG通过为文档理解、检索和排名部署专用智能体来克服这些局限性。
在多智能体场景中,智能体以不同的方式协作,类似于分布式计算模式:顺序、集中、分散或共享消息池。CrewAI、Autogen和langGraph+langChain等框架支持通过多智能体方法解决复杂问题。在本文中,我使用CrewAI作为参考框架来探索自主工作流管理。
工作流管理:多智能体系统的一个用例
大多数工业流程都涉及工作流管理,无论是贷款处理、营销活动管理还是DevOps。实现特定目标需要顺序或循环的步骤。在传统方法中,每个步骤(例如贷款申请验证)都需要人工来执行繁琐且单调的任务,即手动处理每个申请并进行验证,然后再进入下一步。
每个步骤都需要该领域专家的输入。在使用CrewAI的多智能体设置中,每个步骤都由一个由多个智能体组成的团队来处理。例如,在贷款申请验证中,一个智能体可能通过背景检查(如驾驶证等文件)来验证用户的身份,而另一个智能体则验证用户的财务信息。
这就引出了一个问题:一个团队(包含多个顺序或层级结构的智能体)能否处理所有贷款处理步骤?虽然理论上可行,但这会使团队变得复杂,需要大量的临时记忆,并增加目标偏离和幻觉的风险。一种更有效的方法是将每个贷款处理步骤视为一个独立的团队,将整个工作流视为一个团队节点图(使用langGraph等工具)顺序或循环运行。
由于LLM仍处于智能发展的早期阶段,因此无法完全自主地管理整个工作流。在关键阶段需要人工参与进行最终用户验证。例如,在团队完成贷款申请验证步骤后,需要人工监督来验证结果。随着时间的推移,随着对AI的信任增加,某些步骤可能会变得完全自主。目前,基于AI的工作流管理起着辅助作用,简化了繁琐的任务并减少了整体处理时间。
生产挑战
将多智能体解决方案投入生产可能会面临几个挑战。
• 规模:随着智能体数量的增加,协作和管理变得具有挑战性。各种框架提供了可扩展的解决方案——例如,Llamaindex采用事件驱动的工作流来大规模管理多智能体。
• 延迟:由于任务迭代执行,需要多次调用LLM,因此智能体性能往往会产生延迟。受管理的LLM(如GPT-4o)由于隐式护栏和网络延迟而速度较慢。自托管的LLM(具有GPU控制)在解决延迟问题方面非常有用。
• 性能和幻觉问题:由于LLM的概率性质,智能体的性能可能会因每次执行而异。像输出模板化(例如JSON格式)和在提示中提供充足示例等技术有助于减少响应的可变性。通过训练智能体可以进一步减少幻觉问题。
最后的思考
正如Andrew Ng所指出的,智能体是AI的未来,并将与LLM一起不断发展。多智能体系统将在处理多模态数据(文本、图像、视频、音频)和应对日益复杂的任务方面取得进展。虽然AGI和完全自主的系统仍在未来,但多智能体将填补LLM和AGI之间的当前空白。