
五分钟读懂Manus平替:深度解析OpenManus 如何重新定义Multi Agent? 原创
最近,AI圈子里有个词儿特别火——Agent(智能体)。随着大模型在推理与生成上的能力不断提升,Agent技术也迎来了它的“高光时刻”。特别是3月初,Manus展示的多智能体Demo,直接让整个行业沸腾了。紧接着,国内的DeepWisdom MetaGPT团队和CAMEL AI团队也迅速跟进,开源了OpenManus和OWL,瞬间在社交媒体和GitHub上掀起了一股多智能体技术的热潮。
今天,我们就来聊聊这个开源项目OpenManus,看看它到底有什么魔力,能在短短几天内收获过万Star。
3小时上线初版
OpenManus的研发团队在1小时内实现了核心功能,3小时内上线了初版本。我觉得这种高效并非偶然,而是源于团队在多智能体框架上的长期技术积累,以及系统内部设计的高度抽象和可组合性。
OpenManus的核心设计思路非常清晰:极简、可插拔、工具驱动。它通过Prompt(提示词)和Tools(工具)的组合,快速“拼装”出新的Agent,赋予其处理不同类型任务的能力。这种设计不仅降低了开发门槛,还让Agent的定制变得异常灵活。
设计理念
OpenManus本质上是一个多智能体系统(Multi-Agent System)。与单一大模型的“大而全”不同,多智能体系统通过“规划—执行—反馈”的循环,逐步解决复杂的现实问题。它的设计思路可以概括为以下几点:
- 极简可插拔框架OpenManus的核心是一个精简的Agent框架,强调模块化和可扩展性。通过Prompt和Tools的自由组合,开发者可以快速定义Agent的行为逻辑和功能。比如,Prompt决定了Agent的思考方式,而Tools则提供了具体的行动能力(如代码执行、搜索、文件操作等)。
- 工具驱动的ReAct AgentOpenManus基于ReAct(Reason + Act)模式,以工具为核心驱动Agent的行动。Prompt引导Agent的推理和逻辑,而Tools则赋予Agent行动能力。这种设计让Agent不仅能“想”,还能“做”。
- 规划能力处理复杂任务OpenManus延续了Manus的多智能体规划优势,通过PlanningTool对用户需求进行高层规划。它将复杂任务分解为线性的子任务计划,显著提升了任务的成功率。这种“先规划,后执行”的思路,在处理长链任务时尤为有效。
- 动态Agent分配与工具调度当一个任务被拆解为多个子任务后,系统会根据任务类型,动态分配给预先定义或适配的Agent。这种“临时分配 + 工具协作”的机制,最大化利用了多模型、多工具的组合优势,提高了系统的灵活性和效率。
工作流程
OpenManus的运行流程非常清晰,可以概括为以下几个步骤:
- 用户需求输入用户在前端或命令行中输入复杂需求,比如“写一段代码并自动部署到服务器上”。
- PlanningTool规划系统调用PlanningTool,对需求进行分析与分解,形成一个线性结构的任务序列。比如,将需求拆解为“分析需求→编写代码→测试修复→部署验证”。
- 任务分配与执行系统根据任务类型,动态分配给最合适的Agent。每个Agent采用ReAct循环与Tools交互,完成子任务。
- 结果汇总与状态更新子任务执行完毕后,系统会将结果进行总结与压缩,存入共享内存。如果任务顺利完成,进入下一子任务;如果失败,系统会进行自动调试或重新规划。
- 整体产出所有子任务执行完毕后,系统对整体结果进行汇总并返回给用户。
架构
OpenManus的工程结构非常简洁,截止到目前核心仅包含约30个文件,依赖库也相对简单(如pydantic、openai、playwright等)。它的架构由四个主要模块构成:
- 核心多智能体框架(Agent)采用清晰的继承层次,自底向上逐步增强功能。从BaseAgent到ReActAgent,再到ToolCallAgent,最后到Manus,每一层都通过定制Prompt和Tools赋予Agent不同的能力。
- 工具层(Tools)工具模块是OpenManus的行动基础,包括Python执行、网络搜索、文件读写、任务规划等。每个工具都继承自BaseTool,具有高度的可扩展性。
- 提示词模块(Prompt)Prompt模块包含了各种Agent使用的指令模板,定义了Agent的行为逻辑和思考方式。
- 执行流程模块(Flow)Flow模块负责任务的高层编排和执行流程管理,确保任务按计划逐步完成。
不同模型实测效果
通过测试,我发现不同模型在OpenManus的使用效果差异明显:
模型 | 工具调用能力 | 中文理解 | 执行效率 | 我的评分 |
DeepSeek-v3 | 优秀,支持完整函数调用 | 极佳 | 快速 | ★★★★★ |
Claude-3.5 | 良好,少量格式问题 | 很好 | 中等 | ★★★★☆ |
Qwen-Turbo | 中等,需要特殊处理 | 极佳 | 快速 | ★★★★☆ |
GPT-4o | 优秀,工具调用稳定 | 良好 | 较慢 | ★★★★☆ |
GPT-4o-mini | 不稳定,经常需要重试 | 中等 | 快速 | ★★★☆☆ |
踩坑记录
1. google_search 无法调用
解决方式:
- 科学上网全局代理,或者切换稳定的谷歌代理站点
- 已经有issue提供了pr, 支持将google search替换成baidu搜索
2. 缺少浏览器组件
需要先下载浏览器组件
如果依然安装失败,可以尝试:
3. conda环境
我用的版本是python3.10,没有使用python3.12, 没有出现一些issue中提到的conda环境问题
总结
当面对高度复杂、逻辑交织的任务时,OpenManus 的任务规划能力有时会显得力有不逮。以涉及多部门协同、多环节衔接的大型项目为例,系统在梳理任务优先级和优化执行顺序时,可能会出现偏差,从而导致任务执行过程中出现资源浪费、进度延误等问题,影响整体效率。
此外,在实际测试中,OpenManus 偶尔会在任务执行过程中出现卡顿或报错,尤其是在多任务并行且负载较高的情况下,这种现象更为突出。
本文转载自公众号AI 博物院 作者:longyunfeigu
原文链接:https://mp.weixin.qq.com/s/2Wm3nGzSNU6EWpKrzUfJLw
