通用任务智能体,如 Manus,旨在模拟人类解决问题的能力,通过理解用户意图,拆解复杂任务并协同工作,最终达成目标。Manus 的核心在于其基于 Multi-Agent 的架构,允许多个智能 Agent 分工合作,共同完成用户提出的通用任务。其工作流程可以概括为以下几个关键步骤:
意图识别:理解用户需求的第一步
智能任务执行的起点,在于准确理解用户的需求。Manus 的意图识别模块首先会获取用户的输入内容,例如一段文本指令。随后,系统会对输入进行必要的意图识别和关键词提取。举例来说,如果用户输入“想去日本旅游,需要一个旅行计划”,Manus 会解析出 “japan-trip” 这样的关键词,并将任务类型识别为 “travel”。
当用户输入的需求较为笼统,系统难以精准识别其意图时,Manus 会采取引导策略,主动与用户进行多轮对话,逐步明确需求细节。此外,系统还支持用户上传文档、图片等多元化信息,作为意图识别的辅助材料,以更全面地理解用户意图。
任务初始化:构建隔离的执行环境
在准确把握用户意图之后,Manus 将进入任务初始化阶段。系统会利用识别出的任务关键词,例如 “japan-trip”,自动创建一个与任务相关的独立文件夹,用于存放任务执行过程中的所有中间产物和最终结果。
更值得一提的是,Manus 还会为每个任务启动独立的 Docker 容器。Docker 容器技术确保了环境隔离,这意味着每个任务都在一个干净且隔离的环境中运行,保障了任务执行的独立性,并有效避免了不同任务之间的相互干扰。任务执行完毕后,系统还会自动清理 Docker 容器,保持系统的整洁和效率。
步骤规划:推理模型拆解复杂任务
任务初始化的下一步是步骤规划,这是 Manus 实现复杂任务自动化的关键环节。Manus 借助强大的推理模型,对任务进行细致的步骤拆分。推理模型会综合意图识别的结果以及任务相关的背景信息,智能地将一个大的目标任务分解为一系列可执行的子任务。
例如,针对 “日本旅行计划” 这一需求,推理模型可能会将其拆解为 “搜索日本旅游攻略”、“查询机票酒店信息”、“制定详细行程安排” 等多个步骤。拆分后的步骤信息会被写入任务文件夹下的 [todo.md](https://t.co/tYosIUPa9o)
文件中,形成一个结构化的任务清单,引导后续的任务执行。
任务执行:多 Agent 协同高效运作
任务执行阶段是 Manus 的核心运作环节。系统会遍历任务文件夹中的 [todo.md](https://t.co/tYosIUPa9o)
文件,文件中的任务清单以 Markdown 格式呈现,[ ]
表示待执行的任务,[x]
则代表已完成的任务。
Manus 的任务调度中心,或者可以称之为主线程,会逐一读取待执行的任务,并结合任务上下文信息,发起所谓的 “function call”。 这里的 “function call”,实际上是指系统根据任务需求,调用预设的功能模块,即各类 agent。Manus 系统内置了多种 agent,例如 search agent (搜索 Agent)、code agent (代码 Agent)、data-analysis agent (数据分析 Agent) 等,每个 agent 都专注于完成特定的任务类型。
根据 “function call” 的结果,Manus 会调度相应的 agent 执行任务。Agent 在执行过程中产生的任何内容产物,例如搜索结果、代码文件、分析报告等,都会被写入到 Docker 容器的任务文件夹中,实现数据的统一管理和存储。任务执行完毕后,主线程会更新 [todo.md](https://t.co/tYosIUPa9o)
文件,标记已完成的任务,并继续执行清单中的下一个任务,直至所有步骤完成。
归纳整理:输出成果并收集用户反馈
当 [todo.md](https://t.co/tYosIUPa9o)
文件中的所有任务都标记为完成后,Manus 进入最后的归纳整理阶段。主线程会根据用户的初始需求,对任务执行过程中产生的所有内容产物进行整合和系统化处理,形成最终的结构化输出结果。
最终的任务成果会以文档、代码、图片、链接等多种形式呈现,并提供给用户浏览或下载。为了持续优化系统性能和用户体验,Manus 还会收集用户对任务完成质量和最终结果的满意度,为后续的迭代升级提供宝贵参考。
Search Agent 工作流程详解:模拟人类浏览行为
整个 Manus 方案的核心在于执行任务的 agent 设计以及主线程的调度流程。以 search agent 为例,深入了解其在处理 “日本旅行计划” 这类任务时的具体执行步骤,能够帮助我们更好理解 Manus 的工作原理。
- 关键词提取与搜索: Search agent 首先获取 “japan-trip” 等关键词信息,并调用谷歌等第三方 API 发起搜索请求,获取 10-20 条 相关的搜索结果。
- 模拟网页浏览: 随后,search agent 会模拟用户浏览网页的行为。它会“点开” 搜索结果中的第一个网页链接,利用无头浏览器技术浏览网页内容,抓取网页的文本信息,并通过浏览器截图获取网页的视觉信息。(注:无头浏览器是一种在没有图形用户界面的情况下运行的浏览器,常用于自动化网页操作和数据抓取。)
- 多模态信息提取: 接下来,search agent 会调用支持多模态输入的模型,*(注:多模态模型能够同时处理文本、图像等多种类型的数据。)将当前的任务要求和网页信息作为输入,从当前浏览的网页中提取有效信息,例如,判断网页内容是否包含符合旅行计划要求的结果。如果当前网页信息不足,agent 还会分析网页结构*,寻找并返回下一个可能包含有用信息的 button 元素。
- 迭代信息收集: Search agent 会模拟用户的点击和网页滚动操作,获取更多的网页内容和视觉信息。这个过程会重复多次,直到收集到的信息能够满足任务需求为止。
- 内容保存: 最后,search agent 会将收集到的所有信息都保存到任务文件夹中,为后续的步骤提供数据支持。
Search agent 的核心在于模拟用户浏览网页的真实行为,这使其能够像人类一样从互联网海量信息中精准定位并提取所需信息。无头浏览器和多模态模型的应用,是实现这一目标的关键技术支撑。
Code Agent 与 Data-Analysis Agent:简化代码任务与数据分析
相较于 search agent,code agent 和 data-analysis agent 的工作流程相对简洁,但同样高效实用。
Code agent 主要负责代码生成和执行。当接收到代码编写任务时,code agent 会根据任务需求,创建本地代码文件,例如 Python 代码或 HTML 代码,并将生成的代码写入文件。对于数据分析任务,code agent 可能会生成 Python 代码;而对于结果展示,则可能生成 HTML 代码以实现视觉呈现。随后,code agent 会通过系统调用执行代码,并将执行结果保存到任务文件夹中。为了方便用户查看代码执行效果,Manus 还提供了 code-preview 服务,支持预览 HTML 文件的内容。
Data-analysis agent 则专注于数据处理和分析任务。其工作流程与 code agent 类似,主要区别在于 data-analysis agent 更为侧重数据分析逻辑的实现和数据洞察的挖掘。
未来展望:持续进化的 Multi-Agent 智能体
尽管 Manus 在通用任务智能体领域已经展现出强大的能力,但这类 multi-agent 产品仍有广阔的改进空间。
首先,在任务依赖管理方面,目前 [todo.md](https://t.co/tYosIUPa9o)
中的任务更多呈现线性依赖关系。未来,可以引入 DAG (有向无环图) (注:DAG,Directed Acyclic Graph,有向无环图,一种用于表示任务依赖关系和执行顺序的图形化模型,能够表达更复杂的任务流程。) 来实现更复杂、更灵活的任务依赖,从而应对更复杂的真实场景需求。
其次,在任务执行的准确性和可靠性方面,可以引入自动化测试 agent。自动化测试 agent 能够对任务结果进行自动评估和判断,如果对某个步骤的评分过低,系统可以回溯到之前的某个任务节点,重新执行相关步骤,实现任务的自动矫正和优化。
此外,人机协作模式的融合也是一个重要的发展方向。Manus 可以允许全自动和用户介入的混合模式。例如,在某个步骤执行完成后,系统可以先征求用户反馈,如果用户在一定时间内没有反馈,则自动继续运行,从而在自动化和灵活性之间找到最佳平衡点。
总结与挑战
整体而言,Manus 在工程实现层面取得了显著的进展,其整体交互体验相较于其他同类产品更具优势。然而,从技术层面来看,Manus 仍然高度依赖于底层模型的能力。推测 Manus 可能采用轻量级模型进行意图识别,而任务规划与推理环节,则可能依赖于 DeepSeek-R1 这样的大型语言模型。图片识别和代码生成方面,Claude-3.7-Sonnet 等先进模型也是 Manus 的技术选择。
高昂的 token 消耗预示着成本控制将成为 Manus 这类应用普及的关键挑战。未来,如何有效降低 token 成本,提升任务执行的准确性和用户满意度,将是包括 Manus 在内的所有 multi-agent 产品需要持续探索和优化的关键方向。 而最终 Manus 能否实现大规模应用,并获得市场的广泛认可,还有待更多实际应用案例的检验。