阅读Multi一篇文章-Agent 概念、情境和实现框架的System

2024-12-20

The following article is from 风叔云 Author 风叔


随着人工智能的飞速发展,多智能系统(MAS)逐步成为处理复杂任务的核心技术。本文将深入探讨 Multi-Agent System 概念、应用领域和框架的实现,揭示了如何通过多个智能体的合作和协调来提高系统的整体性能和鲁棒性。


———— / BEGIN / ————


大部分人使用 Agent 都是单 Agent 在面对复杂的任务之后,系统只能执行比较简单的任务, Agent 系统稳定性存在问题。


这类似于人。当一个人的大脑装载了太多的信息,就会影响他的工作质量。俗话说“技术有专业化”,一个人的力量永远比不上一个专业的团队。


这便是 Multi-agent system,也就是多智能系统设计的初衷。


Multi-Agent 概念与应用领域


Multi-Agent 系统,简称 MAS,它是由多个智能体组成的集合。这些 Agent 可以是不同的软件系统,机器人,传感器等等,它们各有一定的智能和自主性,并且处理各自擅长的领域和事物。MAS 核心思想是通过多种多样的思想。 Agent 合作与协调,共同完成一项复杂的任务,从而实现单一任务。 Agent 复杂的目标无法完成。


相比单 Agent 系统,Multi-Agent 该系统具有以下优点:


分布式处理:MAS 支持分布式应用,可将大型复杂系统分解成多个小型、易于管理的分系统。因此 MAS 具有良好的模块化、易扩展性和设计灵活性,降低了系统的总成本和维护难度。


协调工作:MAS 里的 Agent 能够相互沟通、协商、合作,共同完成一项任务。通过这种协调工作方式,MAS 能处理一个单一 Agent 无法解决的问题,从而提高系统的整体性能和鲁棒性。


自适应性:MAS 里的 Agent 行为和策略可以根据环境变化进行自主调整,这种自适应性促使行为和策略。 MAS 具有出色的稳定性和灵活性,能应对各种复杂的场景。


Multi-Agent System 主要使用场景包括:


软体编写:在软件项目中,由多个软件项目。 Agents 各自扮演项目经理、产品经理,UI 设计者、开发者、测试者等,同时将一个复杂的软件项目拆解成多个子任务,更有效地完成软件的编写。


智能化营销:在客户营销场景中,可以构建多个营销场景 Agents,比如营销计划 Agent、内容生产 Agent、群体管理 Agent、营销触达 Agent 和效果分析 Agent。


智能化供应链:在供应链场景中, Multi-Agent 包括销售计划,提高上下游协同效率 Agent、采购方案 Agent、仓储计划 Agent、采购单 Agent 等等,从销售预测、安全库存、供应链响应等方面,构建多道供应链防线。


智能化客户服务:在智能化客户服务领域,根据不同的产品和服务领域,构建不同的专属 Agent,比如处理商品售后投诉。 Agent、回答用户产品问题 Agent、处理营销活动咨询 Agent、跟踪物流进度 Agent 等。与此同时,在最上层构建一个 Top Agent,用 Top Agent 统一对客户,然后根据消费者的问题自动路由到最匹配的专属。 Agent。


智能能源:在智能能源领域,MAS 可以实现多个传感器、控制器和执行器之间的协调,实现对电网的实时监控、预测和优化调度,提高电网的稳定性和可靠性。


类似的场景可以列出很多,风叔就不一一赘述了。也可以结合自己的经验,仔细思考是否适合。 MAS 场景。下一步,风叔详细介绍了三种流行的多智能系统的实现框架。


MetaGPT – SOP 驱动 Agent 的代表


SOP 驱动 Agent 这是一种很容易理解的多智能体设计模式,SOP 也就是说,在现实世界中,标准的业务流程和分工,过程中的每一个环节都有相应的作用。MetaGPT 正是把这个想法搬到了这里 AI Agent 领域,由 AI Agent 在业务流中扮演各种角色。


比如在软件开发过程中,设计的角色包括产品经理、架构师、项目经理、工程师、质量保证工程师等。每个角色都有自己独特的职责和专业知识。


