五分钟读懂Manus平替:深度解析OpenManus 如何重新定义Multi Agent? 原创

发布于 2025-3-13 11:39
浏览
0收藏

最近,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)。与单一大模型的“大而全”不同,多智能体系统通过“规划—执行—反馈”的循环,逐步解决复杂的现实问题。它的设计思路可以概括为以下几点:

  1. 极简可插拔框架OpenManus的核心是一个精简的Agent框架,强调模块化和可扩展性。通过Prompt和Tools的自由组合,开发者可以快速定义Agent的行为逻辑和功能。比如,Prompt决定了Agent的思考方式,而Tools则提供了具体的行动能力(如代码执行、搜索、文件操作等)。
  2. 工具驱动的ReAct AgentOpenManus基于ReAct(Reason + Act)模式,以工具为核心驱动Agent的行动。Prompt引导Agent的推理和逻辑,而Tools则赋予Agent行动能力。这种设计让Agent不仅能“想”,还能“做”。
  3. 规划能力处理复杂任务OpenManus延续了Manus的多智能体规划优势,通过PlanningTool对用户需求进行高层规划。它将复杂任务分解为线性的子任务计划,显著提升了任务的成功率。这种“先规划,后执行”的思路,在处理长链任务时尤为有效。
  4. 动态Agent分配与工具调度当一个任务被拆解为多个子任务后,系统会根据任务类型,动态分配给预先定义或适配的Agent。这种“临时分配 + 工具协作”的机制,最大化利用了多模型、多工具的组合优势,提高了系统的灵活性和效率。

工作流程

OpenManus的运行流程非常清晰,可以概括为以下几个步骤:

  1. 用户需求输入用户在前端或命令行中输入复杂需求,比如“写一段代码并自动部署到服务器上”。
  2. PlanningTool规划系统调用PlanningTool,对需求进行分析与分解,形成一个线性结构的任务序列。比如,将需求拆解为“分析需求→编写代码→测试修复→部署验证”。
  3. 任务分配与执行系统根据任务类型,动态分配给最合适的Agent。每个Agent采用ReAct循环与Tools交互,完成子任务。
  4. 结果汇总与状态更新子任务执行完毕后,系统会将结果进行总结与压缩,存入共享内存。如果任务顺利完成,进入下一子任务;如果失败,系统会进行自动调试或重新规划。
  5. 整体产出所有子任务执行完毕后,系统对整体结果进行汇总并返回给用户。

架构

OpenManus的工程结构非常简洁,截止到目前核心仅包含约30个文件,依赖库也相对简单(如pydantic、openai、playwright等)。它的架构由四个主要模块构成:

  1. 核心多智能体框架(Agent)采用清晰的继承层次,自底向上逐步增强功能。从BaseAgent到ReActAgent,再到ToolCallAgent,最后到Manus,每一层都通过定制Prompt和Tools赋予Agent不同的能力。
  2. 工具层(Tools)工具模块是OpenManus的行动基础,包括Python执行、网络搜索、文件读写、任务规划等。每个工具都继承自BaseTool,具有高度的可扩展性。
  3. 提示词模块(Prompt)Prompt模块包含了各种Agent使用的指令模板,定义了Agent的行为逻辑和思考方式。
  4. 执行流程模块(Flow)Flow模块负责任务的高层编排和执行流程管理,确保任务按计划逐步完成。

五分钟读懂Manus平替:深度解析OpenManus 如何重新定义Multi Agent?-AI.x社区


不同模型实测效果

通过测试,我发现不同模型在OpenManus的使用效果差异明显:

模型

工具调用能力

中文理解

执行效率

我的评分

DeepSeek-v3

优秀,支持完整函数调用

极佳

快速

★★★★★

Claude-3.5

良好,少量格式问题

很好

中等

★★★★☆

Qwen-Turbo

中等,需要特殊处理

极佳

快速

★★★★☆

GPT-4o

优秀,工具调用稳定

良好

较慢

★★★★☆

GPT-4o-mini

不稳定,经常需要重试

中等

快速

★★★☆☆

踩坑记录

1. google_search 无法调用

⚠️ Tool 'google_search' encountered a problem: HTTPSConnectionPool(host='www.google.com', port=443): Max retries exceeded with url: /search?q=Google+homepage&num=12&hl=en&start=0&safe=active (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x0000020960CF1520>, 'Connection to www.google.com timed out. (connect timeout=5)'))
  • 1.

解决方式:

  • 科学上网全局代理,或者切换稳定的谷歌代理站点
  • 已经有issue提供了pr, 支持将google search替换成baidu搜索

2. 缺少浏览器组件

Error: Browser action 'navigate' failed: BrowserType.launch: Executable doesn't exist at C:\Users\admin\AppData\Local\ms-playwright\chromium-1148\chrome-win\chrome.exe
╔════════════════════════════════════════════════════════════╗
║ Looks like Playwright was just installed or updated.       ║
║ Please run the following command to download new browsers: ║
║                                                            ║
║     playwright install                                     ║
║                                                            ║
║ <3 Playwright Team                                         ║
╚════════════════════════════════════════════════════════════╝
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

需要先下载浏览器组件

python -m playwright install chromium

pip install playwright
  • 1.
  • 2.
  • 3.

如果依然安装失败,可以尝试:

pip install --no-deps -r requirements.txt
# 对于playwright,我使用这个方法成功解决了问题 
pip install playwright==1.40.0 --no-build-isolation 
playwright install chromium
# 如果仍然遇到问题,尝试手动安装核心依赖
pip install pydantic==2.5.2 langchain==0.1.6 beautifulsoup4==4.12.3
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

3. conda环境

我用的版本是python3.10,没有使用python3.12, 没有出现一些issue中提到的conda环境问题

总结

当面对高度复杂、逻辑交织的任务时,OpenManus 的任务规划能力有时会显得力有不逮。以涉及多部门协同、多环节衔接的大型项目为例,系统在梳理任务优先级和优化执行顺序时,可能会出现偏差,从而导致任务执行过程中出现资源浪费、进度延误等问题,影响整体效率。

此外,在实际测试中,OpenManus 偶尔会在任务执行过程中出现卡顿或报错,尤其是在多任务并行且负载较高的情况下,这种现象更为突出。


本文转载自公众号AI 博物院 作者:longyunfeigu

原文链接:​​https://mp.weixin.qq.com/s/2Wm3nGzSNU6EWpKrzUfJLw​


©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2025-3-13 11:53:51修改
收藏
回复
举报


回复
相关推荐