一张图讲清楚: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的发展历史,由于篇幅较长,我们后面再聊。

相关推荐
uperficialyu6 分钟前
2025年01月10日浙江鑫越系统科技前端面试
前端·科技·面试
付朝鲜31 分钟前
用自写的jQuery库+Ajax实现了省市联动
java·前端·javascript·ajax·jquery
coderYYY39 分钟前
多个el-form-item两列布局排齐且el-select/el-input组件宽度撑满
前端·javascript·vue.js·elementui·前端框架
荔枝吖1 小时前
项目中会出现的css样式
前端·css·html
Dontla1 小时前
何时需要import css文件?怎么知道需要导入哪些css文件?为什么webpack不提示CSS导入?(导入css导入规则、css导入规范)
前端·css·webpack
小堃学编程1 小时前
前端学习(2)—— CSS详解与使用
前端·css·学习
蓝婷儿2 小时前
第一章:HTML基石·现实的骨架
前端·html
Watermelo6172 小时前
前端如何应对精确数字运算?用BigNumber.js解决JavaScript原生Number类型在处理大数或高精度计算时的局限性
开发语言·前端·javascript·vue.js·前端框架·vue·es6
HebyH_2 小时前
2025前端面试遇到的问题(vue+uniapp+js+css)
前端·javascript·vue.js·面试·uni-app
Clockwiseee2 小时前
CSRF记录
前端·csrf