这些 Agent 遵循 SOP 分解任务,确保每一步都能高效准确地完成。产品经理负责分析需求,创建产品需求文档。架构师负责将需求转化为系统设计,项目经理负责任务分配,工程师负责编写代码,而质量保证工程师负责测试和保证代码质量。


MetaGPT 具体的工作原理包括以下六个阶段:


角色定义与分工:MetaGPT 第一个定义了一系列 Agent 人物,每一个人物都有特定的职责和任务。在现实世界中,这些人物模拟了工作流程,促使每一个人 Agent 他们都可以致力于自己擅长的领域。


标准化操作程序(SOPs):MetaGPT 将 SOPs 编码为提醒序列,用于指导。 Agent 如何完成任务。SOP 与人类团队中的工作指南相似,保证了任务执行的一致性和质量。


结构化通信:提高通信效率,MetaGPT 采用结构化通信方式。Agent 每一个信息都是通过共享消息池发布和订阅的, Agent 所有这些都可以获得必要的信息来实现目标。


可以执行信息反馈:在代码生成过程中,MetaGPT 引入可执行信息反馈。这意味着 Agent 编写代码后,会执行代码并检查其准确性。如发现错误,Agent 在代码符合要求之前,会根据反馈进行调试,然后重新执行。这个过程类似于人类开发者在开发过程中的迭代过程。


任务分解与合作:MetaGPT 将复杂的任务分解为多个子任务,每个子任务由一个或多个子任务组成。 Agent 这一分解策略促使复杂的项目得到有效的管理和实施。与此同时,Agent 通过角色之间的信息交换和任务依赖来完成合作,确保整个项目按计划进行推进。


持续学习和优化:MetaGPT 支持 Agent 通过自我修正和迭代,从过去的经验中学习,对其行为进行优化,这种自我改进机制可以使系统随着时间的推移变得更加智能。


AutoGen – LLM 驱动 Agent 的代表


Autogen 是一个由 Microsoft 支持多个自主创建和管理的框架。 Agent,协同完成复杂的任务。这一框架极其灵活,可根据实际情况定义不同的框架。 Agent 相应的角色,特别是在编程、规划、创意写作等领域。


Autogen 框架分为三个特别简单的步骤,开发者所能做的就是明确责任,建立责任。 Agent,将这些 Agent 融合在一起。


步骤一,建立 Agent:


不同类型的创建和管理支持 Agent,专家,通用助手,策略制定者等,包括特定任务。


可以为每个 Agent 为确保明确的分工,指定不同的角色、目标和权限。


提供 Agent 为满足不同任务的特定需要,定制选项。


步骤二,提供对话环境:


为虚拟对话提供空间, Agent 能够相互交流与合作。


包括文本、音频或视频形式在内的多方对话与合作。


为了回顾和审查,自动保存对话内容和决策流程。


步骤三,对话内容管理:


引导 Agent 讨论方向,确保讨论围绕目标进行。


提供实时监控工具,帮助发现潜在问题,并及时纠正和调整。


为了保持对话与合作的质量和效率,设定规则和约束。


为快速查找相关信息提供对话内容的搜索和过滤功能。


AutoGen 一种通用的设计 ConversableAgent 类别,他们可以通过交换信息来相互对话,共同完成任务。Agent 能够与其他 Agent 进行通讯和实施操作,不同 Agent 接到消息后执行的操作可能会有所不同。


AutoGen 中包含两种 Agent 和一种 Manager,互相配合,共同处理问题。


AssistantAgent 作为中枢大脑,其主要作用是提供理解、分析;UserProxyAgent 对中枢大脑给出的决定进行处理。


GroupChatManager 就是能让多个人 Agent 分组的管理者类似于将团队分成多个部分。 Team 进行管理。


XAgent – Agent 并行计算 , LLM 汇总


XAgent 它是一个基于大型语言模型的开源。(LLM)的通用自主 Agent,各种复杂的任务都可以自动处理。本框架采用双环机制,高层任务管理采用外循环,起到规划作用。(Planning)作用,内循环用于底层任务的执行,起到执行作用。(Execution)的功效。


