Agent 面试|第 3 题|ReAct 和 Plan-and-Execute 怎么选?

原题

中文常见问法:

ReAct 在做什么?和 Plan-and-Execute(先规划再执行)有什么区别?你会怎么选?

英文常见问法:

Explain ReAct versus plan-and-execute. When do you pick each?

考察点

(1)是否真懂 ReAct 的 Thought / Action / Observation,而不只是缩写。
(2)能否对比「交错决策」与「先计划后执行」的利弊。
(3)选型维度是否工程化:反馈密度、计划稳定性、可审计、成本。
(4)是否知道二者可以混合(计划后 ReAct 执行、执行中重规划)。

过关答

ReAct 在做什么

ReAct(Reason + Act)把推理和行动写在同一条循环里:

(1)Thought:根据当前目标与观察,想下一步。
(2)Action:调用某个工具(搜索、查库、跑代码等)。
(3)Observation:把工具返回塞回上下文。
(4)重复,直到认为完成或触发终止条件。

它的本质是:边做边根据环境反馈改主意,不要求一开始就有完整计划。

Plan-and-Execute 在做什么

典型两段式:

(1)Plan:先让模型(或规划器)产出步骤列表——最好人类可读、可审。
(2)Execute:再按步骤执行;每步可以是工具调用或子 Agent。
(3)若执行偏离计划,触发重规划(re-plan)。

它的本质是:先把路径显式化,再消耗工具额度;规划和执行甚至可用不同模型。

ReAct 与 Plan-and-Execute 对比

怎么选(过关版)

更偏向 ReAct 更偏向 Plan-and-Execute
环境反馈密、下一步强依赖观察 步骤多、结构清楚、要人审计划
事先计划容易作废 要并行执行子任务、控成本
短链路探索 长链路、要可审计的「计划快照」

一句话:反馈密、局势善变 → ReAct;目标可拆、要审计划 → Plan-and-Execute。

优秀答

1. 用「信息何时到达」选型

若关键信息必须靠工具才看得到(页面内容、编译报错、检索命中),硬先写长计划容易「空画饼」,ReAct 更自然。
若任务结构先验很强(调研提纲、迁移清单、发布检查单),先计划能减少乱逛式调工具。

2. 成本与延迟

ReAct:每步都可能带长上下文推理,步数不可控时账单难看。
Plan-and-Execute:规划可用强模型一次,执行可用小模型/脚本;总 Token 往往更好控,但规划错了会错一整段,需要重规划预算。

3. 生产上的混合才是常态

(1)高层 Plan-and-Execute,某一步内部再 ReAct。
(2)ReAct 跑 N 步后强制「小结成计划」再继续,便于日志与人工介入。
(3)计划必须过 HITL,执行阶段才放开工具。

能说出混合,说明你不是只背论文名。

4. 和「Workflow」划清

Plan-and-Execute 的「计划」若运行时由模型生成,仍属 Agent 族。
若计划是人写死的图,那是 Workflow——不要把二者混称。

追问清单

Q1:ReAct 和 Function Calling 什么关系?
期望:Function Calling 是「怎么调工具」的接口能力;ReAct 是「何时想、何时调、如何根据观察继续」的循环策略。可以没有经典 Thought 文本,但有等价的决策循环。

Q2:Plan-and-Execute 失败了怎么办?
期望:检测偏差 → 重规划或回退检查点;限制重规划次数;关键副作用步骤要幂等或事务。

Q3:多 Agent 是不是就是 Plan-and-Execute?
期望:不是。多 Agent 是角色/实例拆分;Plan-and-Execute 是时间上的两阶段。可以正交组合。

Q4:论文里的 ReAct 一定要写出 Thought 字段吗?
期望:教学示意常显式写;工程上可以是内部隐式推理 + 结构化 tool call。面试重点在循环与观察,不在字段名。

Q5:如何评测两种策略?
期望:同一任务集比成功率、步数、费用、人工介入率;看计划遵守率与重规划频率。

翻车红旗

(1)「ReAct 就是 Chain-of-Thought。」——忘了 Act/Observation。
(2)只会说「ReAct 更好」或「有计划更好」,给不出任务条件。
(3)把 Plan-and-Execute 说成必须用某个框架才能做。
(4)画 ReAct 时没有 Observation,或没有终止。
(5)认为二者互斥、生产中不能嵌套。

白板提示

左侧画环:

Thought → Action → Observation → Thought …

右侧画两段:

[Planner] → 计划草案 →(可选人审)→ [Executor 逐步执行]
                              ↑ 偏差大则 re-plan

下方写三个选型旋钮:反馈密度 · 计划稳定性 · 是否要审计划。

一句话收束

ReAct 是交错式「想-做-看」;Plan-and-Execute 是「先路书后开车」。
选谁,看环境反馈有多密、计划能稳多久、以及你要不要把计划拿给人审。

关联