AI Agent 核心:ReAct 机制原理、缺陷与 Plan-and-Execute 解决方案面试详解

文章目录

前言

很多面试者对 ReAct Agent 存在理解误区,分不清模型和代码各自承担的职责。本文拆解 ReAct 完整运行流程,剖析它的两大工程缺陷,对比 Plan-and-Execute 优化方案,贴合面试答题逻辑,帮你精准吃透 Agent 推理架构。

先澄清一个最常见的误区

很多人面试说到 ReAct 时,张口就是"模型自己在循环调用工具"。面试官听到这句话,脑子里直接打上一个标签:你不懂。

实际是怎么回事?模型不负责循环。模型每次只做一件事:看一眼当前的 history,输出下一步是什么(Thought + Action),或者直接给最终答案(Final Answer)。输出完它就停了,等着代码框架把结果喂回来。循环是谁做的?是你的代码。模型是大脑,代码框架是身体。

ReAct 的六步循环

从代码框架视角,ReAct 一次完整迭代是六个步骤:

  1. 拼接 prompt:把系统提示、用户输入、历史 Thought / Action / Observation 全拼成一段 prompt
  2. 调 LLM:把 prompt 发给模型,等它返回
  3. 检测 Final Answer:判断输出里有没有 Final Answer,有就结束
  4. 解析 Action:没有 Final Answer 就从输出里拆出 Action(工具名 + 参数)
  5. 执行工具:调用外部工具,拿到 Observation
  6. 追加到 history:把 Observation 追加进 history,回到步骤 1

模型只参与了第 2 步的输出。其余五个步骤全是代码框架的事。面试里把这个关系说清楚,基本分到手。

ReAct 解决了什么,又带了什么新坑

ReAct 出现之前,CoT 让模型能写出推理过程,但它只能纯文字推,调用不了外部工具。ReAct 把 Reasoning 和 Acting 合在一起,每一步都能调用外部工具获取真实信息,这是它相对于 CoT 的核心进步。

但它也带进来两个工程上很实在的问题。

第一个坑:循环漂移。 想象一个没有导航的旅行者,每到一个路口都根据眼前的路牌临时决定往哪走。路牌清晰的时候能顺利到目的地,但路上的"风景"也在不断吸引他注意力,走着走着就拐进岔路,忘了最初要去哪。ReAct 每一步都是根据当前 history 重新决策,缺少全局计划约束方向。步骤越长,history 越长,漂移概率越大。

第二个坑:错误传播。 ReAct 的每一步决策都建立在前面所有步骤的结果之上。如果中间某一步拿到了错误信息,后面的推理全部被带跑。更麻烦的是,ReAct 没有内置"回头检查"机制,它不会停下来问"前面那步的结果靠谱吗",默认前面的 Observation 都对,一路往前冲。错误出现在早期步骤,整条链后面全白费。

两个问题的根源是同一个:ReAct 是纯粹的"前向推理",走一步看一步,没有全局规划约束方向,也没有反思机制纠正错误。

Plan-and-Execute 怎么补位

针对漂移问题,工程上引入了 Plan-and-Execute,分两个阶段:

规划阶段(Planner): 让 LLM 先不急动手,站在全局角度想清楚:这个任务分几步?每一步做什么?步骤间的依赖是什么?输出一份结构化的执行计划。这一步 LLM 只做规划,不执行任何工具调用。

执行阶段(Executor): 拿着计划按顺序执行。每一步的执行本身可以用 ReAct 来跑,执行器处理单个子任务时仍然"思考→行动→观察"地循环。区别在于,执行器始终知道自己在整体计划的哪一步、下一步做什么,不会像 ReAct 那样漫无目的地漂移。

一个比较直观的类比:Plan-and-Execute 负责"做什么"的全局规划,ReAct 负责"怎么做"的单步执行。两者是配合关系,不是替代关系。

选型决策

ReAct 的优势是灵活,每一步都能根据最新情况调整,适合任务边界不明确、需要探索性获取信息的场景(开放式问答、信息搜索)。代价是容易漂移,而且每一步都把完整 history 带上调 LLM,步骤多了 token 消耗线性增长。

Plan-and-Execute 的优势是有全局视野,不容易跑偏,适合目标明确、需要多步骤协作的复杂任务(深度研究、长文写作、多工具协同的数据分析)。代价是初始规划本身就要一次 LLM 调用,任务如果一两步就搞定,规划这一步就是多余开销。

实际工程里通常混合用:Plan-and-Execute 做全局规划,ReAct 做每步执行。规划阶段用更强的模型保证方向正确,执行阶段用更快更便宜的模型控制成本。

面试怎么答

回到面试场景,核心就两个点:

  1. ReAct 的本质是"思考→行动→观察"的循环,推理过程显式化,又能动态调用外部工具,解决了 CoT 只能纯文字推理的局限
  2. 这个循环是代码框架驱动的,模型每次只输出 Thought + Action,你的代码负责解析、执行工具、把 Observation 填回 history,再传给模型进入下一轮

说清这两点之后,主动提一下两个实战局限(漂移和错误传播),再说 Plan-and-Execute 是怎么通过"先规划再执行"解决漂移的,以及实际项目里两者经常混合使用。整个回答的深度就出来了。

结语

ReAct 是 Agent 基础推理框架,但缺少全局规划能力,结合 Plan-and-Execute 搭配使用,才能兼顾灵活探索与任务可控性,这套组合思路也是工业级智能体项目的主流落地方案。

相关推荐
孤狼GPT33 分钟前
ChatGPT、Codex实战:为什么AI一次改太多代码,反而更容易出问题?
chatgpt·codex·ai agent·chatgpt plus·chatgpt pro·ai coding
梅雅达编程笔记1 小时前
Day 18 · 综合实战 B:AI 客服 Agent(专栏收官)
python·智能客服·ai agent·意图识别·ai客服·大模型应用·ai办公自动化
长谷深风1115 小时前
AI Tool 设计:粒度、参数与错误恢复怎么做
java·大数据·人工智能·ai agent·agent工作流·智能体设计·ai产品设计
peijiping5 小时前
AI多智能体解惑:父子子智能体 vs 团队智能体,为什么主流IDE默认只用前者?
人工智能·ai agent·claude code
Rocky Ding*5 小时前
【三年面试五年模拟】2026-08-18_哔哩哔哩AI应用岗Agent开发一面面经全解析(含完整答案)
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·ai agent
新知图书6 小时前
11.4 基于扣子编程的实现过程(AI 数据质检工作流)
人工智能·agent·ai agent·智能体
deepseek238 小时前
商汤开源SenseNova U1.5 Lite拆解:8B装下原生统一多模态,NEO-Unify架构与4K图像生成的三笔工程账
开源·多模态大模型·ai agent
长谷深风1118 小时前
好的 Tool Schema,不是字段越全越好
java·大数据·人工智能·ai agent·agent工作流·智能体设计·ai产品设计
NeilCarmack18 小时前
Deepseek-harness增加桌面版端序列:第 1 讲 · 命令解析:`pnpm dsh desktop` 的第一步
人工智能·agent·ai agent
星野云联AIoT技术洞察19 小时前
Dify 适合什么 AI 应用项目:Workflow、RAG、Agent 与自研系统的边界
agent·workflow·llmops·dify·rag·ai agent·ai应用开发