外循环


作为高层规划器和整个问题解决序列的主要协调者,外循环充当整个问题解决序列的管理,其职责可分为以下几个方面。


最初的计划生成:PlanAgent 首先,制定一个初始计划,为任务执行制定基本策略。这一部分将给定的复杂任务分解为更小、更容易管理的子任务,其特点是任务队列,可以直接执行。


迭代计划改进:在初始计划之后,PlanAgent 第一个任务是从任务队列中释放出来的,然后把这个子任务传递给内循环,PlanAgent 持续监控任务的进展和状态。每一个子任务完成后,内循环将回归 ToolAgent 反馈。根据反馈,PlanAgent 引发适当的处理机制,例如提高计划或执行后续子任务。外循环结束,直到队列中没有剩余的子任务。


内循环


内循环负责执行外循环分配的每个子任务。内循环会根据外循环给定的子任务指定一个合适的子任务。 ToolAgent,确保任务达到预期效果。内循环的主要职责包括:


Agent 调度及工具获取:根据子任务的特点,派遣合适的 ToolAgent,该 Agent 有能力实现目标。


工具执行:ToolAgent 首先,从外部系统中获得工具,以帮助实现目标。接着,Agent 使用 ReACT 为了解决子任务,寻找一系列最好的工具来完成子任务。


反馈与反思:在一系列动作之后,ToolAgent 一个名字可以发出来。 subtask_submit “为了完成当前子任务的处理,将反馈和反思传递给特定的动作, PlanAgent。这一反馈能指示子任务是否成功完成,或强调隐性改进。


PlanAgent


PlanAgent 赋予 Agent 为了满足多变的环境和突发的需求,不断制定和修改计划的能力尤为重要。这些能力对于保证灵活性、韧性和效率来应对意想不到的挑战尤为重要。PlanAgent 通过生成初始计划和不断修改计划,专门用于外循环,实现这一目标。PlanAgent 优化计划包括四个函数:


子任务拆分:使系统能够将特定的子任务分解成更准确、更容易管理的模块。只有目前正在执行或尚未启动的子任务才有资格这样做。


删除子任务:删除尚未开始的子任务。已完成或已完成的子任务不具备删除资格。这样可以保证一定的灵活性,修剪多余或不相关的任务,优化整体执行。


子任务修改:修改子任务的内容。为了保持整个计划的完整性,需要修改的子任务不能已经开始或完成。


添加子任务:在特定的子任务后插入新的子任务。子任务只能在当前子任务或其后续任务后添加。这确保了新任务的顺序安排,简化了执行过程,保持了一致性。


ToolAgent


ToolAgent 使用 ReACT 寻找一系列最好的工具来完成子任务。每一轮,Agent 根据之前的交互,生成一个动作。对于每一个动作,智能体的推理和行动在同一个函数调用中是协同的,即推理跟踪和即将执行的动作被视为特定函数的参数。具体来说,每个函数调用都有以下部分:


思考:Agent 总结任务洞察力。


推理:追踪 Agent 通过思考轨迹,得到它的思考。


指责:捕获 Agent 作为反馈回路,对其行为进行自我反思。强调隐性疏忽或优化的领域。


说明:根据推理决定 Agent 接下来要采取的动作。


参数:列出动作的具体参数或细节。


总结


风叔在本文中介绍了多智能系统的含义和价值,并详细介绍了多智能系统。 MetaGPT、AutoGen、XAgent 三个著名的多智能体设计框架。


就合作设计的实现而言,风叔更倾向于选择。 LLM 驱动的 Multi-Agent 减少工程侵入的设计方向。因为 LLM 能力正在成长,随着时间的推移,今天的瓶颈可能会被突破, SOP 驱动力是工程化的,不能随时间自我迭代。


———— / E N D / ————


作者:风叔


来源微信微信官方账号:风叔云


品牌推广| 内容编写|广告营销|培训合作


请到微信官方账号后台回复


本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。

免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com