一张图讲清楚:Manus的技术架构

作者:老张的求知思考世界

自Manus于2025年3月5日发布以来,截至今天已经过了一个多月。毕竟是号称全球首个具备"自主规划、执行复杂任务、直接交付完整成果"的AI应用,网上关于它是否真的具备所述能力的讨论从未停止。

查阅了很多资料后,我尝试用一篇文章对Manus技术架构的功能特性、核心组件以及技术实现原理进行拆解。

一、Manus的主要特点

  • Manus是一个AI代理工具。
  • 主要基于多智能体(Multiple Agent)架构。
  • Manus的任务执行在独立的虚拟机上运行。
  • 通过规划、执行和验证三个子模块分工协作。

具体来说,Manus的核心功能由多个独立模型共同协作完成,这些模型分别专注于不同领域,比如数据分析、自然语言处理、代码编译生成、深度逻辑推理。

二、Manus的核心组件

  • 虚拟机:云端运行,资源可扩展性较强,用户可以实时查看任务进度。

  • 生成物:Manus支持多种类型的结果输出,比如文本、表格、报告、视频等。

  • 计算资源:主要用于生成算法、代码,以便于对用户输入进行分词、分析并进行具体的任务执行。

  • 内置Agent:Manus内置多个智能体,主要用于用户任务拆解、执行,通过多智能体协作来执行任务。

三、Manus的工作流程

1、意图识别

  • 通过用户输入的Prompt,从中提取关键词。
  • 通过对关键词的分析,明确要执行的任务类型。
  • 引导用户补充其他信息,以便于进一步明确需求。

2、任务初始化

  • 创建本次任务的文件夹(相关信息都汇总写入)。
  • 启动本次任务执行的隔离环境(云端虚拟机/容器)。
  • 为本次任务执行分配所需资源,并进行环境初始化配置。

3、任务步骤规划

  • 利用深度推理模型,将任务拆解为具体的执行步骤。
  • 将拆解出来的任务执行步骤信息,统一写入todo.md文件。
  • 对任务文件实时跟踪,便于及时掌握任务执行进度和状态。

4、任务执行过程

  • 通过function call调度专用智能体按步骤执行任务。
  • 将任务执行过程相关数据和执行结果写入任务文件夹。
  • 主线程更新任务状态,根据任务进度调度智能体执行后续步骤。

5、结果归纳整理

  • 汇总任务文件夹中的所有执行结果数据。

  • 根据用户需求和任务数据生成最终结果。

  • 提供任务产出结果(预先设定的结果类型)供用户浏览下载。

四、Manus的专用智能体

1、Search Agent

  • 调用搜索API获取结果列表。
  • 使用无头浏览器模拟网页浏览。
  • 结合多模态模型提取有效信息。
  • 通过点击和滚动操作获取更多内容。

2、Code/Data-Analysis Agent

  • 根据需求创建任务。
  • 生成代码并执行任务。
  • 保存任务执行的结果。
  • 提供任务结果预览功能。

五、Manus的技术实现架构

1、官方技术架构(较为复杂)

2、抽象后的技术架构(直观易懂)

在Manus的工具调用链中,主要使用了三个工具,分别是:

  • vscode - python:生成代码。
  • chrome - browser use:操作界面,无头模式执行任务。
  • Linux sandbox - computer use:用户任务的执行环境。

Manus本质是上一个AI应用,即通过工作流(事件流)调度多个智能体,完成用户需求的复杂任务

换一种描述方式,Manus其实是一个长任务智能体,即通常需要较长步骤和较多时间才能完成任务,因此需要通过工作流调度多个智能体来进行AgentFlow编排。

长任务智能体主要有以下两种类型:

  • Copilot类型:人工可以进行干预,允许人工修改参数和参考资料,甚至决定路由。比如Flowith(oracle模式)。
  • Agentic类型:追求更高的自动化程度,极少需要人工干预。典型的有autogpt、Manus、gemini deep research。

关于AI Agent的发展历史,由于篇幅较长,我们后面再聊。

相关推荐
Mintopia15 分钟前
计算机图形学学习指南
前端·javascript·计算机图形学
Mintopia15 分钟前
three.js 中的动画(animation)
前端·javascript·three.js
AI大模型顾潇17 分钟前
[特殊字符] Prompt如何驱动大模型对本地文件实现自主变更:Cline技术深度解析
前端·人工智能·llm·微调·prompt·编程·ai大模型
一颗不甘坠落的流星24 分钟前
【JS】计算任意字符串的像素宽度(px)
javascript·react.js·ecmascript
z_mazin26 分钟前
JavaScript 渲染内容爬取:Puppeteer 入门
开发语言·javascript·ecmascript
小小小小宇28 分钟前
React中 useEffect和useLayoutEffect源码原理
前端
AlexJee31 分钟前
在vue3中使用vue-cropper完成头像裁剪上传图片功能
前端
清晨細雨32 分钟前
uniapp微信小程序:WIFI设备配网之TCP/UDP开发AP配网
前端·物联网·小程序·uni-app
阿廖沙102433 分钟前
Rust核心概念
前端
昭昭日月明34 分钟前
现代前端开发中,类还有不可替代性吗
javascript