通用人工智能(AGI)预计最快在五年内实现,而通用多智能体系统(GMAS)的研究已经广泛展开,在迅速发展的人工智能领域,通用多智能体系统(Generalist Multi-Agent Systems, GMAS)正逐渐成为解决复杂任务的一种强大工具。通用多智能体系统的核心理念是通过多个专门化的智能体相互协作,来完成通常需要人类执行的复杂任务。与单一智能体系统相比,多智能体系统具有更高的灵活性和适应性,能够更有效地分担任务和优化资源利用。
通用多智能体系统和通用人工智能(Artificial General Intelligence, AGI)之间有着密切的联系,但也存在显著的区别。AGI旨在开发一种能够在人类水平上完成任何任务的智能系统,其目标是实现全面的智能。而GMAS则更侧重于通过多个相互协作的专门化智能体来实现复杂任务的解决方案。尽管GMAS中的每个智能体并不具备AGI的全能性,但通过智能体间的协同合作,GMAS能够在特定领域表现出近似AGI的能力。
11 月 8 日,微软研究院AI前沿研究部门发表技术论文《Magentic-One: A Generalist Multi-Agent System for Solving Complex Tasks》,展示他们在 MAS 领域的最新研究,他们提出的Magentic-One是一个典型的通用多智能体系统,专为解决各种复杂的任务而设计。这个系统由多个专门化的智能体组成,其中每个智能体都具备特定的功能和能力。Magentic-One的设计目标是通过这些智能体的协同合作,增强人类的生产力,扩展知识边界,并在实际应用中展示强大的适应性和灵活性。
这篇论文介绍了Magentic-One的整体架构和工作流程,详细描述了各个智能体的功能和相互协作的机制。通过多个实验基准测试,Magentic-One展示了其在解决复杂任务方面的强大性能,并与当前最先进的系统进行比较,验证了其竞争力和通用性。Magentic-One、AutoGenBench 和 Magentic-One 的详细经验性能评估(包括消融和错误分析)可在此网页(https://github.com/microsoft/autogen/tree/main/python/packages/autogen-magentic-one)上找到。
Magentic-One的研究团队隶属于微软研究院AI前沿研究部门,这个团队汇集了来自不同领域的专家,包括人工智能、机器学习、数据科学和软件工程。主要研究人员包括Adam Fourney、Gagan Bansal、Hussein Mozannar和Cheng Tan,他们在AI系统的开发和优化方面具有丰富的经验。高级领导团队成员如Ahmed Awadallah、Ece Kamar、Rafah Hosn和Saleema Amershi则负责整体研究方向和战略制定。这支多学科的研究团队致力于开发能够解决复杂任务的通用多智能体系统,他们的工作不仅推动了AI技术的发展,也为未来智能系统的应用奠定了坚实的基础。Magentic-One作为他们的最新成果,展示了通用多智能体系统在实践中的巨大潜力和应用价值。
今天我们通过对Magentic-One的深入解读,可以更好地理解这一前沿技术的核心理念和实现方式,以及它在推动智能系统发展中的重要作用。
相关工作
在人工智能领域,单一代理方法和多代理方法各有其优缺点和应用场景。近年来,随着大规模语言模型(LLMs)如GPT-4的进展,单一代理方法吸引了大量关注。这些现代代理在多个领域表现出色,例如软件开发、网页操作、图形用户界面操作等。常见策略包括为LLMs配备代码执行和网页浏览等工具,以及通过链式思考(CoT)、反应式策略(ReACT)和少样本提示等方法改进推理和规划能力。随着多模态模型的发展,代理还可以在视觉领域操作,通过自我批评和推理时搜索来提高多步任务的可靠性。
多代理方法则提供了一种模块化和灵活的方式来处理复杂任务。每个代理通常拥有不同的工具或在团队中扮演不同角色,例如WebPilot和Sibyl分别采用了全局和局部优化的多代理系统,以及辩论式陪审机制。相比于单一代理,多代理系统在开发简易性、成本和性能方面具有显著优势。将技能组织到不同的代理中可以简化开发,类似于面向对象编程,模块化设计提高了代理的可重用性和扩展性。
在代理评估方面,文献中提出了许多基准测试,以评估代理在多步任务中的表现。由于网络的普遍性,许多基准测试包含或专门考虑基于浏览器的任务,这些任务依赖于真实网站的非交互性轨迹、合成网站的交互或公共互联网的真实网站。例如,GAIA、AssistantBench和WebArena分别针对通用AI助理的多模态问答任务、多步推理任务和合成网页环境中的复杂任务。评估这些基准测试时,Magentic-One展示了其在解决复杂任务中的强大性能。
Magentic-One 的评估方法包括使用AutoGenBench工具,该工具提供了严格控制初始条件的环境,确保所有任务独立执行并避免危险的副作用。在GAIA、AssistantBench和WebArena三个基准测试中的表现证明了Magentic-One在不同任务环境中的通用性和竞争力。
Magentic-One 概述
Magentic-One的总体架构
Magentic-One是一个通用的多智能体系统,专为自主完成复杂任务而设计。其架构基于多智能体合作,通过多个专门化的代理相互协作来完成通常需要人类执行的任务。核心组件包括一个协调员(Orchestrator)和几个专门化的代理,如WebSurfer、FileSurfer、Coder和ComputerTerminal。协调员负责整体任务的规划、分配和进度跟踪,而各个代理则承担特定的子任务。
主要组件和代理描述
协调员(Orchestrator) 协调员是Magentic-One的核心代理,负责创建任务计划、分配子任务、跟踪任务进度并在遇到错误时重新规划。它通过维护两个结构化账本来实现这一点:任务账本(包含任务分解和计划)和进度账本(包含当前进度和任务分配)。在任务执行过程中,协调员不断调整计划以确保任务顺利完成。
WebSurfer是一个基于LLM的高专业化代理,擅长操作和管理Chromium浏览器的状态。它能够处理网页导航、点击链接、滚动视口等任务。在执行任务时,WebSurfer会将自然语言请求映射到具体的操作,并报告网页的新状态,包括截图和文字描述。
FileSurfer与WebSurfer类似,但它指挥的是一个基于Markdown的文件预览应用程序。FileSurfer支持多种文件类型的预览和导航,如PDF、Office文档、图像、视频和音频等。它能够执行常见的文件操作,如列出目录内容和导航文件夹结构。
Coder是一个专门用于编写代码的代理,它通过系统提示生成新的程序或调试先前的代码。Coder能够根据其他代理收集的信息创建新代码,并在必要时进行代码分析和调试。
ComputerTerminal提供对控制台Shell的访问,执行Coder编写的程序或运行Shell命令,如下载和安装新的编程库。它使团队能够扩展可用的编程工具集,以满足任务需求。
工作流程
Magentic-One的工作流程分为两个循环:外循环和内循环。
图1:Magentic One具有一个实现两个循环的Orchestrator代理:一个外循环和一个内循环。外循环(带有实心箭头的浅色背景)管理任务分类账(包含事实、猜测和计划)。内部循环(深色背景,带虚线箭头)管理进度分类账(包含当前进度、分配给代理的任务)。
外循环 外循环由初始任务提示触发。协调员创建任务账本,记录任务分解和计划。它反思任务请求并预先填充任务账本中的重要信息,如已知事实、需要查找的事实和有根据的猜测。这些初步猜测帮助协调员在任务执行过程中减少系统对错误或幻觉的敏感性。在填充完任务账本后,协调员制定逐步计划,并将任务分配给具体的代理。
内循环 内循环在每次迭代中,由协调员回答五个关键问题以创建进度账本:任务是否完成?团队是否在循环?是否有前进的进展?下一步由哪个代理执行?应该向该代理提出什么指令?协调员根据任务账本和当前代理对话的上下文进行判断,并选择合适的代理及其指令。如果发现团队卡住或停滞,协调员会中断内循环并进行反思和自我改进步骤,调整计划并启动新的内循环周期。
通过这种嵌套循环行为,Magentic-One能够高效完成复杂任务,展示了其在多代理合作中的强大性能和灵活性。
实验设置与结果
为了评估Magentic-One的性能,研究团队设计了一系列严格的实验,这些实验使用AutoGenBench工具进行了详细的设置和测试。通过对多个基准测试的评估,展示了Magentic-One在解决复杂任务中的强大能力。
AutoGenBench和实验设置
AutoGenBench是一个用于评估智能体系统的工具,能够在严格控制的环境中运行任务,确保每个任务独立执行,并避免潜在的危险副作用。实验环境中的所有任务都在新初始化的Docker容器中运行,以保证一致性和安全性。实验结果记录在主机上的中心位置,并通过度量脚本进行分析。AutoGenBench还允许同时启动多个任务以加快评估速度,并计算多次运行之间的方差。
测试环境和基准测试
研究团队选择了三个基准测试来评估Magentic-One的性能:GAIA、AssistantBench和WebArena。这些基准测试涵盖了复杂的多步任务,涉及使用网页浏览器、处理文件等工具执行任务。
GAIA基准测试:GAIA是一项针对通用AI助理的基准测试,包含465个多模态问题-答案对,这些问题涉及多个步骤和工具的使用,如网页导航和文件处理。GAIA分为开放验证集和测试集。
AssistantBench基准测试:AssistantBench设计类似于GAIA,包含214个问题-答案对,这些问题需要多步推理和真实世界网站的导航。AssistantBench的答案通过字符串匹配进行评估,并引入了一个更柔和的准确性指标,提供部分分数。
WebArena基准测试:WebArena涉及在合成的网络环境中执行复杂任务,包含812个任务,分布在五个主要网站类别和一个跨网站类别。这些任务要求多步规划和执行,目标是与多个功能齐全的合成网站交互。
实验配置
为了确保公平性和一致性,Magentic-One在所有三个基准测试中使用相同的配置。此外,每个基准测试使用唯一的最终提示,确保答案以特定格式表达。WebArena的设置包括登录网站的指令,并解决Postmill网站作为Reddit的问题。
结果与分析
研究团队对三个基准测试的结果进行了详细分析,展示了Magentic-One在复杂任务中的强大性能。
GAIA基准测试
在GAIA测试中,Magentic-One展示了其在多步任务中的强大能力。GAIA的任务需要使用网络导航、编码和推理等技能,这些任务的完成率和准确性展示了Magentic-One在处理复杂问题上的优势。
图2:Magentic One多代理团队完成GAIA基准测试中复杂任务的示意图。Magentic One's Orchestrator代理创建计划,将任务委托给其他代理,并跟踪目标进展,根据需要动态修改计划。
编排器可以将任务分别委托给FileSurfer代理读取和处理文件,WebSurfer代理操作web浏览器,或Coder或计算机终端代理编写或执行代码。
AssistantBench基准测试
AssistantBench的结果表明,Magentic-One在处理需要多步推理和真实网站导航的任务时表现出色。AssistantBench的任务设计要求代理具备强大的网页导航和多步推理能力,Magentic-One在这些任务中的表现验证了其综合能力。
WebArena基准测试
在WebArena测试中,Magentic-One展示了在合成网络环境中的强大适应能力。WebArena的任务涉及多个网站和复杂的多步规划,Magentic-One在这些任务中的表现与其他最先进系统相当,展示了其在多代理协作中的强大性能。
按任务难度和领域的性能表现
通过按任务难度和领域分析性能,研究团队发现Magentic-One在处理难度大的任务时表现更好,而在处理简单任务时略逊。这表明Magentic-One在长时间多步骤任务中具有显著优势,但在短时间几步任务中可能需要进一步优化。
表1:Magentic One在GAIA、WebArena和AssistantBench测试集上的性能与相关基线的比较。对于每种方法,研究团队在括号中注明用于获得结果的LLM。报告的数字表示任务完成率的确切百分比。
所有基线结果均来自相应的基准排行榜。研究团队没有在WebArena上报告Magentic One(GPT-4o,o1)的结果,因为o1模型拒绝完成26%的WebArena Gitlab任务和12%的购物管理任务,因此无法进行公平的比较。o1拒绝的一个示例任务是“创建新组”webagent
我们使用Wald区间法将95%的误差条标记为±。根据α=0.05的z检验,研究团队强调了与Magentic One(GPT-4o,o1)在统计上具有可比性的结果,以及在统计上超过研究团队表现的粗体结果。
消融实验
为了进一步理解Magentic-One中各个代理和组件的贡献,研究团队进行了消融实验,移除了个别代理并观察其对整体任务性能的影响。
图3:GAIA开发集上Magentic One(GPT-4o)不同消融的性能,用于测量正确任务的数量。在第一次消融中,研究团队用一个简单的编排器替换了编排器。在以下消融中,他们从Magentic One中移除单个试剂,标记为“-agent”。消融表明,所有试剂都是实现最佳性能所必需的。
关键代理和组件的贡献
消融实验结果表明,协调员的账本对Magentic-One的性能至关重要,移除账本后性能下降31%。此外,所有四个工作代理(WebSurfer、FileSurfer、Coder和ComputerTerminal)都对性能有显著贡献,移除任何单个代理都会导致性能下降。
实验还发现,Magentic-One的代理在某些情况下通过创造性的方法弥补了缺失的功能。例如,当某些代理不可用时,剩余代理通过替代方案解决任务,这展示了Magentic-One的灵活性和适应性。
实验结果显示,Magentic-One在复杂任务中的性能优异,尤其在需要多步骤、多工具使用的任务中表现突出。消融实验进一步验证了Magentic-One中各个代理和组件的重要性,表明这些代理在实现整体系统性能中的关键作用。
通过这些实验和分析,研究团队展示了Magentic-One作为通用多智能体系统在解决复杂任务中的强大能力和适应性。Magentic-One不仅在多个基准测试中表现出色,还展示了其在实际应用中的巨大潜力。
错误分析
Magentic-One系统虽然在解决复杂任务方面展现了强大能力,但在实际应用过程中仍然会遇到一些失败模式。为了深入理解这些失败模式,研究团队进行了详细的错误分析,通过自动化日志分析方法,识别错误类型与分布,并探索改进机会。
失败模式分析
在任务执行过程中,Magentic-One的各个代理生成了大量的详细日志。通过手动检查这些日志,研究团队能够发现代理在任务执行中的错误、错失机会、死胡同以及运行时错误。许多错误具有系统性,表明团队有改进的机会。尽管这种方法能够提供有价值的洞察,但手动检查冗长的日志既耗时又费力。
自动化日志分析方法
为了解决手动检查的效率问题,研究团队开发了自动化日志分析方法。这个方法旨在自动识别日志中的主要错误和低效行为,从而发现改进的机会。具体而言,研究团队采用GPT-4o模型对团队日志进行提炼,生成详细的事后分析文档,试图确定失败的根本原因及其促成因素。随后,每个根本原因文档会被自动分配一些描述性代码(标签),初始标签多样性较高,然后通过GPT-4o进行聚类,将相似的标签合并为更统一的集合。通过迭代重复这个过程,直到标签稳定或达到最大迭代次数。
错误类型与分布
通过自动化日志分析方法,研究团队识别了多种常见的错误类型,并统计了这些错误的分布情况。以下是一些主要的错误类型:
持久低效行为:代理在遇到失败后反复进行无效行为而不调整策略,导致延误和次优的任务结果。例如,代理可能不断尝试同样不成功的网页搜索,而不修改查询,或反复访问错误的数据集而不做必要的调整。
验证步骤不足:任务在没有彻底验证相关数据的情况下被标记为完成,导致不可靠或错误的结果。例如,接受最终输出而不验证其正确性,可能引入错误到后续分析或决策过程中。
低效的导航尝试:代理因导航不正确或低效而导致的错误,导致错过目标或任务完成时间延长。代理经常误解界面布局,导致不必要的在标签或菜单间循环。例如,代理可能反复点击多个标签寻找“设置”页面,造成延迟。
通过统计这些错误的分布情况,研究团队能够更好地了解代理在任务执行中常见的失败模式和薄弱环节。
图4:Magentic One行为的错误分析。
改进机会
针对上述识别出的错误类型,研究团队探索了一些改进机会,以提高Magentic-One的整体性能。
优化策略调整:为代理设计更灵活的策略调整机制,当遇到失败时,代理能够快速调整策略,而不是反复进行无效尝试。这可以通过引入更多智能化的决策算法来实现,使代理能够在不同情境下选择最优策略。
增强数据验证:在任务执行过程中,引入更多的数据验证步骤,确保每个任务阶段的结果都经过彻底验证,从而提高最终结果的可靠性。这可以通过增加交叉验证和结果检查机制来实现。
改进导航策略:为代理提供更智能的导航策略,减少因导航不正确或低效导致的错误。可以通过引入更多上下文感知的导航算法,使代理能够更好地理解界面布局和任务需求,从而优化导航路径。
提高协作效率:在多代理系统中,进一步优化代理之间的协作机制,确保每个代理在执行任务时能够有效利用其他代理的能力和资源,减少重复劳动和无效操作。这可以通过改进协调员的任务分配和进度跟踪算法来实现。
通过实施这些改进措施,Magentic-One可以进一步提高在复杂任务中的性能和可靠性,更好地应对实际应用中的挑战。
讨论
在人工智能领域,多智能体系统因其模块化和协作能力,展示出在处理复杂任务方面的巨大潜力。Magentic-One作为一个通用多智能体系统,通过多个专门化的智能体协同工作,解决了传统单智能体系统难以应对的任务。然而,尽管多智能体范式具有诸多优势,它也面临一些挑战和局限性,需要进一步的研究和优化。
多代理范式的优势与挑战
多智能体系统的主要优势在于其灵活性和模块化设计。通过将不同功能分配给专门化的智能体,每个智能体能够针对特定任务进行优化,从而提高整体系统的效率和适应性。例如,Magentic-One中的WebSurfer、FileSurfer、Coder和ComputerTerminal智能体各自负责特定任务,协调员(Orchestrator)则负责整体任务的规划和协调。这种设计不仅简化了系统开发,还提高了智能体的可重用性和扩展性。
然而多智能体系统也面临一些挑战。首先是协调和通信的复杂性。多个智能体需要高效地协作,并共享信息以完成任务。这要求强大的协调机制和通信协议,以确保智能体间的无缝协作。其次,多智能体系统的性能评估和优化也更加复杂,因为需要考虑每个智能体的独立性能以及它们的协同效果。
当前局限性
尽管Magentic-One展示了在解决复杂任务方面的强大能力,但它仍存在一些局限性。
编码能力有限 Magentic-One的Coder智能体在处理编码任务时,采用的是每次请求生成一个新的独立Python程序的方法。当需要调试之前的代码时,Coder必须重新生成整个代码列表,这显然不是最优设计。这种方法导致了两个重要的限制:一是Coder不适合处理现有的复杂或多文件代码库;二是Coder有时会因为依赖之前定义的函数而失败。一个可能的改进是采用类似Jupyter Notebook的设计,使后续调用能够添加到现有的笔记本单元格中。
固定团队成员 Magentic-One的组成固定为五个智能体:协调员、WebSurfer、FileSurfer、Coder和ComputerTerminal。当某些智能体不需要时,它们可能会分散协调员的注意力,降低整体性能。相反,当任务需要额外的专业知识时,这些智能体却不可用。未来的改进方向可以是根据任务需求动态添加或移除智能体。
有限的学习能力 尽管Magentic-One能够基于单个任务尝试中的试错调整其策略,但这些见解在任务之间无法共享。在某些任务中,这导致了效率低下和重复劳动。解决这个问题的关键是引入长期记忆,使系统能够在任务之间积累和应用经验。
风险与缓解
随着智能体系统的发展和应用,风险管理变得尤为重要。研究团队在实验中识别和缓解了一些风险,同时也预见了未来可能面临的新风险。
在实验过程中,研究团队观察到一些潜在风险。例如,智能体可能会反复尝试登录某些网站,导致账户被暂时锁定,甚至尝试重置账户密码。此外,智能体有时会错误地将WebArena中的Postmill网站识别为Reddit,并尝试访问真正的Reddit网站。这些风险通过严格的容器化运行、网络层限制和实时监控得到了有效的缓解。
未来随着智能体在公共互联网中的操作,可能会面临与人类类似的网络钓鱼、社会工程和错误信息攻击。智能体可能无法正确识别某些钓鱼网站或错误信息,这可能导致用户数据泄露或任务执行错误。此外,攻击者可能会利用智能体的使用模式,通过精心设计的指令或注入攻击,使智能体执行不良行为。
为应对上述风险,研究团队提出了几项可能的缓解措施。例如,增加人工监督,为智能体配备验证外部信息的工具,如检查URL中的错字和确保TLS证书,以及在模型的后训练和指令调整中包括网络钓鱼拒绝示例和其他网络智慧技能。另一个重要的缓解措施是为智能体提供理解动作可逆性的能力,特别是在删除文件、发送电子邮件和提交表单等不可逆操作时,系统应设计为暂停并寻求人类输入。
结论
尽管Magentic-One在解决复杂任务方面展示了强大能力,但仍面临一些挑战和局限性。通过持续的研究和优化,特别是在编码能力、团队成员动态调整和长期学习能力方面,Magentic-One有望进一步提升其性能和适应性。同时,通过有效的风险管理和缓解措施,可以确保智能体系统在实际应用中的安全性和可靠性。这些努力将推动通用多智能体系统的发展,为未来智能系统的广泛应用奠定坚实基础。(END)
参考资料:
1.https://arxiv.org/pdf/2411.04468
2.https://github.com/microsoft/autogen/tree/main/python/packages/autogen-magentic-one
波动世界(PoppleWorld)是噬元兽数字容器的一款AI应用,基于意识科学和情绪价值的理论基础,由AI技术驱动的帮助用户进行情绪管理的工具和传递情绪价值的社交产品。基于意识科学和情绪价值的理论基础,波动世界将人的意识和情绪作为研究和应用的对象,探索人的意识机制和特征,培养人的意识技能和习惯,满足人的意识体验和意义,提高人的自我意识、自我管理、自我调节、自我表达和自我实现的能力,让人获得真正的自由快乐和内在的力量。波动世界将建立一个指导我们的情绪和反应的价值体系。这是一款针对普通人的基于人类认知和行为模式的情感管理Dapp应用程序。
加入AI交流群请扫码加微信