作者:老张的求知思考世界
自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的发展历史,由于篇幅较长,我们后面再聊。