AI被人类骗走34万!用于解决复杂任务的通用多智能体系统#Magentic-One

共 3372字,需浏览 7分钟

 ·

2024-12-02 21:54



Freysa AI最初被设计为在任何情况下都不能批准资金转移。然而,经过482次尝试后,一位挑战者成功说服了AI转移了近5万美元(约33万元人民币)。这一事件引发了人们对AI安全性的广泛关注。
随着技术的发展,我们正步入多智能体的发展阶段,高风险也伴随而来微软在 11 月 4 日的一篇技术文章中介绍了多智能体系统,为我们展示了当前Agent的能力。我们先来看下官方举例的这个任务。


图片展示了一个自动化任务流程图,其中包含多步骤的代码执行过程。任务是从图片中提取Python脚本,运行代码,并访问获取到的URL,从URL页面中提取C++源码,然后编译运行C++代码并返回结果。

步骤包括: 
  • FileSurfer:访问图片并提取Python代码。

  • Coder:分析提取的Python代码。

  • 计算机终端:执行Python代码生成URL。

  • WebSurfer:导航到URL并提取C++代码。

  • Coder:分析提取的C++代码。

  • 计算机终端:编译成功并执行C++代码,返回结果。


最终,任务完成并返回了结果。

shadow:

确实有点复杂,如果是人来操作,估计也是要非老半天,如果不熟悉其中一门编程语言(尤其是C++),估计耗时更长。


这个系统是如何构建的?微软发布了其在AutoGen上的开源实现,是通用多智能体系统,用于解决各种领域的开放式Web和基于文件的任务。
人工智能的未来是Agent的
人工智能系统正在从对话发展到完成任务,从用AI推荐晚餐选项,发展到通过Agent可以自动下订单和安排送货,从总结论文,发展到在文献中主动搜索和组织相关研究。
现代人工智能Agent能够感知、推理并代表人类采取行动,在软件工程、数据分析、科学研究和网络访问等领域表现出色。然而,要完全实现能够提高我们的生产力和改变我们生活的Agent系统,我们需要在通用Agent系统方面取得进展。这些系统必须可靠地完成人们在日常生活中遇到的各种场景中复杂的多步骤任务。
Magentic-One
一种高性能通用Agent系统,旨在解决复杂的场景多步骤任务。Magentic-One采用多Agent架构,其中主Agent指挥其他四个Agent解决任务。Agent计划、跟踪细节并重新计划以从错误中恢复,同时指挥专门的Agent执行操作Web浏览器、浏览本地文件或编写和执行Python代码等任务。
Magentic-One 在多个具有挑战性的Agent基准上实现了与最先进技术相当的性能。基于AutoGen构建(在新标签页中打开),Magentic-One 的模块化多Agent设计比单Agent系统具有诸多优势。通过将不同的技能封装在单独的Agent中,它简化了开发和复用,类似于面向对象编程。Magentic-One 的即插即用设计进一步支持轻松适应和扩展,允许添加或删除Agent而无需重新设计整个系统——这与单Agent系统不同,后者通常会面临工作流程不灵活的问题。

风险

虽然Magentic-One表现出了强大的通用能力,但它仍远未达到人类水平,而且可能会犯错误。此外,随着Agent系统变得越来越强大,它们的风险会越来越大(例如采取不良行动或实施恶意)。
就像最近的 Freysa AI 34万 事件。
说回Agent的风险,一个重要的方向是让Agent具备评估其行为可逆性的能力——区分哪些行为容易逆转、哪些行为需要努力以及哪些行为不可逆转。
删除文件、发送电子邮件或填写表格等操作通常很难或不可能中断。因此,系统应设计为在暂停之前继续执行此类高风险操作并寻求人工输入。

工作原理

Magentic-One 具有 主Agent,该Agent可实现两个循环:外循环和内循环。外循环(带有实线箭头的浅色背景)管理任务(包含事实、猜测和计划),内循环(带有虚线箭头的深色背景)管理进度(包含当前进度、分配给Agent的任务)。

Magentic-One 的工作基于多Agent架构,其中首席 Orchestrator Agent 负责高级规划、指导其他Agent并跟踪任务进度。Orchestrator 首先制定一个计划来解决任务,在维护的任务中收集所需的事实和有根据的猜测。
在计划的每个步骤中,Orchestrator 都会创建一个进度,在其中自我反思任务进度并检查任务是否完成。如果任务尚未完成,它会将子任务分配给 Magentic-One 的其他Agent之一来完成。在分配的Agent完成其子任务后,Orchestrator 会更新进度并继续执行,直到任务完成。如果 Orchestrator 发现进度不够,它可以更新任务分类并创建新计划。如上图所示;Orchestrator 的工作因此分为一个外循环(更新任务分类)和一个内循环(更新进度)
Magentic-One 由以下成分组成:
  • 协调者 Orchestrator:负责任务分解、规划、指挥其他Agent执行子任务、跟踪总体进度并根据需要采取纠正措施

  • WebSurfer:基于 LLM 的Agent,能够熟练地指挥和管理基于 Chromium 的 Web 浏览器的状态。对于每个请求,WebSurfer 都会执行导航(例如,访问 URL、执行搜索)、与网页交互(例如,单击、键入)和阅读操作(例如,总结、回答问题)等操作。然后,它会报告网页的新状态。WebSurfer 依靠浏览器的可访问性树和标记集提示来执行其任务。

  • FileSurfer:基于 LLM 的Agent,可命令基于 markdown 的文件预览应用程序读取本地文件。它还可以执行常见的导航任务,例如列出目录内容并浏览它们。

  • 程序员:基于 LLM 的Agent,专门负责编写代码、分析从其他代理收集的信息并创建新的任务。

  • ComputerTerminal:提供对控制台 shell 的访问,用于执行程序和安装新的代码库。

总的来说,Magentic-One 的Agent为 Orchestrator 配备了所需的工具和功能,以解决各种开放式问题,并自主适应和运行在动态且不断变化的网络和文件系统环境中。
虽然所有Agent使用的 LLM 都是 GPT-4o,但 Magentic-One 与模型无关,允许集成其他模型以支持不同的功能。对于 Orchestrator,我们建议使用强推理模型,例如 GPT-4o。在不同的配置中,我们还尝试将 OpenAI o1-preview 用于 Orchestrator 的外循环和 Coder,而其他代理则继续使用 GPT-4o。



如果你想用多智能体完成你的某项工作(也许是毕业论文? 

欢迎加入#AI编程 社群

从初学者到专家:哪款AI编程工具最适合你?


备注:AI编程社群

原文:https://www.microsoft.com/en-us/research/articles/magentic-one-a-generalist-multi-agent-system-for-solving-complex-tasks


浏览 55
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报