PlanAndSolve

May 19, 2026 · View on GitHub


该类在类层次结构中的位置:

[Oxy](../agent/base_oxy.md)
├── [BaseFlow](../agent/base_flow.md)
│   ├── [Workflow](./workflow.md)
│   ├── [ParallelFlow](./parallel_flow.md)
│   ├── [PlanAndSolve](./plan_and_solve.md)
│   ├── [Reflexion](./reflexion.md)
│   │   └── [MathReflexion](./reflexion.md)
│   └── [BaseAgent](../agent/base_agent.md)
├── [BaseLLM](../llms/base_llm.md)
└── [BaseTool](../tools/base_tools.md)

简介

PlanAndSolve 是一个实现"规划-求解"策略的 Flow,用于解决复杂问题。它通过规划智能体将复杂任务分解为结构化的计划,然后通过执行智能体按顺序执行每个步骤,并可选地支持动态重新规划以实现自适应执行。

参数

参数类型 / 允许值默认值描述
max_replan_roundsint30允许的最大重新规划迭代次数。
planner_agent_namestr"planner_agent"用于生成计划的智能体名称。
pre_plan_stepslist[str]None预定义的计划步骤,用于替代动态生成的计划。
enable_replannerboolFalse是否在执行过程中启用动态重新规划。
replanner_agent_namestr"replanner_agent"在失败时用于重新规划的智能体名称。
executor_agent_namestr"executor_agent"执行各个计划步骤的智能体名称。
llm_modelstr"default_llm"用于回退操作的 LLM 模型名称。
func_parse_planner_responseOptional[Callable]None规划智能体响应的自定义解析器。
pydantic_parser_plannerPydanticOutputParserPydanticOutputParser(Plan)规划响应的 Pydantic 解析器。
func_parse_replanner_responseOptional[Callable]None重新规划响应的自定义解析器。
pydantic_parser_replannerPydanticOutputParserPydanticOutputParser(Action)重新规划响应的 Pydantic 解析器。

方法

方法协程 (async)返回值用途(简述)
__init__(**kwargs)Noneplanner_agent_nameexecutor_agent_name 注册为允许的工具。
_execute(oxy_request)OxyResponse执行"规划-求解"工作流:规划步骤、按顺序执行、必要时重新规划。

继承

请参阅 BaseFlow 类了解继承的参数和方法。

用法

oxy.PlanAndSolve(
    name="master_agent",
    llm_model="default_llm",
    is_master=True,
    planner_agent_name="planner_agent",
    executor_agent_name="executor_agent",
    enable_replanner=False,
    timeout=100,
)