直接回答:ReAct 边想边做——每步先推理(Thought)再行动(Action)再观察(Observation),逐步决定下一步;Plan-and-Execute 先出完整计划再逐步执行,执行中可不重看全局;ReWOO 更进一步,规划时就把工具调用参数写成占位符,一次规划生成整个调用图,执行时填充,省掉中间重复的 LLM 调用。
展开解析:取舍维度有三个。灵活性:ReAct 每步都能根据观察调整方向,适合路径不可预知的探索型任务(调试、调研);Plan-and-Execute 计划定死后遇到意外要 replan,适合流程确定性高的任务(报表生成、批量操作)。成本:ReAct 每步一次 LLM 调用且上下文越滚越大;ReWOO 的规划-执行分离让 token 消耗降一个量级,但参数占位符要求工具间依赖关系可静态确定。可靠性:ReAct 容易陷入局部循环,Plan-and-Execute 容易计划本身就不靠谱——实务常用混合:先出粗计划(3~7 步里程碑),每步内部 ReAct,里程碑间做进度校验与 replan。选型决策树:任务步骤可枚举且稳定 → Plan-and-Execute;步骤间数据依赖明确 → ReWOO 省成本;强探索性 → ReAct 加步数上限;复杂长任务 → 分层混合。无论哪种,都要把“计划”显式写出来供人审查,黑盒自主规划是事故温床。
追问方向:replan 的触发条件如何设计?树搜索类规划(ToT)为何工程上少用?
(约 460 字)