多智能体系统

架构即是人生 2024-06-18 16:49:29

原文:https://abvijaykumar.medium.com/multi-agent-architectures-e09c53c7fe0d

多智能体(Multi-Agent)系统是LLM应用程序,它们正在通过智能机器人改变自动化格局。

概述

在语言模型和人工智能的背景下,多智能体系统涉及多个独立的参与者,每个参与者都由语言模型提供支持,以特定的方式进行协作。这些Agent有自己的角色,以及由特定语言模型上的提示定义的上下文。每个Agent都可以访问各种工具,以帮助执行分配给Agent的任务。多个Agent带来不同的观点并有助于做出更好的决策。

多智能体系统与单智能体系统的主要区别在于系统内决策和交互的分布。

在单Agent系统中,集中做出所有决策,而其他Agent则充当远程从属Agent。该单一Agent通常根据上下文做出决定。这可能会错过其他观点/可能性。另一方面,多Agent系统涉及多个交互的智能Agent,每个智能Agent都能够做出决策并影响环境。

多Agent架构背后的想法是创建具有不同上下文的Agent,根据它们所扮演的角色引入不同的视角。尽管他们可能使用相同的 LLM,但由于为该Agent定义的角色、目标和上下文,他们的行为有所不同。就像团队中的一员一样。

想象一下,您有一个生成应用程序代码的Agent,另一个负责审查代码的Agent,他们都互相聊天以改进代码。经过一组定义的迭代,这两个Agent将得出最佳结果。这种方法具有巨大的潜力,不仅可以产生更令人满意的输出,还可以减少幻觉、偏见等的影响。在多Agent架构中使用正确的模型定义正确的上下文、提示非常关键。强大的即时工程技能有助于设计有影响力的多Agent应用程序。

多智能体设计的优点:

关注点分离:每个Agent都可以有自己的指令和少量示例,由单独的微调语言模型提供支持,并得到各种工具的支持。在Agent之间划分任务会带来更好的结果。每个Agent都可以专注于特定任务,而不是从众多工具中进行选择。模块化:多Agent设计允许将复杂的问题分解为可管理的工作单元,以专门的Agent和语言模型为目标。多Agent设计允许您独立评估和改进每个Agent,而无需中断整个应用程序。对工具和职责进行分组可以带来更好的结果。当专注于特定任务时,Agent更有可能取得成功。多样性:在Agent团队中引入强大的多样性,以引入不同的观点并完善输出并避免幻觉和偏见。 (就像一个典型的人类团队)。可重用性:一旦构建了Agent,就有机会针对不同的用例重用这些Agent,并考虑一个Agent生态系统,它可以通过适当的编排/编排框架(例如 AutoGen、 Crew.ai 等)

典型的多Agent架构由以下组件组成。

Agents: 智能Agent具有非常明确的角色、角色和上下文,并在 LLM 上运行。Connections: 这些Agent如何连接?Orchestration: 编排定义了这些Agent如何协同工作(顺序、分层、双向聊天等)Human: 在大多数用例中,我们将需要人类介入,以帮助做出决策并评估结果。Tools: 这些Agent用来运行特定任务的工具,例如搜索网络以获取更多信息,或生成/读取文档,或将生成的代码上传到 GitHub 等。LLM: 当然,这一切都由Agent用于推理的特定语言模型支持。

总之,多Agent架构支持独立语言模型驱动的Agent之间的协作,从而产生更有效和模块化的解决方案。

有多种框架允许我们构建这些多Agent应用程序。以下是其中一些框架。然而,这是一个不断发展的领域,许多框架每天都在变化,并且不断引入新的框架。但它们都提供了更简单的方法来构建和管理多个Agent。在未来的博客中,我们将在这些框架上构建一些应用程序。

OpenAI Assistant: openAI Assistant 是最早支持多Agent架构的框架之一。该框架可以创建持久的、多模式的多Agent系统,可以长时间与用户交互。Agent可以访问文件和工具(包括代码解释器),并与其他Agent通信以执行任务。这对于需要长期协作/交互的应用程序来说是理想的选择。Autogen: Autogen 是微软流行的新兴框架之一。这是一个开源框架,它还提供了一个非常直观的基于 UI 的开发工具,称为 Autogen Studio。用于构建强大的多Agent应用程序。它允许创建使用大型语言模型进行推理和操作的LLM Agent,可以使用来自自定义源的信息进行增强。它为多Agent架构提供了一种非常明确的基于协调器的方法。Dragonscale’s Multi-Agent Systems: 专注于集成各种生成式人工智能模型和工具,以创建能够管理从简单到高度复杂的任务的智能系统,特别是在动态业务环境中。这适用于需要适应性的动态业务环境。这提供了一个管理复杂任务的框架。CrewAI: CrewAI 是新兴框架之一,越来越受欢迎,正在与 Autogen 进行比较。 CrewAI 为编排角色扮演、自主人工智能Agent提供了一个非常好的框架。 CrewAI 促进协作智能,使Agent能够无缝协作来处理复杂的任务。它旨在使人工智能Agent能够承担角色、共享目标并在一个有凝聚力的单元中运作。这是我最喜欢的框架之一,我正在密切关注这个框架,我将在博客中介绍这些应用程序,我在下一篇博客中基于 CrewAI 进行了构建。LangGraph: LangGraph 是另一个非常强大且有前途的多Agent框架,用于使用 LLMs 构建有状态的多参与者应用程序,构建在 LangChain 之上。受 Pregel 和 Apache Beam 的启发,它扩展了 LangChain 表达式语言,能够以循环方式跨多个计算步骤协调多个链(或参与者)。 LangGraph拥有强大的社区和LangChain生态系统的力量。

这些框架是人工智能不断发展的一部分,其重点是创建能够学习和适应环境的智能系统,从而在各行业提供更加个性化和高效的解决方案。

ReferencesOpenAI Assistant | https://platform.openai.com/docs/assistants/how-it-worksAutoGen | https://microsoft.github.io/autogencrewAI — Multi AI Agents systems | https://www.crewai.com️LangGraph | ️ Langchain | https://langchain-ai.github.io/langgraphDragonscale Industries | https://www.dragonscale.ai
0 阅读:0

架构即是人生

简介:感谢大家的关注