Agent 的规划怎么做?ReAct 和 Plan-and-Execute 有什么区别?

第 1178 题 约 2 分钟读完

本文目录
  1. 面试怎么回答
  2. ReAct:边想边做
  3. Plan-and-Execute:先计划再执行
  4. 实践中的混合做法
  5. 规划质量怎么保证
  6. 数据场景的例子

面试怎么回答

ReAct 是边想边做,每一步基于最新观察决定下一步,灵活,适合探索性的排查任务,但容易走偏、步数多了会忘记目标。Plan-and-Execute 是先生成完整计划再执行,有全局视角、便于审核和监控,但计划基于初始信息,需要重新规划机制。实践中我会混合:先生成粗计划作为待办清单,每一步内部用 ReAct 执行,遇到和预期不符的结果触发重新规划,并设最大步数、Token 和耗时。对于指标异动分析这类常见任务,给出标准步骤模板让模型在模板上调整,高风险任务先让用户确认计划。

先把这段讲顺;面试官追问时,再展开下面的原理和细节。

详细讲解

Agent 面对一个复杂任务,比如「分析上周 GMV 下降的原因并写一份报告」,要决定先做什么、后做什么。面试官问规划方式,想看你是否理解不同规划方式的适用场景和失败模式。

ReAct:边想边做

ReAct 的循环是:思考下一步 → 调用工具 → 观察结果 → 再思考。

  • 优点:灵活,每一步都基于最新的观察结果;适合探索性任务,比如排查问题,不知道下一步会发现什么;
  • 缺点:容易「走一步看一步」走偏,缺少全局视角;步数多了以后上下文变长,可能忘记最初的目标或者陷入重复调用。

Plan-and-Execute:先计划再执行

先让模型生成完整的计划(步骤列表),再逐步执行,必要时重新规划。

  • 优点:有全局视角,步骤清楚,方便人审核和监控进度;执行步骤可以用更便宜的模型,甚至部分并行;
  • 缺点:计划是基于开始时的信息做的,执行中发现新情况,需要有重新规划的机制;否则会机械地执行一个已经不合适的计划。

实践中的混合做法

  1. 先生成一个粗粒度的计划,作为「待办清单」记录在上下文或外部状态里;
  2. 每一步内部用 ReAct 的方式执行;
  3. 每完成一步更新清单,遇到和预期不符的结果时触发重新规划;
  4. 设置最大步数、最大 Token、最大耗时,超过就停下来汇报进度。

规划质量怎么保证

  • 约束模板:对于常见任务(指标异动分析、任务失败排查),给出标准的步骤模板,让模型在模板上调整,比完全自由规划更稳定;
  • 计划可审核:高风险任务先把计划给用户确认再执行;
  • 评测:除了最终结果,也评估计划是否合理、是否遗漏关键步骤。

数据场景的例子

「GMV 为什么下降」:计划可以是确认数据是否正常 → 按渠道、品类、地区拆解 → 定位贡献最大的维度 → 查找相关业务事件 → 写结论。每一步再用工具去查。这和我们手工做指标异动分析的思路是一样的。