前提条件
在 Trae 中打开 OpenManus 工程,使用 build 模式,模型选择 claude-sonnet-3.7
提示词
分析 agent/planning.py 中 main 方法及相关类的执行流程,以流程图的方式展示
PlanningAgent 执行流程图
以下流程图展示了 PlanningAgent 类的执行流程,包括 main 方法和相关方法的调用关系。
执行流程说明
-
初始化阶段:
main()
方法创建 PlanningAgent 实例- 初始化 agent,设置 active_plan_id 和验证 planning tool
- 调用
run(request)
方法开始执行
-
计划创建阶段:
create_initial_plan(request)
方法创建初始计划- 调用 LLM 分析请求并创建计划步骤
- 使用 planning 工具执行计划创建
-
执行循环阶段:
- 循环执行直到达到最大步骤数或任务完成
- 每次循环调用
think()
方法决定下一步行动 - 获取当前步骤索引并标记为进行中
- 调用父类
think()
方法获取 LLM 响应 - 如果有工具调用,关联工具调用与当前步骤
-
执行工具阶段:
- 调用
act()
方法执行工具调用 - 更新工具执行状态
- 调用
update_plan_status()
更新计划步骤状态
- 调用
-
完成阶段:
- 检查是否完成所有步骤或达到最大步骤数
- 返回执行结果
流程图展示了 PlanningAgent 如何通过创建计划、执行步骤和更新状态来完成任务的整个生命周期。
提示词
分析 agent/planning.py 中 main 方法及相关类的执行流程,以流程图的方式展示整个执行流程,不需要类和方法的信息,只需要完整的处理流程
PlanningAgent 执行流程图
以下流程图展示了 agent/planning.py 中 main 方法及相关类的执行流程:
流程说明
-
初始化阶段:
- 创建 PlanningAgent 实例
- 设置默认计划 ID 和可用工具
-
计划创建阶段:
- 如果有初始请求,创建初始计划
- 使用 LLM 分析请求并生成计划步骤
- 通过 PlanningTool 存储计划
-
执行循环:
- 循环执行 step 方法,包含 think 和 act 两个阶段
- think 阶段获取当前计划状态,决定下一步行动
- act 阶段执行工具调用并更新计划状态
-
状态追踪:
- 使用 step_execution_tracker 跟踪每个工具调用的执行状态
- 当工具执行完成后,更新对应计划步骤的状态
-
终止条件:
- 达到最大步骤数 (max_steps)
- 执行了终止工具 (Terminate)
- 没有更多未完成的步骤