微软近日宣布开源其最新的多Agent系统——Magentic-One,它能够轻松应对法律、医疗、金融、教育等多个行业的日常工作任务。
例如,Magentic-One能够在线浏览,自动发现论文中未被引用的新研究,并对其进行总结,最后将这些信息写入txt文件中。此外,它还能对大量金融数据进行深度分析,为金融机构制定风险管理策略,包括市场波动和企业财务数据,同时预测潜在的安全风险。
Magentic-One的核心功能
Magentic-One基于多智能体架构,由5个层级组成,各层级协同工作,以提高任务的自动解析和执行效率:
- Orchestrator:负责任务分解、规划、指导其他智能体执行子任务、跟踪整体进度,并在必要时采取纠正措施。
- WebSurfer:利用AI大模型操作和解析网页浏览器内容,执行特定任务。
- FileSurfer:基于大模型,读取多种本地文件并执行预定任务,如整合和重写。
- Coder:基于大模型,主要负责编写、分析信息和创建代码。
- ComputerTerminal:主程序控制台,执行Coder编写的程序,并安装新的编程库。
当Magentic-One接收到一个自动化任务时,Orchestrator会将任务分解为多个子任务,并明确各子任务的目标和流程。例如,在分析网站数据并编写报告的任务中,Orchestrator会指派WebSurfer获取网站数据,FileSurfer读取本地文档,Coder编写报告,而ComputerTerminal则运行数据处理程序。
WebSurfer会根据Orchestrator的要求,执行搜索、点击链接、与在线元素交互等操作,收集相关数据。FileSurfer则读取本地文件,提取有用信息。这些数据汇总到Coder智能体后,Coder会编写代码进行数据处理,并根据任务要求创建新内容。
ComputerTerminal提供控制台功能,执行Coder编写的程序,并在需要时安装新的编程库。
架构及动态适应能力
这个系统基于多Agent架构。在这个架构中,有一个主要的Agent(称为Orchestrator)负责高级规划、指导其他Agent以及跟踪任务进度。
多Agent架构 :Magentic-One工作在一个多Agent架构中,这意味着有多个Agent协同工作来完成任务。
Orchestrator Agent:在这个架构中,有一个领导Agent(Orchestrator),它负责高级规划、指导其他Agent以及跟踪任务进度。
任务规划:Orchestrator首先创建一个计划来应对任务,这个计划包括收集所需的事实和基于经验的猜测,这些信息被记录在一个维护的“任务记录册”(Task Ledger)中。
进度跟踪:在计划的每一步,Orchestrator会创建一个“进度记录册”(Progress Ledger),在这个记录册中,它会自我反思任务的进度,并检查任务是否已经完成。
任务分配:如果任务尚未完成,Orchestrator会将子任务分配给Magentic-One中的其他Agent来完成。
进度更新:一旦被分配的Agent完成了它的子任务,Orchestrator就会更新进度记录册,并继续这个过程,直到整个任务完成。
计划调整:如果Orchestrator发现在足够多的步骤中没有取得进展,它可以更新任务记录册并创建一个新的计划。
工作循环:Orchestrator的工作被分为两个循环:外循环用于更新任务记录册,内循环用于更新进度记录册。
Magentic-One的智能体能够自主适应网络和文件系统环境的明显变化。例如,如果网络环境变化影响WebSurfer获取数据,它可以尝试新的连接方式或数据获取路径。同样,如果本地文件系统结构或内容发生变化,FileSurfer能够感知并调整策略,确保系统有效协同工作。
开源信息
Magentic-One的开源地址为:https://github.com/microsoft/autogen/tree/main/python/packages/autogen-magentic-one。