深入学习AI Agent:6张图彻底看懂OpenManus,附从0入门教程
昨天我们介绍了什么是AI Agent,今天介绍一个开源的AI Agent框架,也是一号难求「Manus」的“平替”——OpenManus——曾经3小时完成Manus复刻的「神」
其实它背后逻辑跟Manus是一样的,搞懂了它,我们也就能搞懂风靡全球的Manus是怎么运作的。同时,我们也能「免费」着手去构建一个AI Agent
什么是OpenManus?
OpenManus是一个通用AI助手框架,能够处理各种用户请求并利用多种工具执行任务。简单来说,它就像是一个全能助理,只需用自然语言告诉它你想做什么,它就会自动帮你完成。
想象一下,你只需说出你的需求:
- "帮我搜索最新的AI技术趋势,并整理成简短报告"
- "写一个监控某电商网站MacBook价格的Python脚本"
- "帮我分析这段数据并生成图表"
而无需懂任何编程知识,OpenManus就能自动完成这些任务!这种"说一句话,完成一件事"的交互方式,让人人都能成为"AI操盘手"。
OpenManus如何工作?
OpenManus采用先进的"思考-行动"(ReAct)架构,这是目前大型语言模型应用的最佳实践之一。整个工作流程非常类似人类解决问题的方式:
- 接收用户的自然语言请求
- 分析请求并规划解决方案
- 选择并执行最适合的工具
- 评估执行结果并调整方向
- 重复以上步骤直到任务完成
- 提供人类可理解的最终答案
这种迭代式的工作方式使得OpenManus能够处理复杂的多步骤任务,而不仅仅是简单的问答。
OpenManus的六大处理阶段
要更深入理解OpenManus,我们需要了解它的六大处理阶段,这也是整个框架的核心工作流程:
第一阶段:初始化与请求接收
通过命令行或Web界面接收用户输入的问题,这是整个流程的起点。
第二阶段:Agent初始化
系统创建Agent实例,配置语言模型和工具集,准备开始工作。
第三阶段:思考阶段(Think)
AI生成系统思考,分析问题并决定使用什么工具来解决任务。
第四阶段:行动阶段(Act)
执行选定的工具,如网络搜索、浏览器操作、代码执行等,并处理结果。
第五阶段:迭代与完成
系统评估当前进度,决定是继续执行更多步骤还是生成最终结果。
第六阶段:输出与反馈
将处理结果呈现给用户,并记录日志以供参考和改进。
这六个阶段形成一个循环,系统会持续迭代直到任务完成或达到最大步骤限制。这种设计让AI能够像人类一样"边思考边行动",逐步解决复杂问题。
Openmanus背后的AI提示词
在OpenManus中,提示词(Prompts)是指导AI行为的关键,就像是给AI下达的"指令集"。框架使用了三类核心提示词:
系统提示词:定义AI助手的角色和能力范围,决定了AI的整体行为模式。例如:
"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."
工具使用提示词:指导AI如何选择和使用可用工具,确保AI知道各种工具的功能和适用场景。例如:
"You can interact with the computer using PythonExecute, save important content through FileSaver, open browsers with BrowserUseTool, and retrieve information using GoogleSearch."
卡住状态提示词:当AI陷入循环或遇到困难时使用的提示,帮助AI跳出思维定式,尝试新的解决方法。例如:
"Observed duplicate responses. Consider new strategies and avoid repeating ineffective paths already attempted."
这三类提示词相互配合,让OpenManus能够灵活应对各种复杂任务和挑战场景,避免AI陷入"思维定式"。
OpenManus组件交互流程
对于想要更深入了解OpenManus工作机制的读者,我们可以通过组件交互时序图来看清系统内部是如何协同工作的:
- 用户创建流程(FlowType.PLANNING)
- FlowFactory实例化PlanningFlow
- PlanningFlow初始化Agent
- Agent执行step()迭代和思考
- Agent调用工具执行任务
- 工具返回结果给Agent
- Agent提交中间状态给PlanningFlow
- 最终将结果返回给用户
这个交互流程清晰地展示了从用户输入到最终输出的完整数据流向,以及各组件之间的协作关系。核心是一个循环迭代机制,通过不断执行、评估和调整来解决复杂问题。
OpenManus框架结构与实际案例
OpenManus采用分层架构,各层次之间有明确的责任划分,从上到下包括:
用户界面层:负责接收用户输入和展示结果,包括命令行接口和报告显示。
控制层:负责任务规划和进度跟踪,分析需求并确定执行步骤。
核心层:负责内容分析和报告整合,是AI决策的主要场所。
工具层:包含搜索工具、浏览器工具、文本处理、文件保存等实用功能。
让我们通过一个实际案例来看看这个架构是如何工作的:
假设用户请求:"帮我搜索最新的人工智能技术趋势,并整理成一个简短的报告"
OpenManus会这样处理:
- 请求解析阶段:系统识别用户需要搜索AI趋势并生成报告
- 信息收集阶段:调用搜索工具收集最新AI趋势信息
- 内容分析阶段:使用浏览器工具访问搜索结果并提取关键信息
- 内容整合阶段:对收集的信息进行分类、去重和整理
- 报告生成阶段:基于整理的信息生成结构化的简短报告
- 结果输出阶段:将报告保存并返回给用户
整个过程都是自动化的,用户只需等待最终结果即可,无需掌握搜索技巧、网页内容提取或报告撰写技能。
开始使用OpenManus:完整操作指南
想要开始使用OpenManus吗?下面是完整的操作指南,即使你是编程小白也能轻松上手:
1. 环境准备
首先需要安装Python环境,推荐使用Miniconda:
- Windows用户:下载并安装Miniconda,安装时选择"添加到PATH"选项
- Mac用户:下载Mac版Miniconda并完成安装
- 安装后,Windows用户使用Anaconda Prompt终端,Mac/Linux用户使用系统终端
- 验证安装:输入python --version检查是否安装成功
2. 获取代码
两种方式获取OpenManus代码:
- Git克隆(推荐):git clone https://github.com/mannaandpoem/OpenManus.git
- ZIP直接下载:从GitHub下载压缩包,国内用户可使用镜像地址加速下载
3. 环境配置
创建并激活虚拟环境:
conda create -n open-manus python=3.12conda activate open-manus
安装依赖库:
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simplepip install -r requirements.txtpip install playwright && playwright install
4. 模型配置
- 复制config.example.toml为config.toml
- 配置AI模型,国内用户推荐使用硅基流动或派欧算力等平台
- 重要提示:必须使用支持Function Calling的模型!
5. 启动使用
命令行版本:python main.py(适合本地简单使用)
Web界面版本:python app.py(需使用front-end分支)
使用示例指令:
- "帮我搜索最新的AI技术趋势,并整理成简短报告保存到trends.md"
- "写一个监控某电商网站MacBook价格的Python脚本"
文章来自于“饼干哥哥数据分析”,作者“饼干哥哥”。
全部评论
留言在赶来的路上...
发表评论