本文旨在展示 OpenManus 如何处理用户提问,并生成答案的完整过程。主要内容包含:单代理模式、Planning 模式、MCP 模式。
流程图:

说明:
用户输入:流程从用户通过终端界面 / 命令行输入提问开始用户交互:系统读取用户提问并验证其有效性如果提问为空或者无效,系统记录告警并退出如果有效,则开始处理流程智能体初始化:创建 Manus智能体:main.py 中直接创建、run_flow.py 中通过 PlanningFlow 创建系统加载可用工具使用 config.toml 中的设置配置大语言模型请求处理:智能体开始处理用户提问对于 PlanningFlow (run_flow.py),系统会创建包含步骤的初始化计划对于直接执行的(main.py),智能体直接处理请求,无需显式规划智能体循环(核心)思考:智能体决定下一步要采取的行动调用大语言模型:系统将上下文、系统提示和可用工具发送给大语言模型工具选择:大语言模型选择适当工具行动:系统执行选定的工具更新memory:请求和结果添加到智能体的memory中此循环持续执行,直到任务完成工具执行:系统根据需要执行各种工具(python代码、网页浏览、搜索、文件操作、中止)处理工具结果并返回给智能体最终回答:一旦任务完成,生成最终回答并返回给用户附:资料是我在学习 OpenManus 过程中整理出来的,其中图片都比较大,尝试各种方式,但是上传后都不是很清楚,如果需要原图或者资料的可以私信。
