本文详细拆解了ReAct大模型的核心思想即推理Thought与行动Action的交替循环。通过Thought阶段用自然语言描述推理过程、Action阶段执行具体操作、Observation阶段获取执行结果ReAct模式让Agent每步决策都有迹可循。文章对比了ReAct与纯推理/纯行动模式的优劣指出ReAct虽消耗较高但可解释性强特别适合复杂任务。对于想入门大模型开发的小白本文提供了实用的Agent设计思路和代码示例建议收藏学习。ReAct 命名由来ReAct 是一个合成词由两部分组成Re —— 取自 Reasoning推理Act —— 取自 Acting行动把两个词的主干拼起来就是 ReActReAct 命名由来Re(asoning) (A)ct(ing)ReAct 的核心思想ReAct 来自 2022 年的论文 ReAct: Synergizing Reasoning and Acting in Language Models核心思想是将推理和行动交织在一起Thought: 我需要先查天气 Action: get_weather(北京) Observation: 北京今天晴25°C Thought: 天气不错可以安排户外活动 Action: final_answer(北京今天晴25°C适合户外活动)为什么推理和行动要交替模式优点缺点纯推理只思考不行动逻辑严密无法获取实时信息纯行动只行动不思考执行快速容易走偏缺乏规划ReAct推理行动交替兼顾规划和执行每步都需要 LLM 调用关键洞察ReAct 的本质是让模型在每一步都说出自己的推理过程。这不仅帮助模型自己理清思路也让开发者能审查和调试 Agent 的决策逻辑。Thought思维链驱动决策Thought 是 ReAct 的大脑——模型在每次行动前先用自然语言描述自己的推理过程。这不是给用户看的而是给模型自己看的。# Thought 阶段模型推理 def thought(observations: str, history: list) - str: 模型推理下一步该做什么 prompt f你是一个 ReAct Agent。请按以下格式思考 当前观察{observations} 历史记录 {format_history(history)} 请思考下一步该做什么。格式 Thought: [你的推理过程] Action: [具体行动] response llm.generate(prompt) return extract_thought(response)Thought 的设计原则明确推理模型必须用自然语言说明为什么要做这个行动引用观察推理必须基于当前观察不能凭空想象规划步骤如果任务复杂模型应该分解为多个子步骤示例Thought: 用户想了解北京天气并推荐活动。我需要先查询天气 然后根据天气情况推荐合适的活动。这是两个子任务。 Action: get_weather(北京)Action执行具体操作Action 是 ReAct 的手——根据 Thought 的推理执行具体的操作。Action 可以是工具调用也可以是返回最终答案。# Action 阶段执行操作 def action(thought: str, tools: dict) - str: 根据推理执行具体操作 prompt f基于以下推理决定具体行动 {thought} 可用工具 {format_tools(tools)} 输出 JSON 格式 {{type: tool_call, tool: 工具名, args: {{}}}} 或{{type: final_answer, answer: 最终答案}} response llm.generate(prompt) decision parse_decision(response) # 执行工具调用 if decision[type] tool_call: tool_name decision[tool] args decision[args] result tools[tool_name](args) return fObservation: {result} # 返回最终答案 elif decision[type] final_answer: return fFinal Answer: {decision[answer]}Action 的类型类型说明示例工具调用调用外部工具获取信息或执行操作get_weather(北京)最终答案任务完成返回结果final_answer(北京今天晴)中间步骤任务未完成继续循环continueObservation获取执行结果Observation 是 ReAct 的眼睛——获取 Action 的执行结果作为下一轮 Thought 的输入。# Observation 阶段获取结果 def observation(action_result: str) - str: 获取 Action 的执行结果 # 解析 Observation if action_result.startswith(Observation:): return action_result[len(Observation:):].strip() elif action_result.startswith(Final Answer:): return action_result[len(Final Answer:):].strip() else: return action_resultObservation 的设计原则简洁性只包含必要信息不添加额外解释结构化用清晰的格式组织结果便于下一轮推理错误处理如果工具执行失败返回错误信息而非崩溃ReAct 的完整流程将 Thought、Action、Observation 组合成完整的 ReAct 循环# ReAct Agent 的完整实现 def react_agent(user_input: str, tools: dict, max_steps: int 10): ReAct Agent 核心循环 history [] current_observation f用户请求{user_input} for step in range(max_steps): # Thought推理 thought_text thought(current_observation, history) # Action决策 action_result action(thought_text, tools) # 检查是否完成 if action_result.startswith(Final Answer:): return action_result[len(Final Answer:):].strip() # Observation获取结果 current_observation observation(action_result) # 记录历史 history.append({ step: step 1, thought: thought_text, action: action_result, observation: current_observation }) return 任务未能在限定步数内完成完整流程示例用户北京今天天气怎么样适合户外活动吗 Step 1: Thought: 用户想了解北京天气。我需要先查询天气数据。 Action: get_weather(北京) Observation: 北京今天晴25°C湿度 45%微风 Step 2: Thought: 天气数据已获取。晴天、25°C、微风非常适合户外活动。 Action: final_answer(北京今天晴25°C微风非常适合户外活动)ReAct 循环Thought → Action → Observation 反复迭代ReAct 与纯推理/纯行动的对比维度纯推理Chain-of-Thought纯行动Tool-onlyReAct推理能力强弱强行动能力无强强可解释性高低高适用场景问答、分析数据查询、API 调用复杂任务、多步推理ReAct vs CoT推理行动 vs 纯推理ReAct 的优势可解释性每步都有推理过程便于调试和审查灵活性能根据中间结果动态调整后续行动鲁棒性推理过程帮助模型避免走偏ReAct 的局限Token 消耗每步都需要 LLM 调用成本较高延迟推理过程增加响应时间复杂度需要设计合适的 Prompt 和工具接口总结ReAct 是推理Thought和行动Action交替的 Agent 设计模式Thought 是思维链驱动决策模型用自然语言说明推理过程Action 是执行具体操作可以是工具调用或返回最终答案Observation 是获取执行结果作为下一轮推理的输入ReAct 兼顾推理和行动适用于复杂任务和多步推理大模型的知识又多又杂到底怎么学做这行久了被问最多的问题就一个大模型的知识又多又杂我到底先学啥翻了一堆资料看啥都像重点结果啥都没学进去。今天把我自己一路摸出来的顺序捋一遍零基础、应届生、转行的都适用。跟着走至少方向不乱、不瞎忙学完拿得出手。第一阶段10天初阶应用这一阶段就一个目标把大模型真正玩明白不是只会聊天那种而是能调教它、能用代码把大模型和业务接起来。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用这阶段正式进实战目标很实在做出两个能拿出手的东西——一个私有知识库一个 agent 对话机器人。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…走完这 30 天Python 或 JavaScript 背景的基本能独立做一套 RAG 应用简历上也敢写大模型应用开发了。第三阶段约20天动手微调学到这你已经开始 “造” 模型了 —— 通过微调搞出垂直领域的专用小模型。为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你从 “只会用” 变成 “能造” 的 AI 小子。那么你还想往下探索吗想要入局AI大模型赛道、抢占行业红利的朋友微信扫描下方CSDN官方认证二维码即可100%免费领取全套学习资料第四阶段20天商业闭环部署落地技术学完落地才算数。这阶段带你搞明白大模型怎么真正跑起来、用起来。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…想要入坑大模型的朋友给大家准备了一份2026 年最新 AI 大模型全套学习资料1、大模型系统化学习路线2、大模型学习视频教程3、大模型学习书籍电子文档4、AI大模型最新行业报告5、大模型项目实战配套源码6、2026大模型大厂面试真题7、为什么要学习大模型我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年人才缺口已超百万凸显培养不足。随着AI技术飞速发展预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。8、适合谁学传统后端 / Java / 前端开发想转型 AI 应用大学生、应届生想拿更好的 offer产品经理、运营想武装职业竞争力技术负责人想给团队落地提效学习是反人性的但回报是真金白银。技术会更新赛道会切换但只要你先动手机会就永远站在你这边。9、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。想要入局AI大模型赛道、抢占行业红利的朋友微信扫描下方CSDN官方认证二维码即可100%免费领取全套学习资料好了就写到这。路线是死的人是活的卡住了随时来问我。觉得有用就点个收藏别让它进收藏夹吃灰——动起来比啥都强。