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