2022年Yao等人提出的ReAct是Agent推理范式的奠基之作。2025-2026年业界对它的认知更成熟了——ReAct不是终点而是起点。这篇文章讲透ReAct核心机制、它的硬伤、以及2025-2026演化出的Reflexion / RAF等替代方案。一句话总结ReAct Reasoning Acting让LLM在每一步都先想再做通过Thought-Action-Observation循环实现推理与行动的协同。但ReAct有四大硬伤——步骤冗余、错误难恢复、上下文膨胀、循环死锁。2026年的工业实践已经在用Reflexion自反思、RAF多层元认知、Anthropic Subagents等模式替代或补强纯ReAct。1. 为什么需要ReAct1.1 之前的问题纯推理Chain-of-Thought / CoT模型只想不做无法获取外部信息容易产生幻觉。Q: 2026年诺贝尔物理学奖得主是谁 CoT: 让我推理一下...诺贝尔物理学奖通常颁给... → 猜了一个错误答案因为知识截止在训练时CoTChain-of-Thought思维链Google 2022年提出让模型在回答前先生成推理过程再给答案显著提升数学/逻辑题准确率。但CoT的根本局限是——它只能在训练时记住的知识内推理遇到训练后的事实就抓瞎。纯行动Act-only模型只做不想连续调用工具但缺乏规划容易走弯路。Act-only: search(诺贝尔奖) → 搜索结果太多 search(2026诺贝尔) → 还是不精确 search(2026诺贝尔物理学奖) → 终于找到了 → 花了3步效率低1.2 ReAct的解法先想再做——每一步都明确当前目标选择最有效的行动Thought: 我需要查2026年诺贝尔物理学奖搜索词要精确 Action: search(2026 Nobel Prize in Physics) Observation: ...搜索结果 Thought: 找到了让我确认一下具体贡献 Action: lookup(...贡献) Observation: ... Thought: 信息完整了可以回答 Answer: 2026年诺贝尔物理学奖颁给了...2步搞定比Act-only的3步更高效比CoT更准确。2. ReAct核心机制2.1 Thought-Action-Observation循环┌──→ Thought思考──→ Action行动──→ Observation观察──┐ │ │ └──────────────────── 循环直到任务完成 ←─────────────────────┘步骤说明示例ThoughtLLM对当前状态的推理和规划“我需要搜索X”ActionLLM选择调用的工具和参数search(“X”)Observation工具返回的结果搜索结果文本2.2 Prompt模板ReAct的关键是Prompt设计让LLM按固定格式输出你是一个能使用工具的Agent。请严格按照以下格式输出 Question: [输入的问题] Thought: [你当前的思考] Action: [工具名称(参数)] Observation: [工具返回的结果] ... (Thought/Action/Observation可重复多次) Thought: [最终思考] Final Answer: [最终答案] 可用工具 - search(query): 搜索引擎 - lookup(term): 在当前页面查找术语 - finish(answer): 返回最终答案3. 代码实现2026版3.1 最小ReAct Agent直接调用Claude/GPTimportrefromanthropicimportAnthropic clientAnthropic()REACT_PROMPT你是一个ReAct Agent。请严格按照Thought/Action/Observation格式输出。 可用工具 - search(query): 搜索互联网 - calculate(expr): 计算数学表达式 - finish(answer): 返回最终答案 Question: {question} {history} Thought: defreact_agent(question,max_steps10):historyforstepinrange(max_steps):promptREACT_PROMPT.format(questionquestion,historyhistory)responseclient.messages.create(modelclaude-opus-4.7,# 2026推荐主流模型messages[{role:user,content:prompt}],max_tokens500,)outputresponse.content[0].text.strip()# 解析Thought和Actionthought_matchre.search(rThought:\s*(.),output)action_matchre.search(rAction:\s*(\w)\((.?)\),output)ifnotthought_matchornotaction_match:breakthoughtthought_match.group(1)tool_nameaction_match.group(1)tool_argsaction_match.group(2)historyfThought:{thought}\nAction:{tool_name}({tool_args})\n# 执行工具iftool_namefinish:returntool_argseliftool_namesearch:observationsearch_tool(tool_args)eliftool_namecalculate:observationstr(eval(tool_args))else:observationfUnknown tool:{tool_name}historyfObservation:{observation}\nreturn未能完成任务# 使用resultreact_agent(2026年诺贝尔物理学奖得主是谁)print(result)3.2 用Claude Agent SDK实现2026推荐fromclaude_agent_sdkimportAgent,tooltooldefsearch(query:str)-str:搜索互联网returnsearch_engine.query(query)tooldefcalculate(expr:str)-str:计算数学表达式returnstr(eval(expr))# Claude Agent SDK内部就是ReAct循环agentAgent(modelclaude-opus-4.7,system_prompt你是一个使用ReAct范式的研究助手,tools[search,calculate],max_iterations10,# 限制最大循环数)resultagent.run(2026年诺贝尔物理学奖得主是谁)3.3 用LangGraph实现生产级fromlanggraph.prebuiltimportcreate_react_agentfromlangchain_anthropicimportChatAnthropic llmChatAnthropic(modelclaude-opus-4.7,temperature0)tools[search_tool,calc_tool]agentcreate_react_agent(llm,tools)resultagent.invoke({messages:[(user,2026年诺贝尔物理学奖得主是谁)]})2026年的代码差异旧版2024用gpt-4olangchain.agents.create_react_agent2026年主流是claude-opus-4.7 LangGraph的create_react_agent已迁移到langgraph包。Hugging Face的hub.pull(hwchase17/react)老prompt已不再推荐使用。4. ReAct vs CoT vs Act-only维度CoT (纯推理)Act-only (纯行动)ReAct (推理行动)推理能力强无中强获取外部信息不能能能幻觉风险高低低效率快但不准慢且盲目平衡适用场景纯推理题简单查询需要推理信息的复合任务论文关键发现Yao et al., 2022ReAct在HotpotQA和ALFWorld上的表现优于CoT和Act-only。特别是在需要多步推理信息检索的任务中ReAct的优势最明显。5. ReAct的四大硬伤 ⚠️ 2025-2026业界共识5.1 步骤冗余 Token膨胀ReAct每步都要想一下简单任务太慢Question: 11等于几 Thought: 我需要计算11 Action: calculate(11) Observation: 2 Thought: 计算完成 Final Answer: 2直接回答不好吗对于简单问题CoT或直接回答更高效。Token成本随步数线性增长长任务可能消耗数十万Token。5.2 错误难恢复 死循环风险ReAct的决策完全依赖上一步的Thought Observation——如果工具返回了错误或误导性结果Agent很容易陷入死循环Thought: 我需要搜索X Action: search(X) Observation: [无关结果] Thought: 搜索结果不对让我重试 Action: search(X) ← 重复同样的错误 Observation: [还是无关结果] ... 无限循环2025年研究表明纯ReAct在长任务上有30-50%的概率走入死循环。这是Reflexion/RAF诞生的直接动力。5.3 思考质量不稳定LLM的Thought可能不准确导致后续Action方向错误Thought: 我应该搜索法国首都 ← 实际上可以直接回答 Action: search(法国首都)或者在多步推理中前一步的错误判断会层层放大到后续步骤。5.4 上下文窗口消耗 Lost in the Middle每次循环都把全部历史塞进上下文长任务的Token可能溢出。即使不溢出LLM在长上下文中容易丢失中间信息Lost in the Middle问题关键的早期Observation可能被忽略。Lost in the MiddleStanford 2023年研究发现LLM在长上下文中对开头和结尾的信息记忆好对中间部分会忽略。ReAct长循环正好踩中这个雷。6. ReAct的演进2024-20266.1 Reflexion加自反思的ReAct ⭐Reflexion2023.03提出2024-2025成熟是ReAct的直接演进在ReAct循环外包一层反思学习。三组件架构┌──────────────────────────────────────────────┐ │ Loop 1: Actor (执行ReAct) │ │ Thought → Action → Observation → ... │ └──────────────────────────────────────────────┘ ↓ ┌──────────────────────────────────────────────┐ │ Loop 2: Evaluator (评估结果) │ │ 成功还是失败为什么 │ └──────────────────────────────────────────────┘ ↓ 失败 ┌──────────────────────────────────────────────┐ │ Loop 3: Self-Reflection (自我反思) │ │ 我失败是因为...下次应该... │ │ 存入Episodic Memory │ └──────────────────────────────────────────────┘ ↓ 重新进入Loop 1 (带着上次的反思)Verbal Reinforcement口头强化Reflexion的核心创新——反思是自然语言而不是参数更新。比如失败后生成我应该先测试空列表再处理存到Episodic Memory下次重试时把这条反思塞进Prompt。不需要训练LLM权重只是改Prompt。实测效果HumanEval代码任务方法Pass1GPT-4 (直接回答)80%GPT-4 ReAct85%GPT-4 Reflexion91%Reflexion不是模型变强了是元认知变强了——同样的模型加了自反思能多对11%的题。6.2 RAF多层元认知架构 ⭐ 2025前沿RAFReflective Agentic Framework是2025年最前沿的Agent架构把Agent分成两层┌─────────────────────────────────────────┐ │ Reflective Layer (反思层) │ │ Tier 4: 知识重构 │ │ Tier 3: 假设生成 主动实验 │ │ Tier 2: 经验整合 外部因素 │ │ Tier 1: 后果引擎 (Pre-action governance)│ └─────────────────────────────────────────┘ ↑↓ ┌─────────────────────────────────────────┐ │ Base Layer (基础层) │ │ 感知 → 规划 → 行动 → 观察 │ │ (这就是ReAct/Reflexion所在的层) │ └─────────────────────────────────────────┘Tier 1后果引擎在动作执行前先模拟后果可以阻止危险操作“伦理守护”。Tier 4知识重构让Agent能重组自己的知识结构产生质变学习。RAF代表的是内化趋势ReAct依赖外部Tool反馈Reflexion把反馈内化为自我评估RAF进一步建立专门的元认知子系统。6.3 Anthropic Subagents实战派的解法Anthropic在Claude Code的实践给出了最务实的ReAct演进——Subagents子Agent主Agent (主上下文) │ ├── Subagent 1 (独立上下文做搜索) │ ↓ 只返回精炼结果 ├── Subagent 2 (独立上下文做代码分析) │ ↓ 只返回精炼结果 └── 主Agent 整合 → 输出核心思想把会污染主上下文的长链ReAct交给SubagentSubagent跑完只把结论传回主Agent的上下文保持干净。这是生产环境唯一稳定work的多Agent模式——把昂贵的搜索/长工具链/重计算下放到隔离的子上下文。6.4 改进方案对比改进方案思路何时用Reflexion加自反思Episodic Memory有评估信号的任务代码/数学RAF多层元认知高风险/复杂决策Anthropic Subagents子Agent隔离上下文长任务多并发LATS树搜索ReAct探索多条路径高质量优先ReActRAG用RAG替代搜索提高信息质量知识密集型自适应ReAct简单问题跳过推理成本敏感场景Plan-then-Execute先全局规划再执行Web Agent等可预定义场景7. 何时不该用ReAct ⚠️ 2026 Anthropic指引Anthropic 2024.12发布的《Building Effective Agents》给出了清晰指引——ReAct不是默认方案。7.1 ReAct不需要的场景场景替代方案原因直接事实问答直接回答不需要工具单步推理任务CoTReAct的循环是浪费路径明确的任务Workflow用预定义流程更可控简单工具调用直接Tool Use不需要Thought循环需要长程规划Plan-then-Execute全局视角更优7.2 ReAct最适合的场景信息需要逐步获取才能决定下一步策略需要根据中间结果动态调整工具调用次数无法预知适合ReAct: 调研竞品的产品策略并给出对比报告 不适合ReAct: 把这段中文翻译成英文7.3 决策树你的任务... ├── 不需要工具→ 直接回答 ├── 需要工具但路径明确→ Workflow / Prompt Chaining ├── 需要全局规划→ Plan-then-Execute ├── 需要动态决策 容易出错→ Reflexion (ReAct 反思) ├── 需要并行隔离上下文→ Anthropic Subagents └── 需要逐步探索 工具反馈足够好→ ReAct ✅8. 面试高频问题Q1ReAct和CoT的本质区别CoT只想不做推理在模型内部完成ReAct边想边做推理和行动交替进行能获取外部信息。ReAct CoT 工具循环。Q2ReAct什么时候不如CoT(1) 不需要外部信息的纯推理任务如数学证明(2) 简单问题ReAct的额外步骤是浪费(3) 工具不可靠时外部信息反而引入噪声。Q3ReAct的四大硬伤是什么(1) 步骤冗余 Token膨胀(2) 错误难恢复 死循环风险30-50%概率(3) 思考质量不稳定(4) 上下文窗口消耗 Lost in the Middle。Q4Reflexion比ReAct强在哪Reflexion在ReAct外包了评估反思记忆循环。失败后生成自然语言反思存入Episodic Memory下次重试时带着教训。HumanEval上从GPT-4的80% pass1提升到91%——没改模型只改控制结构。Q5Anthropic Subagents和Multi-Agent的区别Multi-Agent是平等协作的多个AgentSubagents是主从架构——主Agent调度子Agent子Agent有独立上下文跑完只把结论传回。Subagents是生产唯一稳定work的多Agent模式因为它解决了上下文污染这个核心问题。Q6什么时候不该用ReAct(1) 直接事实问答(2) 单步推理任务(3) 路径明确的Workflow场景(4) 简单的单次工具调用。Anthropic的建议是能用Workflow解决的不要用Agent能用直接回答的不要用ReAct。总结要点说明核心Thought-Action-Observation循环优势推理行动协同减少幻觉四大硬伤冗余 / 死循环 / 思考不稳 / 上下文膨胀适用需要推理信息检索动态决策的复合任务演进Reflexion / RAF / Subagents / LATS不适用单步任务 / 路径明确 / 长程规划ReAct是Agent推理范式的起点但不是终点。2025-2026的Agent工程已经从纯ReAct进化到ReAct反思元认知子Agent隔离的混合架构。理解ReAct的硬伤才能正确选择何时用它、何时用替代方案——这是2026年Agent工程师的必备认知。路易乔布斯 © 2026 | AI Agent RAG学习计划 · 模块01-Agent · 第二篇参考文献Yao et al., “ReAct: Synergizing Reasoning and Acting in Language Models”, 2022Shinn et al., “Reflexion: Language Agents with Verbal Reinforcement Learning”, 2023Anthropic, “Building Effective Agents”, 2024.12“Reflective Agentic Framework (RAF)”, 2025
【系统学AI】07 ReAct范式:从奠基之作到Reflexion/RAF的演进
发布时间:2026/5/28 20:08:08
2022年Yao等人提出的ReAct是Agent推理范式的奠基之作。2025-2026年业界对它的认知更成熟了——ReAct不是终点而是起点。这篇文章讲透ReAct核心机制、它的硬伤、以及2025-2026演化出的Reflexion / RAF等替代方案。一句话总结ReAct Reasoning Acting让LLM在每一步都先想再做通过Thought-Action-Observation循环实现推理与行动的协同。但ReAct有四大硬伤——步骤冗余、错误难恢复、上下文膨胀、循环死锁。2026年的工业实践已经在用Reflexion自反思、RAF多层元认知、Anthropic Subagents等模式替代或补强纯ReAct。1. 为什么需要ReAct1.1 之前的问题纯推理Chain-of-Thought / CoT模型只想不做无法获取外部信息容易产生幻觉。Q: 2026年诺贝尔物理学奖得主是谁 CoT: 让我推理一下...诺贝尔物理学奖通常颁给... → 猜了一个错误答案因为知识截止在训练时CoTChain-of-Thought思维链Google 2022年提出让模型在回答前先生成推理过程再给答案显著提升数学/逻辑题准确率。但CoT的根本局限是——它只能在训练时记住的知识内推理遇到训练后的事实就抓瞎。纯行动Act-only模型只做不想连续调用工具但缺乏规划容易走弯路。Act-only: search(诺贝尔奖) → 搜索结果太多 search(2026诺贝尔) → 还是不精确 search(2026诺贝尔物理学奖) → 终于找到了 → 花了3步效率低1.2 ReAct的解法先想再做——每一步都明确当前目标选择最有效的行动Thought: 我需要查2026年诺贝尔物理学奖搜索词要精确 Action: search(2026 Nobel Prize in Physics) Observation: ...搜索结果 Thought: 找到了让我确认一下具体贡献 Action: lookup(...贡献) Observation: ... Thought: 信息完整了可以回答 Answer: 2026年诺贝尔物理学奖颁给了...2步搞定比Act-only的3步更高效比CoT更准确。2. ReAct核心机制2.1 Thought-Action-Observation循环┌──→ Thought思考──→ Action行动──→ Observation观察──┐ │ │ └──────────────────── 循环直到任务完成 ←─────────────────────┘步骤说明示例ThoughtLLM对当前状态的推理和规划“我需要搜索X”ActionLLM选择调用的工具和参数search(“X”)Observation工具返回的结果搜索结果文本2.2 Prompt模板ReAct的关键是Prompt设计让LLM按固定格式输出你是一个能使用工具的Agent。请严格按照以下格式输出 Question: [输入的问题] Thought: [你当前的思考] Action: [工具名称(参数)] Observation: [工具返回的结果] ... (Thought/Action/Observation可重复多次) Thought: [最终思考] Final Answer: [最终答案] 可用工具 - search(query): 搜索引擎 - lookup(term): 在当前页面查找术语 - finish(answer): 返回最终答案3. 代码实现2026版3.1 最小ReAct Agent直接调用Claude/GPTimportrefromanthropicimportAnthropic clientAnthropic()REACT_PROMPT你是一个ReAct Agent。请严格按照Thought/Action/Observation格式输出。 可用工具 - search(query): 搜索互联网 - calculate(expr): 计算数学表达式 - finish(answer): 返回最终答案 Question: {question} {history} Thought: defreact_agent(question,max_steps10):historyforstepinrange(max_steps):promptREACT_PROMPT.format(questionquestion,historyhistory)responseclient.messages.create(modelclaude-opus-4.7,# 2026推荐主流模型messages[{role:user,content:prompt}],max_tokens500,)outputresponse.content[0].text.strip()# 解析Thought和Actionthought_matchre.search(rThought:\s*(.),output)action_matchre.search(rAction:\s*(\w)\((.?)\),output)ifnotthought_matchornotaction_match:breakthoughtthought_match.group(1)tool_nameaction_match.group(1)tool_argsaction_match.group(2)historyfThought:{thought}\nAction:{tool_name}({tool_args})\n# 执行工具iftool_namefinish:returntool_argseliftool_namesearch:observationsearch_tool(tool_args)eliftool_namecalculate:observationstr(eval(tool_args))else:observationfUnknown tool:{tool_name}historyfObservation:{observation}\nreturn未能完成任务# 使用resultreact_agent(2026年诺贝尔物理学奖得主是谁)print(result)3.2 用Claude Agent SDK实现2026推荐fromclaude_agent_sdkimportAgent,tooltooldefsearch(query:str)-str:搜索互联网returnsearch_engine.query(query)tooldefcalculate(expr:str)-str:计算数学表达式returnstr(eval(expr))# Claude Agent SDK内部就是ReAct循环agentAgent(modelclaude-opus-4.7,system_prompt你是一个使用ReAct范式的研究助手,tools[search,calculate],max_iterations10,# 限制最大循环数)resultagent.run(2026年诺贝尔物理学奖得主是谁)3.3 用LangGraph实现生产级fromlanggraph.prebuiltimportcreate_react_agentfromlangchain_anthropicimportChatAnthropic llmChatAnthropic(modelclaude-opus-4.7,temperature0)tools[search_tool,calc_tool]agentcreate_react_agent(llm,tools)resultagent.invoke({messages:[(user,2026年诺贝尔物理学奖得主是谁)]})2026年的代码差异旧版2024用gpt-4olangchain.agents.create_react_agent2026年主流是claude-opus-4.7 LangGraph的create_react_agent已迁移到langgraph包。Hugging Face的hub.pull(hwchase17/react)老prompt已不再推荐使用。4. ReAct vs CoT vs Act-only维度CoT (纯推理)Act-only (纯行动)ReAct (推理行动)推理能力强无中强获取外部信息不能能能幻觉风险高低低效率快但不准慢且盲目平衡适用场景纯推理题简单查询需要推理信息的复合任务论文关键发现Yao et al., 2022ReAct在HotpotQA和ALFWorld上的表现优于CoT和Act-only。特别是在需要多步推理信息检索的任务中ReAct的优势最明显。5. ReAct的四大硬伤 ⚠️ 2025-2026业界共识5.1 步骤冗余 Token膨胀ReAct每步都要想一下简单任务太慢Question: 11等于几 Thought: 我需要计算11 Action: calculate(11) Observation: 2 Thought: 计算完成 Final Answer: 2直接回答不好吗对于简单问题CoT或直接回答更高效。Token成本随步数线性增长长任务可能消耗数十万Token。5.2 错误难恢复 死循环风险ReAct的决策完全依赖上一步的Thought Observation——如果工具返回了错误或误导性结果Agent很容易陷入死循环Thought: 我需要搜索X Action: search(X) Observation: [无关结果] Thought: 搜索结果不对让我重试 Action: search(X) ← 重复同样的错误 Observation: [还是无关结果] ... 无限循环2025年研究表明纯ReAct在长任务上有30-50%的概率走入死循环。这是Reflexion/RAF诞生的直接动力。5.3 思考质量不稳定LLM的Thought可能不准确导致后续Action方向错误Thought: 我应该搜索法国首都 ← 实际上可以直接回答 Action: search(法国首都)或者在多步推理中前一步的错误判断会层层放大到后续步骤。5.4 上下文窗口消耗 Lost in the Middle每次循环都把全部历史塞进上下文长任务的Token可能溢出。即使不溢出LLM在长上下文中容易丢失中间信息Lost in the Middle问题关键的早期Observation可能被忽略。Lost in the MiddleStanford 2023年研究发现LLM在长上下文中对开头和结尾的信息记忆好对中间部分会忽略。ReAct长循环正好踩中这个雷。6. ReAct的演进2024-20266.1 Reflexion加自反思的ReAct ⭐Reflexion2023.03提出2024-2025成熟是ReAct的直接演进在ReAct循环外包一层反思学习。三组件架构┌──────────────────────────────────────────────┐ │ Loop 1: Actor (执行ReAct) │ │ Thought → Action → Observation → ... │ └──────────────────────────────────────────────┘ ↓ ┌──────────────────────────────────────────────┐ │ Loop 2: Evaluator (评估结果) │ │ 成功还是失败为什么 │ └──────────────────────────────────────────────┘ ↓ 失败 ┌──────────────────────────────────────────────┐ │ Loop 3: Self-Reflection (自我反思) │ │ 我失败是因为...下次应该... │ │ 存入Episodic Memory │ └──────────────────────────────────────────────┘ ↓ 重新进入Loop 1 (带着上次的反思)Verbal Reinforcement口头强化Reflexion的核心创新——反思是自然语言而不是参数更新。比如失败后生成我应该先测试空列表再处理存到Episodic Memory下次重试时把这条反思塞进Prompt。不需要训练LLM权重只是改Prompt。实测效果HumanEval代码任务方法Pass1GPT-4 (直接回答)80%GPT-4 ReAct85%GPT-4 Reflexion91%Reflexion不是模型变强了是元认知变强了——同样的模型加了自反思能多对11%的题。6.2 RAF多层元认知架构 ⭐ 2025前沿RAFReflective Agentic Framework是2025年最前沿的Agent架构把Agent分成两层┌─────────────────────────────────────────┐ │ Reflective Layer (反思层) │ │ Tier 4: 知识重构 │ │ Tier 3: 假设生成 主动实验 │ │ Tier 2: 经验整合 外部因素 │ │ Tier 1: 后果引擎 (Pre-action governance)│ └─────────────────────────────────────────┘ ↑↓ ┌─────────────────────────────────────────┐ │ Base Layer (基础层) │ │ 感知 → 规划 → 行动 → 观察 │ │ (这就是ReAct/Reflexion所在的层) │ └─────────────────────────────────────────┘Tier 1后果引擎在动作执行前先模拟后果可以阻止危险操作“伦理守护”。Tier 4知识重构让Agent能重组自己的知识结构产生质变学习。RAF代表的是内化趋势ReAct依赖外部Tool反馈Reflexion把反馈内化为自我评估RAF进一步建立专门的元认知子系统。6.3 Anthropic Subagents实战派的解法Anthropic在Claude Code的实践给出了最务实的ReAct演进——Subagents子Agent主Agent (主上下文) │ ├── Subagent 1 (独立上下文做搜索) │ ↓ 只返回精炼结果 ├── Subagent 2 (独立上下文做代码分析) │ ↓ 只返回精炼结果 └── 主Agent 整合 → 输出核心思想把会污染主上下文的长链ReAct交给SubagentSubagent跑完只把结论传回主Agent的上下文保持干净。这是生产环境唯一稳定work的多Agent模式——把昂贵的搜索/长工具链/重计算下放到隔离的子上下文。6.4 改进方案对比改进方案思路何时用Reflexion加自反思Episodic Memory有评估信号的任务代码/数学RAF多层元认知高风险/复杂决策Anthropic Subagents子Agent隔离上下文长任务多并发LATS树搜索ReAct探索多条路径高质量优先ReActRAG用RAG替代搜索提高信息质量知识密集型自适应ReAct简单问题跳过推理成本敏感场景Plan-then-Execute先全局规划再执行Web Agent等可预定义场景7. 何时不该用ReAct ⚠️ 2026 Anthropic指引Anthropic 2024.12发布的《Building Effective Agents》给出了清晰指引——ReAct不是默认方案。7.1 ReAct不需要的场景场景替代方案原因直接事实问答直接回答不需要工具单步推理任务CoTReAct的循环是浪费路径明确的任务Workflow用预定义流程更可控简单工具调用直接Tool Use不需要Thought循环需要长程规划Plan-then-Execute全局视角更优7.2 ReAct最适合的场景信息需要逐步获取才能决定下一步策略需要根据中间结果动态调整工具调用次数无法预知适合ReAct: 调研竞品的产品策略并给出对比报告 不适合ReAct: 把这段中文翻译成英文7.3 决策树你的任务... ├── 不需要工具→ 直接回答 ├── 需要工具但路径明确→ Workflow / Prompt Chaining ├── 需要全局规划→ Plan-then-Execute ├── 需要动态决策 容易出错→ Reflexion (ReAct 反思) ├── 需要并行隔离上下文→ Anthropic Subagents └── 需要逐步探索 工具反馈足够好→ ReAct ✅8. 面试高频问题Q1ReAct和CoT的本质区别CoT只想不做推理在模型内部完成ReAct边想边做推理和行动交替进行能获取外部信息。ReAct CoT 工具循环。Q2ReAct什么时候不如CoT(1) 不需要外部信息的纯推理任务如数学证明(2) 简单问题ReAct的额外步骤是浪费(3) 工具不可靠时外部信息反而引入噪声。Q3ReAct的四大硬伤是什么(1) 步骤冗余 Token膨胀(2) 错误难恢复 死循环风险30-50%概率(3) 思考质量不稳定(4) 上下文窗口消耗 Lost in the Middle。Q4Reflexion比ReAct强在哪Reflexion在ReAct外包了评估反思记忆循环。失败后生成自然语言反思存入Episodic Memory下次重试时带着教训。HumanEval上从GPT-4的80% pass1提升到91%——没改模型只改控制结构。Q5Anthropic Subagents和Multi-Agent的区别Multi-Agent是平等协作的多个AgentSubagents是主从架构——主Agent调度子Agent子Agent有独立上下文跑完只把结论传回。Subagents是生产唯一稳定work的多Agent模式因为它解决了上下文污染这个核心问题。Q6什么时候不该用ReAct(1) 直接事实问答(2) 单步推理任务(3) 路径明确的Workflow场景(4) 简单的单次工具调用。Anthropic的建议是能用Workflow解决的不要用Agent能用直接回答的不要用ReAct。总结要点说明核心Thought-Action-Observation循环优势推理行动协同减少幻觉四大硬伤冗余 / 死循环 / 思考不稳 / 上下文膨胀适用需要推理信息检索动态决策的复合任务演进Reflexion / RAF / Subagents / LATS不适用单步任务 / 路径明确 / 长程规划ReAct是Agent推理范式的起点但不是终点。2025-2026的Agent工程已经从纯ReAct进化到ReAct反思元认知子Agent隔离的混合架构。理解ReAct的硬伤才能正确选择何时用它、何时用替代方案——这是2026年Agent工程师的必备认知。路易乔布斯 © 2026 | AI Agent RAG学习计划 · 模块01-Agent · 第二篇参考文献Yao et al., “ReAct: Synergizing Reasoning and Acting in Language Models”, 2022Shinn et al., “Reflexion: Language Agents with Verbal Reinforcement Learning”, 2023Anthropic, “Building Effective Agents”, 2024.12“Reflective Agentic Framework (RAF)”, 2025