Git地址: github.com/microsoft/a…
摘要
Magentic-One是一个创新的开源多智能体系统,它通过模拟人类的规划和执行能力来解决复杂任务。该系统的核心是一个名为Orchestrator的智能体,它不仅负责制定和调整任务执行计划,还监控进度并指导其他智能体。Magentic-One在多个基准测试中展现了与最新技术相竞争的性能,这些测试包括GAIA、AssistantBench和WebArena,覆盖了从网络浏览到文件处理再到代码编写和执行的多样化任务。
关键词
多智能体系统、复杂任务、自主规划、错误恢复、模块化设计
1. 引言
随着人工智能和基础模型的快速发展,我们越来越接近实现能够代表人类完成复杂任务的智能体系统。这些系统不仅能提高我们的生产力,还有潜力彻底改变我们的生活方式。Magentic-One正是在这样的愿景下诞生的,它通过多智能体合作,展示了在多样化任务中的强大性能和泛化能力。
2. 相关工作
- 单智能体方法:介绍了基于大型语言模型(LLMs)的自主智能体的发展,这些智能体在软件开发、网络操作等领域展现出了显著技能。
- 多智能体方法:多智能体范式提供了一种模块化和灵活的方法来处理复杂任务,每个智能体可以访问不同的工具或在团队中扮演不同的角色。
- 智能体评估:为了评估智能体在一般多步骤任务上的表现,文献中提出了许多基准测试,这些基准测试通常涉及与真实网站的交互,能够更真实地反映现实世界的任务。
3. 问题设置
Magentic-One的目标是构建一个能够跨多个领域解决复杂任务的通用智能体系统。复杂任务指的是那些需要规划、行动、观察和反思的迭代过程,可能包括执行代码、使用工具或与环境互动。任务的输入包括一个明确的文本描述和可能的文件附件,如图像、数据集或音频剪辑。任务的目标是产生一个与期望输出相匹配的输出,例如,对于一个事实核查任务,输出可能是一个标记每个声明正确与否的字符串。评估函数用于比较期望输出和实际输出的一致性。
4. Magentic-One概览
Magentic-One基于多智能体架构,其中Orchestrator智能体负责任务分解和规划,指导其他智能体执行子任务,跟踪整体进度,并在需要时采取纠正措施。系统的设计允许智能体在动态变化的环境中自主适应和行动。Magentic-One的智能体包括:
- Orchestrator:负责高层次规划和任务分解。
- WebSurfer:专门用于浏览网页并执行相关操作的智能体。
- FileSurfer:用于处理和读取本地文件的智能体。
- Coder:负责编写和调试代码的智能体。
- ComputerTerminal:提供执行代码和命令的环境。
这种多智能体的设计使得Magentic-One能够高效地解决开放式问题。
5. 实验
Magentic-One在GAIA、AssistantBench和WebArena三个基准测试中展现了与最新技术相竞争的性能。通过AutoGenBench工具,系统的性能得到了严格的评估。实验结果显示,Magentic-One在GAIA的任务完成率为38%,在WebArena为32.8%,在AssistantBench上达到了27.7%的准确率。这些结果表明Magentic-One在复杂任务处理上的有效性和通用性。
6. 讨论
讨论了多智能体设计的优势,包括开发的便捷性和系统的灵活性。Magentic-One的模块化设计允许快速适应和扩展,提供了比单一智能体系统更强的性能。论文还指出了当前系统的局限性,包括高成本、延迟和有限的模态支持等。此外,智能体系统的风险和潜在的社会影响也被讨论,强调了在设计智能体时需要考虑的安全性和伦理问题。
7. 结论
Magentic-One代表了智能体系统在解决开放式任务方面的一个重要发展,展现了强大的性能和泛化能力。通过开源实现,Magentic-One为未来的智能体研究和应用提供了一个重要的基础。论文强调了继续改进和扩展智能体系统的重要性,以应对日益复杂的任务和环境。
注意
使用Magentic-One涉及与为人类设计的数字世界的互动,这带来了固有的风险。为了最小化这些风险,请考虑以下预防措施:
- 在Docker容器中运行所有任务以隔离代理并防止直接系统攻击;
- 使用虚拟环境运行代理,防止它们访问敏感数据;
- 在执行期间和执行后密切监控日志以检测和减轻风险行为;
- 在人类监督下运行示例以监督代理并防止意外后果;
- 限制代理对互联网和其他资源的访问以防止未经授权的行动;
- 确保代理无法访问可能被泄露的敏感数据或资源,不要与代理共享敏感信息;
- 代理可能会尝试招募人类帮助或在没有人类参与的情况下接受cookie协议等风险行为;
- 始终确保代理在受控环境中受到监控并运行,以防止意外后果;
- Magentic-One可能容易受到网页提示注入攻击的影响;