多代理系统将决策和交互分布在组成系统的各个代理之间,与单代理系统区分开来。在单代理系统中,集中代理执行所有决策,而多代理系统由相互交互的智能代理组成,每个代理都做出决策并影响环境。多代理架构旨在构建拥有不同视角的代理,这可以通过不同的环境和语言模型的支持来实现。这些代理相互合作,在完成指定迭代次数后获得最佳结果,减少偏见和其他影响。
决策和交互在组成系统的各个代理之间的分布是多代理系统与单代理系统的主要区别。在单代理系统中,集中代理负责做出所有决策,其他代理则充当远程从属代理。通常由该代理根据具体情况做出决定。这可能导致忽略其他观点和可能性。另一方面,多代理系统由多个相互交互的智能代理组成,每个代理都能够做出决策并影响周围环境。
多代理架构的目的是构建能够根据其扮演的角色带来多种视角的代理。不同的环境有助于创建这些代理。尽管使用相同的 LLM,但每个代理的行为都是独一无二的,因为它具有特定的功能、目标和环境,就像小队成员一样。
想象一下,您有一个负责生成应用程序代码的代理和另一个负责审查代码的代理,并且它们都相互进行对话以增强代码。这两个代理将在完成预定的迭代次数后获得最佳结果。这种策略的应用不仅可以提供更理想的产品,还可以减轻幻觉、偏见和其他类似现象的影响。在多代理架构中,定义适当的上下文、提示和模型至关重要。凭借强大、快速的工程能力,可以创建一个利用多个代理的有影响力的应用程序。
多智能体设计优势
使用多智能体设计有以下几个优点:
关注点分离
每个代理的指令和小样本示例由不同的语言模型驱动,这些模型经过了微调,并由各种工具支持。这允许职责分离。将工作委托给多个代理可以取得更好的结果。每个代理可以专注于特定任务,而不必从各种工具中进行选择。
模块化
由于多智能体设计具有模块化特点,因此可以将复杂的任务划分为更易于管理的部分,专门的智能体和语言模型可以针对这些部分进行处理。使用多智能体设计时,您可以独立评估和改进每个智能体,而无需中断整个程序。对工具和职责进行分组可能会产生更好的结果。将智能体集中在特定任务上可以提高其效率。
多样性
确保代理团队具有足够的多样性,以便吸收各种观点,提高输出质量,并避免产生幻觉和偏见。这与传统的人类团队类似。
可重用性
一旦开发了代理,就有可能将其重新用于各种用例。此外,明智的做法是考虑一个代理生态系统的可能性,该生态系统可以利用适当的编排框架(例如 AutoGen、Crew.ai 等)协作寻找问题的解决方案。
来源: 多代理架构
多智能体架构组件
以下是典型多代理架构的组件。
代理:智能代理在 LLM 上运行,其特点是具有明确的目的、角色和背景。
联系:这些代理之间有什么联系?
编排:术语“编排”指的是这些代理相互协作的过程(例如顺序、分层或双向聊天)。
人:我们需要有一个中间人,以便我们能够协助做出决策和评估结果。
工具:这些代理使用工具来执行特定任务,例如在互联网上搜索更多信息、生成和阅读文档、将生成的代码上传到 GitHub 等等。
LLM:代理将使用大型语言模型来支持推理设计。
框架
许多框架促进了这些多代理应用程序的开发。在本节中,我们将详细解释其中一些框架。然而,随着这个领域的发展,许多框架经历了变化和引入。另一方面,它们中的每一个都提供了更简单的构建和管理多个代理的技术。随着我们博客文章的推进,我们将基于这些框架开发一些应用程序。
打开人工智能助手
最早的多智能体框架之一是OpenAI Assistant。该框架支持开发持久、多模式且能够与用户进行长期交互的多智能体系统。智能体可以通过访问文件、工具和代码解释器来协作完成任务。这适用于长期协作和交互应用程序。
微软 Autogen
微软的 Autogen框架是目前最流行的新兴框架之一。为了构建强大的多智能体应用程序,这个开源框架包括 Autogen Studio,这是一种基于 UI 的直观编程工具。它创建使用大型语言模型进行推理和操作的 LLM 智能体,以及定制数据。它提供了一种基于编排器的特定多智能体架构方法。
Dragonscale 的多智能体系统
Dragonscale 的多智能体系统集成了生成式 AI 模型和工具,以开发能够处理从简单到复杂任务的智能系统,尤其是在动态业务情况下。这适用于不断变化且需要敏捷的业务情况。该框架有助于处理复杂任务。
机组人员人工智能
我们正在将最近流行的框架CrewAI与 Autogen 进行比较。CrewAI 是一个用于编排自主 AI 代理的非常有用的框架。CrewAI 为代理提供了协作完成具有挑战性的任务的智能。它帮助 AI 代理采用角色、共享目标并协同工作。这个框架不仅是我的最爱之一,而且我正在密切关注它的进展。在我的下一篇博客文章中,我将讨论我使用 CrewAI 开发的应用程序。
语言图谱
LangGraph是另一个功能强大且前景光明的多代理框架。开发人员在 LangChain 之上构建 LangGraph,以使用 LLM 开发有状态的多参与者应用程序。它通过在各种处理步骤中添加大量链(或参与者)的循环协调来增强 LangChain 表达语言,从 Pregel 和 Apache Beam 中汲取灵感。LangChain 环境的强大以及支持它的社区赋予了 LangGraph 强大的力量。
结束语
能够从环境中学习并适应的智能系统是人工智能进化的最终目标,从而为各个行业带来更加个性化、更高效的解决方案。
以上就是多代理系统的架构的详细内容,更多请关注本网内其它相关文章!