前言
在 AI Agent 领域,存在两大最核心的基础范式:ReAct与Plan-and-Execute。
在上一篇文章中我们详细拆解了Plan-and-Execute(规划执行范式),它主打「先整体规划、再稳定执行」,擅长复杂长流程任务。
而今天我们讲解的ReAct,是所有 AI Agent 工具调用的鼻祖,也是目前工业界、面试、开源框架中出现频率最高的基础架构。
很多同学只会用,但不懂原理:为什么 ReAct 灵活却容易跑偏?为什么长任务不能用 ReAct?它和 Plan-and-Execute 到底怎么选?
本文从零、完整、通俗拆解ReAct 范式,包含:核心原理、运行闭环、架构拆解、可运行代码、优缺点分析、范式对比、落地选型。
一、ReAct 是什么?(核心定义)
1. 名词释义
ReAct = Reason(推理思考) + Act(行动执行)
由 Google 团队提出,是 AI Agent 最经典的反应式、迭代式智能体范式。
一句话概括本质:不走预规划,走一步、想一步、迭代一步。
2. 解决了传统大模型的致命缺陷
纯大模型对话有三个无法规避的问题:
知识静态:训练数据截止,无法获取实时、最新信息
能力封闭:只会文本输出,不会计算、不会检索、不会操作外部工具
容易幻觉:复杂推理依赖模型记忆,容易编造答案、逻辑断裂
ReAct 的核心价值:让大模型从「纯文本聊天」升级为「能思考、能查证、能动手、能纠错」的智能体。
3. 核心逻辑特征
ReAct 和规划式范式最大的区别:
✅无全局前置规划
✅单步推理、单步执行
✅根据上一步结果动态决定下一步
❌没有完整任务蓝图
二、ReAct 完整运行闭环(核心精髓)
ReAct 的所有工作,都围绕一套四步循环闭环展开,这是必须吃透的底层逻辑:
闭环流程:Reason → Act → Observation → Loop
1. Reason 推理(思考层)
大模型读取当前问题、历史上下文、可用工具,自主决策:
当前问题能不能直接回答?
是否需要调用外部工具?
调用哪个工具、参数是什么?
下一步的行动策略是什么?
2. Act 执行(行动层)
系统解析模型输出的行动指令,调用真实外部能力:
搜索/知识库查询
数学计算、代码执行
接口调用、数据读写、文件处理
3. Observation 观察反馈
将工具返回的真实结果,整理为观测信息,写入上下文。
4. 迭代循环 / 终止输出
携带最新结果,进入下一轮「推理」,往复循环,直到任务完成。
可视化流程
用户提问 ↓ Reason 推理决策(思考) ↓ Act 工具执行(动手) ↓ Obs 结果更新上下文 ↓ 循环迭代 / 输出最终答案循环终止条件
模型判断信息充足,可以直接给出最终答案
达到预设最大轮次(防止死循环)
工具持续报错,无法继续推进
三、ReAct 架构组成(四大核心模块)
一套标准 ReAct Agent 结构极简、耦合度极低:
1. LLM 大模型(大脑)
负责所有逻辑推理、工具选择、策略判断、答案生成,是智能体的核心。
2. Tools 工具集(手脚)
大模型的外部能力扩展,弥补静态知识和能力边界。
3. Parser 解析器
区分模型输出的「思考文本」和「工具调用指令」,完成结构化解析与调用。
4. Memory 上下文记忆
存储每一轮的思考、行动、结果,保证多轮任务连贯,是循环执行的基础。
四、极简可落地代码实战(原生 ReAct)
以下为无框架依赖、原生手写、可直接运行的 ReAct 代码,兼容 OpenAI、Ollama、本地私有化模型。
fromopenaiimportOpenAI# 兼容官方OpenAI、本地Ollama、各类中转接口client=OpenAI(base_url="http://localhost:11434/v1",api_key="sk-dummy")# ---------------------- 1. 定义Agent可用工具 ----------------------defcalculator(expr:str)->str:"""数学计算工具"""try:returnf"计算结果:{eval(expr)}"exceptExceptionase:returnf"计算失败:{str(e)}"defsearch(query:str)->str:"""模拟信息检索工具"""returnf"搜索结果:{query}是AI Agent经典ReAct范式,核心为推理与行动交替循环执行。"TOOL_MAP={"calculator":calculator,"search":search}# 工具提示词TOOL_PROMPT=""" 你可以使用以下工具辅助回答问题: 1. calculator(表达式):数学运算,示例:calculator("12*8+36") 2. search(查询词):信息检索 规则: - 需要外部能力时,严格使用 工具名(参数) 格式调用 - 无需工具则直接给出最终答案 - 输出前先写明思考过程 """# ---------------------- 2. ReAct 核心循环 ----------------------defreact_agent(user_query:str,max_round:int=5)->str:context=f"{TOOL_PROMPT}\n用户问题:{user_query}"round_cnt=0whileround_cnt<max_round:round_cnt+=1print(f"\n【第{round_cnt}轮 - 推理 Reason】")resp=client.chat.completions.create(model="qwen2.5",messages=[{"role":"user","content":context}])content=resp.choices[0].message.content.strip()print("模型思考:\n",content)# 无需工具,直接输出答案,结束循环ifnotany(toolincontentfortoolinTOOL_MAP.keys()):print("\n✅ 任务完成,输出最终答案")returncontent# 执行工具 Actprint("\n【执行 Act - 调用工具】")result=""fortool_nameinTOOL_MAP:iftool_nameincontent:l,r=content.find("("),content.find(")")if0<l<r:param=content[l+1:r].strip("\"' ")result=TOOL_MAP[tool_name](param)breakprint("工具返回:",result)# 更新上下文,进入下一轮迭代context+=f"\n工具执行结果:{result}\n请继续分析完成任务。"return"达到最大轮次,任务终止"# ---------------------- 3. 测试运行 ----------------------if__name__=="__main__":# 测试数学计算react_agent("计算 125 * 8 + 36")# 测试知识检索# react_agent("什么是AI Agent的ReAct范式?")五、ReAct 核心优势
1. 架构极简、入门成本极低
逻辑清晰、模块解耦、无复杂调度,是新手学习 Agent 的最佳入门范式,也是 LangChain/LangGraph 底层默认能力。
2. 动态灵活、适配即兴交互
不需要提前预设流程,面对用户随机提问、临时需求、未知场景,适配性极强。
3. 全程可解释、易调试
每一轮思考、行动、结果完整留存,链路透明,便于排查幻觉、调用异常与逻辑错误。
4. 通用性极强
覆盖绝大多数轻量智能体场景,是智能客服、问答机器人、简单工具助手的底层核心。
六、ReAct 致命短板(面试重点)
1. 长任务极易目标漂移
没有全局计划锚定,步骤一多,模型容易遗忘初始目标,越执行越跑偏、逻辑断裂。
2. Token 成本高、延迟大
每一轮循环都要调用 LLM,长任务轮次多、上下文臃肿,导致成本飙升、响应变慢。
3. 无全局可控性
所有决策都是模型临场发挥,没有标准化步骤、没有流程约束,不适合企业标准化业务。
4. 复杂依赖任务稳定性差
面对有先后依赖、分支判断、多步骤流水线的任务,极易步骤错乱、任务中断。
七、ReAct vs Plan-and-Execute 终极对比
两大主流范式,面试必问、选型必看:
| 对比维度 | ReAct(推理行动范式) | Plan-and-Execute(规划执行范式) |
|---|---|---|
| 核心逻辑 | 边思考、边执行,单步决策 | 先全局规划,后分步落地执行 |
| LLM 调用 | 每轮必调用,成本高 | 仅规划阶段调用,次数少、更省 Token |
| 长任务能力 | 弱,易遗忘、易漂移 | 强,全局锁定目标,步骤稳定 |
| 可控性 | 弱,流程不可预设 | 强,结构化步骤、可审核可干预 |
| 架构特性 | 推理、执行高度耦合 | 规划、执行完全解耦,可独立优化 |
| 最佳场景 | 短问答、实时交互、轻量工具调用 | 长流程、自动化、企业级复杂业务 |
选型口诀:短交互用 ReAct,长流程用 Plan-and-Execute。
八、落地场景选型
✅ 适合使用 ReAct
智能对话、AI 客服、聊天机器人
简单单步、少步骤工具调用
用户输入随机、即兴、实时交互场景
快速原型验证、学习测试
❌ 不适合使用 ReAct
多步骤办公自动化、批量处理任务
故障排查、多级审批、长链路业务流程
生产级、高稳定、可追溯的企业智能体
九、全文总结
1.ReAct = Reason 推理 + Act 行动,是 AI Agent 最基础、最经典的迭代式范式。
2. 核心优势是灵活、轻量、可解释、适配即兴交互,是所有工具调用智能体的底座。
3. 核心短板是无全局规划、长任务易漂移、推理成本高。
4. 高级范式Plan-and-Execute、ReWOO、AutoGPT本质都是为了修复 ReAct 在复杂任务上的缺陷。
熟练掌握 ReAct 与 Plan-and-Execute 的差异与选型,是 Agent 开发、面试、工程落地的核心必备能力。
(注:博文是作者学习记录,文档部分内容可能由 AI 生成)