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

相关推荐
小鱼人爱编程2 分钟前
Java基石--反射让你直捣黄龙
前端·spring boot·后端
JosieBook2 小时前
【web应用】如何进行前后端调试Debug? + 前端JavaScript调试Debug?
前端·chrome·debug
LBJ辉2 小时前
2. Webpack 高级配置
前端·javascript·webpack
PAK向日葵8 小时前
【算法导论】如何攻克一道Hard难度的LeetCode题?以「寻找两个正序数组的中位数」为例
c++·算法·面试
灵感__idea8 小时前
JavaScript高级程序设计(第5版):好的编程就是掌控感
前端·javascript·程序员
烛阴9 小时前
Mix
前端·webgl
代码续发9 小时前
前端组件梳理
前端
试图让你心动10 小时前
原生input添加删除图标类似vue里面移入显示删除[jquery]
前端·vue.js·jquery
陈不知代码10 小时前
uniapp创建vue3+ts+pinia+sass项目
前端·uni-app·sass
小王码农记10 小时前
sass中@mixin与 @include
前端·sass