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。
优秀答
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 是「先路书后开车」。
选谁,看环境反馈有多密、计划能稳多久、以及你要不要把计划拿给人审。
关联
- 上一题:第 2 题|何时不用 Agent
- 下一题:第 4 题|「下一个 Token 预测」对 Agent 设计意味着什么?(待写)