我们都是架构师!
关注架构师(JiaGouX),添加“星标”
获取每天技术干货,一起成为牛逼架构师
技术群请加若飞:1321113940 进架构师群
投稿、合作、版权等邮箱:admin@137x.com
我要投稿
探索OpenManus多智能体框架的快速崛起与技术细节。核心内容:1. OpenManus多智能体框架的背景与缘起2. OpenManus的设计思路与核心框架3. Prompt和Tools在多智能体系统中的作用
一、背景与缘起
随着大模型在推理与生成上的能力不断提升,Agent(智能体)技术也在近段时间"刷屏"并引起广泛探讨。
3 月 5 日晚 Manus 展示的多智能体 Demo 给业内带来深刻印象;3 月 7 日,国内 DeepWisdom MetaGPT 团队与 CAMEL AI 团队先后开源了 OpenManus 与 OWL,进一步让多智能体技术的应用与实践在社交媒体及 GitHub 社区呈爆发性传播。
OpenManus 团队基于此前多智能体研究成果和工程积累,几乎以"闪电"速度完成核心系统:团队在 1 小时内实现了核心功能,3 小时内上线初版本。如此快速的研发进度,既来源于对多智能体框架的长期技术沉淀,也与系统内部设计的高度抽象、可组合性密不可分。正因此,OpenManus 一经发布便收获了过万星(目前已超过 2 万 Star),同时引发了业内对 Agent 技术发展趋势的再次聚焦。
二、OpenManus 的设计思路
从外部来看,Manus(以及复刻的 OpenManus)本质上是一个多智能体系统(Multi-Agent System)。不同于单一大模型那种一次性"大而全"的回答方式,多智能体系统通过"规划—执行—反馈"的循环,逐步解决复杂的真实世界问题。在 OpenManus 的设计中,最核心的思路可以概括为以下几点:
极简可插拔框架
OpenManus 的核心设计是构建一个非常精简的 Agent 框架,强调模块化和可扩展性。它通过可插拔的工具(Tools)和提示词(Prompt)的组合来定义 Agent 的功能和行为,降低了开发和定制 Agent 的门槛。
Prompt 决定 Agent 的行为逻辑和思考方式;
Tools 则提供行动能力(如计算机操作、代码执行、搜索等)。
通过对 Prompt 和 Tools 的自由组合,就能快速"拼装"出新的 Agent,赋予其处理不同类型任务的能力。
工具驱动的 ReAct Agent
OpenManus 基于 ReAct(Reason + Act)模式,并以工具为核心驱动 Agent 的行动。Prompt 引导 Agent 的推理和逻辑,而 Tools 则赋予 Agent 行动能力。ToolCall Agent 的引入,进一步提升了工具使用的效率和规范性。
规划能力处理复杂任务
OpenManus 延续了 Manus 的多智能体规划优势,将 PlanningTool 用于对用户需求进行高层规划。这种"先规划,后执行"的思路在复杂、长链任务上效果更佳。PlanningTool 将复杂的用户需求分解为线性的子任务计划,这种规划能力是处理现实世界复杂问题的关键。过去的研究表明,在相同模型能力下,如果缺乏系统的分解和规划,许多真实问题的成功率会大打折扣;而加入规划后,成功率会有显著提升。
动态 Agent 分配与工具调度
当一个任务拆解出若干子任务后,系统会根据子任务类型,动态将其分配给预先定义或适配的 Agent(有各自的工具集和能力倾向)。这种**"临时分配 + 工具协作"**的机制,可以最大化利用多模型、多工具的组合优势,提高应对不同问题场景的灵活度。Agent 预先装备了不同的工具集以应对不同类型的任务,提高了系统的灵活性和效率。
三、工作流程与执行路径
OpenManus 的运行流程可以清晰概括为"规划→分配→执行",具体步骤如下:
用户需求输入
用户在前端或命令行中输入复杂的需求,例如"写一段代码完成某种功能,并自动部署到服务器上"。
PlanningTool 规划
系统先调用 PlanningTool,对需求进行分析与分解,形成一个线性结构的计划或任务序列。比如,会将需求拆解为:
分析需求与环境
编写初始代码
测试并修复错误
部署并验证结果
这些子任务被记录在一个 plan
或类似结构中。
任务分配与执行
如果任务中涉及大规模数据分析或机器学习流程,可能会调用一个具备 Data Interpreter 能力的 Agent;
若任务需要复杂的代码修复或文件管理,则会调用另一个能够使用 ComputerUse 工具的 Agent;
系统按照顺序从计划中依次取出子任务;
根据任务关键字或意图判定,分配给最合适的 Agent。目前 Agent 分配主要基于正则匹配,未来考虑使用 LLM 实现更智能的任务分配。
每个 Agent 都会采用 ReAct 循环(Reason + Act)与 Tools 进行交互,以完成自己所负责的子任务。
结果汇总与状态更新
当某个子任务执行完毕后,系统会将执行结果、关键上下文信息进行必要的"总结与压缩"(以避免不断增加的冗长 Memory),然后存入当前的"Plan 内存"或全局可访问的共享内存。
如果任务完成顺利,进入下一子任务;
若出现执行失败或结果异常,系统可进行自动调试或重新规划,视设计实现程度而定。
整体产出
当所有子任务执行完毕,系统对整体结果进行汇总并返回给用户,或完成如网页部署、自动执行脚本等操作。
在这个过程中,多 Agent + 工具的结构会在复杂需求上展现明显的优势,尤其当需要长链思考、结合搜索或外部工具时,能够更好地完成通用大模型难以一次性解决的工作。
四、技术架构剖析
首先来看一下 OpenManus 的整体工程结构,剔除配置和资源文件后,整个项目的核心仅包含约 30 个文件(3月7号版本,所有内容都基于当时的版本),结构清晰且高度模块化:
.
├── app
│ ├── agent
│ │ ├── base.py
│ │ ├── manus.py
│ │ ├── planning.py
│ │ ├── react.py
│ │ ├── swe.py
│ │ └── toolcall.py
│ ├── flow
│ │ ├── base.py
│ │ ├── flow_factory.py
│ │ └── planning.py
│ ├── prompt
│ │ ├── manus.py
│ │ ├── planning.py
│ │ ├── swe.py
│ │ └── toolcall.py
│ └── tool
│ ├── base.py
│ ├── bash.py
│ ├── browser_use_tool.py
│ ├── create_chat_completion.py
│ ├── file_saver.py
│ ├── google_search.py
│ ├── planning.py
│ ├── python_execute.py
│ ├── run.py
│ ├── str_replace_editor.py
│ ├── terminate.py
│ └── tool_collection.py
项目依赖也相对简单,主要包括一些用于数据验证(pydantic)、AI 服务调用(openai)、浏览器控制(playwright、browsergym、browser-use)和一些基础工具库:
pydantic:数据验证和设置管理
openai:OpenAI API 的客户端库
browser-use:构建能使用网络浏览器的 AI 代理框架
browsergym:训练 AI 使用网络浏览器的环境
playwright:浏览器自动化库
googlesearch-python:无需 API 密钥进行搜索的库
这样的结构设计使得 OpenManus 在提供强大功能的同时保持了极高的可维护性和可扩展性。
OpenManus 的架构由四个主要模块构成:
核心多智能体框架(Agent)
Agent 模块采用清晰的继承层次,自底向上逐步增强功能:
示例代码(Manus 实现):
class Manus(ToolCallAgent):
"""
A versatile general-purpose agent that uses planning to solve various tasks.
"""
name: str = "Manus"
description: str = "A versatile agent that can solve various tasks using multiple tools"
system_prompt: str = SYSTEM_PROMPT
next_step_prompt: str = NEXT_STEP_PROMPT
# Add general-purpose tools to the tool collection
available_tools: ToolCollection = Field(
default_factory=lambda: ToolCollection(
PythonExecute(), GoogleSearch(), BrowserUseTool(), FileSaver(), Terminate()
)
)
BaseAgent:定义了智能体的基础属性(name、memory、system_prompt)和基本行为(执行逻辑、状态检查)。
ReActAgent:实现了经典的 "Reasoning + Acting" 模式,先思考后行动,每一步执行都分为 think 和 act 两个阶段。
ToolCallAgent:在 ReAct 基础上进一步细化,使 think 阶段专注于工具选择,act 阶段负责执行所选工具。
Manus:继承 ToolCallAgent,主要通过定制 system_prompt 和 available_tools 来赋予不同能力。
Tools(工具层)
工具模块是 OpenManus 的行动能力基础,各类工具均继承自 BaseTool
:
其中,planning.py
实现了 Manus 著名的计划功能,用 Markdown 格式管理任务计划并跟踪执行进度。
ComputerUse:命令行和计算机操作
BrowserUse:网络浏览和交互
PythonExecute:执行 Python 代码
GoogleSearch:网络搜索
FileSaver:文件读写
PlanningTool:任务规划与追踪
Prompt(提示词模块)
Prompt 模块包含了各种 Agent 使用的指令模板,例如 Planning 的系统提示:
PLANNING_SYSTEM_PROMPT = """
You are an expert Planning Agent tasked with solving complex problems by creating and managing structured plans.
Your job is:
1. Analyze requests to understand the task scope
2. Create clear, actionable plans with the `planning` tool
3. Execute steps using available tools as needed
4. Track progress and adapt plans dynamically
5. Use `finish` to conclude when the task is complete
Available tools will vary by task but may include:
- `planning`: Create, update, and track plans (commands: create, update, mark_step, etc.)
- `finish`: End the task when complete
Break tasks into logical, sequential steps. Think about dependencies and verification methods.
"""
而 Manus 的系统提示则更加简洁:
SYSTEM_PROMPT = "You are OpenManus, an all-capable AI assistant, aimed at solving any task presented by the user.
You have various tools at your disposal that you can call upon to efficiently complete complex requests.
Whether it's programming, information retrieval, file processing, or web browsing, you can handle it all."
Flow(执行流程模块)
Flow 模块负责任务的高层编排和执行流程管理:
PlanningFlow 的执行流程:
每步执行前,系统会生成上下文丰富的提示:
step_prompt = f"""
CURRENT PLAN STATUS:
{plan_status}
YOUR CURRENT TASK:
You are now working on step {self.current_step_index}: "{step_text}"
Please execute this step using the appropriate tools. When you're done, provide a summary of what you accomplished.
"""
BaseFlow:抽象基类,定义了 Agent 管理和执行接口
PlanningFlow:实现基于规划的执行策略
创建初始计划(_create_initial_plan
)
按计划步骤调用适当的 Agent
跟踪计划执行状态并动态调整
基础版本(Manus):
用户输入需求,调用 Manus agent 的 run 函数
run 函数循环执行 step 操作(来自 ReActAgent)
每个 step 包含 think(选工具)和 act(执行工具)两个环节
直接使用基础工具集(Python执行、搜索、浏览器、文件保存等)
高级版本(PlanningFlow):
使用 PlanningTool 对需求进行整体规划
针对每个子任务动态生成适合的上下文和指令
调用 Manus agent 执行各个子任务
维护计划状态和执行进度
值得注意的是,在当前版本中,虽然 PlanningFlow 具备多智能体调度的能力,但实际上只有单一的 Manus 智能体在执行任务。未来版本可引入更多专业化的 Agent 以充分发挥多智能体协作的优势。
与前文描述一致,OpenManus 实现了简单但有效的记忆管理和 Agent 分配机制:
Memory 管理:每个子任务执行后进行总结压缩,避免上下文过长
Agent 分配:当前主要基于正则匹配和规则,后续可考虑 LLM 辅助分配
五、未来优化与发展展望
虽然 OpenManus 在短时间内完成了初版本的核心功能,但团队也对后续的发展方向有清晰的思考,包括:
增强规划能力
更深入地将 Tree-of-Thought 等搜索方法引入,或使用自适应的规划方案,让多智能体的任务分解与决策更高效、更精准。
标准化评测 & 基准
在 GAIA、TAU-Bench、SWE-Bench 等多智能体任务集上进行持续评测,为后续工程优化提供量化标准,也能让社区更透明地了解 OpenManus 的改进幅度。
多模型适配与成本优化
从使用单一大模型(如 GPT、Claude)走向集成多个"专用小模型"(如针对代码、搜索、翻译、决策的模型),以更低成本实现超过大模型的效果;
对 Token 消耗进行工程化、缓存化的优化,通过更精细的上下文管理显著降低调用成本。
记忆管理与信息追踪
在多智能体长链任务中,如何高效追踪并管理上下文信息是关键挑战;团队将探索更灵活的 memory 结构,避免信息丢失与无效重复。
更多工具生态 & 智能创造工具
随着工具数量与类型增加,Agent 对于工具选择、调用参数、执行顺序的管理将愈发复杂;如何让 Agent 自动创建或改写工具,也将成为下一阶段研究的热点。
商业化场景深耕
多智能体在代码生成、网站搭建、数据分析等场景已有快速落地趋势。只有在"真实场景任务"和"用户效果"上极致打磨,才能促使用户持续使用 Agent 并产生商业价值。
六、与 MetaGPT 等项目的内在关联
OpenManus 在短时间里得以火速上线,与其团队早期在多智能体领域的系列研究息息相关。MetaGPT、Data Interpreter、AFlow、FACT、SELA、SPO 等项目不仅在论文、开源代码层面做了长期积累,也对多智能体的核心模块——规划、工具调用、搜索与记忆——进行了深入探索。其中:
MetaGPT:最早的多智能体协作框架,将 SOP(标准操作流程)进行角色化分配,以提升大模型解决复杂任务的成功率。
Data Interpreter:针对机器学习与数据建模场景,强化了智能体在数据处理、模型训练和工具使用上的能力。
AFlow:利用蒙特卡洛树搜索(MCTS)在多任务中动态探索最优的 Agent 组合与执行流程。
FACT:通过改进大模型的检索与记忆机制,增强多事实问答(QA)等任务的准确度。
SELA:让智能体具有蒙特卡洛式的调试能力,在机器学习任务中自动优化策略。
SPO:一种自监督的 Prompt 优化工具,适合短样本或质量难以度量的应用场景。
这些项目形成了一个庞大的多智能体技术储备,为 OpenManus 的快速构建提供了坚实的"技术底座"。
七、结语
OpenManus 的出现让多智能体技术再次成为关注焦点。其核心价值并不在于"复刻 Manus"本身,而在于以极简、可插拔的方式实现了多智能体的规划 + 工具功能,并将这一架构开源给社区,为开发者与研究人员提供了可自由扩展、快速迭代的基座。
通过对其代码结构的分析,我们可以更清晰地看到 OpenManus 设计的精巧之处:它用极少的代码(约 30 个核心文件)实现了多智能体框架的核心功能,通过清晰的继承关系和模块化设计实现了高度可扩展性。虽然当前版本在性能和复杂任务处理上可能仍有提升空间,但作为一个开源框架,它为社区提供了一个极具价值的起点。
Agent 未来的发展图景依旧充满未知:随着大模型能力的进一步进化,多智能体系统需要在更好的规划、多样化的工具、更高效的记忆管理等方面不断迭代,才能真正应对人类社会大量复杂与长尾的应用场景;同时,在商业化落地与成本控制的赛道上,Agent 产品将面临更直接的竞争与优化需求。
OpenManus 通过社区与行业的关注,也正证明:多智能体技术是一个兼具学术前沿探索与实际工程价值的领域。未来,期待更多像 OpenManus 这样开源、开放、有强大技术沉淀的项目出现,不断拓展智能体的边界,让 AI 在解决人类复杂问题的路上迈出更坚实的一步。
参考内容:
https://www.bestblogs.dev/article/3cb63c
如喜欢本文,请点击右上角,把文章分享到朋友圈
如有想了解学习的技术点,请留言给若飞安排分享
因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享
·END·
相关阅读:
版权申明:内容来源网络,仅供学习研究,版权归原创者所有。如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!
我们都是架构师!
关注架构师(JiaGouX),添加“星标”
获取每天技术干货,一起成为牛逼架构师
技术群请加若飞:1321113940 进架构师群
投稿、合作、版权等邮箱:admin@137x.com
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-03-13
2100元主机稳定运行谷歌Gemma3-27B大模型,一体机厂家要哭了!
2025-03-13
刚刚,OpenAI 重磅发布 Agent SDK!AI 开发范式彻底颠覆!
2025-03-13
刚刚, 谷歌 gemma3 开源
2025-03-13
喜讯!58同城灵犀大模型正式通过生成式人工智能服务备案
2025-03-13
谷歌开源Gemma-3:媲美DeepSeek,算力暴降10倍
2025-03-13
谷歌Gemma 3震撼发布:单GPU/TPU秒杀Llama-405B,最强轻量AI来了!
2025-03-13
谷歌突然开源Gemma 3!128K长上下文+多模态,碾压Llama 405B?
2025-03-13
单卡跑出27B性能!谷歌Gemma 3开源模型如何重新定义AI开发边界?
2025-01-01
2024-07-25
2024-05-06
2025-01-21
2024-09-20
2024-07-20
2024-06-12
2024-08-13
2024-07-11
2024-12-26
2025-03-13
2025-03-13
2025-03-08
2025-03-03
2025-03-02
2025-03-01
2025-02-26
2025-02-23