【Agentic AI】多智能体协作模式学习笔记 博主未授权任何人或组织机构转载博主任何原创文章感谢各位对原创的支持博主链接本人就职于国际知名终端厂商负责modem芯片研发。在5G早期负责终端数据业务层、核心网相关的开发工作目前牵头6G技术研究。博客内容主要围绕5G/6G协议讲解高级C语言讲解Rust语言讲解文章目录多智能体协作模式一、多智能体协作模式介绍二、常见的应用案例三、多智能体协作探索相互关系和通信模式3.1 Single Agent3.2 Network3.3 Supervisor3.4 Supervisor as a Tool3.5 Hierarchical3.6 Custom四、代码示例五、总结多智能体协作模式虽然单体智能体架构可以有效地解决定义良好的问题但当面临复杂的多域任务时其能力往往受到限制。多智能体协作模式通过将系统构造为多个不同且专一的智能体协作来解决这些限制。该方法基于任务分解的原理将高层目标分解为离散的子问题。然后将每个子问题分配给具有最适合该任务的智能体。例如可以将复杂的调研任务分解并分配给用于信息检索的研究智能体、用于统计处理的数据分析智能体和用于生成最终报告的总结智能体。这样一个系统的有效性不仅需要明确的任务分工还需要依赖多智能体间通信的机制。这需要一个标准化的通信协议和一个共享的知识上下文允许智能体交换数据委托子任务并协调他们的行动以确保最终输出是一致的。这种分布式架构有几个优点包括模块化、可伸缩性和健壮性因为单个智能体的故障不一定会导致整个系统的故障。一、多智能体协作模式介绍多智能体协作模式需要设计多个独立或半独立智能体协同工作以实现共同目标的系统。每个智能体通常有一个已定义的角色、与总体目标一致的特定目标并可能访问不同的工具或知识库。这种模式的力量在于这些智能体之间的交互和协同。协作可以采取各种形式顺序切换一个智能体完成任务并将其输出传递给另一个智能体以便在管道中进行下一步操作类似于规划模式但明确涉及不同的智能体并行处理多个智能体同时处理问题的不同部分然后将它们的结果组合在一起辩论和共识多智能体协作具有不同视角和信息源的智能体参与讨论以评估选项最终达成共识或做出更明智的决定分层结构管理智能体可以根据执行智能体的工具访问或插件能力动态地将任务委派给执行智能体并综合它们的结果。每个智能体还可以处理相关的工具组而不是一个智能体处理所有的工具专家团队具有不同领域专业知识的智能体例如研究人员作家编辑合作产生复杂的输出评论与审查者智能体创建初始输出如计划、草稿或答案。然后第二组智能体批判性地评估该输出是否符合政策、安全性、合规性、正确性、质量以及与组织目标的一致性。最初的创建者或最终智能体根据此反馈修改输出。这种模式对于代码生成、研究编写、逻辑检查和确保道德一致特别有效。这种方法的优点包括增强的鲁棒性改进的质量以及减少幻觉或错误的可能性。一个多智能体系统基本上包括对智能体角色和职责的描述建立智能体交换信息的通信渠道以及制定指导他们协作的任务流或交互协议。二、常见的应用案例多智能体协作是一种适用于许多领域的强大模式复杂的研究和分析一个智能体团队可以在一个研究项目上进行合作。一个智能体可能专门搜索学术数据库另一个智能体总结发现第三个智能体确定趋势第四个智能体将信息综合成报告。这反映了人类研究团队可能的运作方式。软件开发想象智能体合作构建软件。一个智能体可以是需求分析人员另一个是代码生成器第三个是测试人员第三个是文档编写人员。它们可以相互传递输出来构建和验证组件。创造性内容生成创建营销活动可能涉及市场调研智能体文案智能体平面设计智能体使用图像生成工具和社交媒体调度智能体所有人都要一起工作。金融分析多智能体系统可以分析金融市场。智能体可能专门用于获取股票数据分析新闻情绪执行技术分析并生成投资建议。客户支持升级前线支持智能体可以处理初始查询在需要时将复杂问题升级到专家智能体例如技术专家或计费专家根据问题的复杂性演示顺序切换。供应链优化智能体可以代表供应链中的不同节点供应商、制造商、分销商并协作优化库存水平、物流和调度以响应变化的需求或中断。网络分析和补救自主操作从智能体架构中获益良多特别是在故障定位方面。多个智能体可以协作对问题进行分类和补救并提出最优行动。这些智能体还可以与传统的机器学习模型和工具集成利用现有系统同时提供生成式AI的优势。三、多智能体协作探索相互关系和通信模式理解多智能交互和通信的复杂方式是设计有效的多智能系统的基础。如下图所示存在一系列的相互关系和通信模式从最简单的单智能体场景到复杂的、定制设计的协作框架。每种模式都呈现出独特的优势和挑战影响着多智能体系统的整体效率、鲁棒性和适应性。3.1 Single Agent在最基本的层次上Single Agent 自主操作不与其他实体直接交互或通信。虽然该模式易于实现和管理但其能力内在地受到个体智能体的范围和资源的限制。它适用于可分解为独立子问题的任务每个子问题都可以由一个独立的、自给自足的智能体解决。3.2 NetworkNetwork 模式代表着向协作迈出的重要一步其中多个智能体以分散的方式直接相互交互。通信通常是端到端的可以共享信息、资源甚至任务。这种模型培养了弹性因为一个智能体的失败不一定会削弱整个系统。然而管理通信开销并确保在大型非结构化网络中做出一致的决策可能具有挑战性。3.3 Supervisor在 Supervisor 模式中一个专门的智能体即“主管”监督和协调一组下级智能体的活动。主管充当沟通、任务分配和解决冲突的中心枢纽。这种层次结构提供了明确的权限线可以简化管理和控制。然而它引入了单点故障主管并且如果主管被大量下属或复杂任务淹没可能成为瓶颈。3.4 Supervisor as a Tool这种模式是 Supervisor 概念的微妙扩展主管的角色不是直接命令和控制而是向其他智能体提供资源、指导或分析支持。主管可以提供工具、数据或计算服务使其他智能体能够更有效地执行他们的任务而不必命令他们的每个行动。这种方法旨在利用主管的能力而不是强制实施严格的自上而下的控制。3.5 HierarchicalHierarchical 模式扩展了主管的概念创建了一个多层次的组织结构。这涉及到多个级别的主管由较高级别的主管监督较低级别的主管最终是最低级别的业务智能体的集合。这种结构非常适合于可以分解为子问题的复杂问题每个子问题由层次结构的特定层管理。它为可伸缩性和复杂性管理提供了一种结构化方法允许在定义的边界内进行分布式决策。3.6 CustomCustom模式体现了多智能体系统设计的终极灵活性。它允许创建独特的相互关系和通信结构精确地适应给定问题或应用程序的特定要求。这可能包括将前面提到的模式中的元素结合起来的混合方法或者从环境的独特约束和机会中产生的全新设计。自定义模式通常来自于对特定性能指标的优化需求处理高度动态的环境或者将特定领域的知识合并到系统的体系结构中。设计和实现自定义模式通常需要对多智能体系统原理有深刻的理解并仔细考虑通信协议、协调机制和紧急行为。总之选择多智能体系统的相互关系和通信模式是一个关键的设计决策。每种模式都有不同的优点和缺点最佳选择取决于诸如任务的复杂性、智能体的数量、期望的自治水平、对鲁棒性的需求和可接受的通信开销等因素。多智能体系统的未来发展将继续探索和完善这些模式以及开发协作智能的新范式。四、代码示例这段Python代码定义了一个由AI驱动的团队使用CrewAI框架来生成关于AI趋势的博客文章。该应用程序的核心涉及定义两个智能体一个是发现和总结AI趋势的研究人员一个是根据研究创建博客文章的作者。据此定义了两个任务一个是研究趋势另一个是撰写博客文章写作任务取决于研究任务的输出。然后这些智能体和任务被组装成一个Crew指定一个顺序流程其中任务是按顺序执行的。importosfromcrewaiimportAgent,Task,Crew,Process,LLMfromlangchain_openaiimportChatOpenAI llmLLM(modelqqq,api_keyNone,# required, but unusedbase_urlhttp://xxx.xxx.xxx.xxx:11434/v1)defmain(): Initializes and runs the AI crew for content creation using the latest Gemini model. # Define Agents with specific roles and goalsresearcherAgent(roleSenior Research Analyst,goalFind and summarize the latest trends in AI.,backstoryYou are an experienced research analyst with a knack for identifying key trends and synthesizing information.,verboseTrue,allow_delegationFalse,)writerAgent(roleTechnical Content Writer,goalWrite a clear and engaging blog post based on research findings.,ckstoryYou are a skilled writer who can translate complex technical topics into accessible content.,verboseTrue,allow_delegationFalse,)# Define Tasks for the agentsresearch_taskTask(descriptionResearch the top 3 emerging trends in Artificial Intelligence in 2024-2025. Focus on practical applications and potential impact.,expected_outputA detailed summary of the top 3 AI trends, including key points and sources.,agentresearcher,)writing_taskTask(descriptionWrite a 500-word blog post based on the research findings. The post should be engaging and easy for a general audience to understand.,expected_outputA complete 500-word blog post about the latest AI trends.,agentwriter,context[research_task],)# Create the Crewblog_creation_crewCrew(agents[researcher,writer],tasks[research_task,writing_task],processProcess.sequential,llmllm,verbose2# Set verbosity for detailed crew execution logs)# Execute the Crewprint(## Running the blog creation crew with Gemini 2.0 Flash... ##)try:resultblog_creation_crew.kickoff()print(\n------------------\n)print(## Crew Final Output ##)print(result)exceptExceptionase:print(f\nAn unexpected error occurred:{e})if__name____main__:main()五、总结复杂的问题往往超出了单一的基于LLM的智能体能力。一个孤独的智能体可能缺乏多样化、专业化的技能也无法获得处理多层面任务所需的特定工具。这种限制造成了瓶颈降低了系统的整体有效性和可伸缩性。因此处理复杂的、多领域的目标变得低效并可能导致不完整或次优的结果。多智能体协作模式通过创建一个由多个协作多智能组成的系统提供了一个标准化的解决方案。一个复杂的问题被分解成更小的、更易于管理的子问题。然后将每个子问题分配给具有解决该问题所需的精确工具和能力的专门多智能。这些多智能通过定义的通信协议和交互模式如顺序切换、并行工作流或分层委托一起工作。这种智能体的分布式方法创造了一种协同效应允许团队实现任何单一智能体无法实现的结果。经验法则当任务对于单个智能体来说太复杂并且可以分解为需要专门技能或工具的不同子任务时使用此模式。对于从不同的专业知识、并行处理或具有多个阶段的结构化工作流中受益的问题例如复杂的研究和分析、软件开发或创造性内容生成它是理想的。多智能体协作是指多个智能体协同工作以实现一个共同的目标这种模式利用了专门的角色、分布式任务和智能体间的通信协作可以采取顺序处理、并行处理、辩论或分层结构等形式这种模式非常适合需要不同专业知识或多个不同阶段的复杂问题。