ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

ReAct大模型学习指南:小白也能掌握的推理+行动Agent模式(收藏版)

ReAct大模型学习指南:小白也能掌握的推理+行动Agent模式(收藏版)

本文详细拆解了ReAct大模型的核心思想,即推理(Thought)与行动(Action)的交替循环。通过Thought阶段用自然语言描述推理过程、Action阶段执行具体操作、Observation阶段获取执行结果,ReAct模式让Agent每步决策都有迹可循。文章对比了ReAct与纯推理/纯行动模式的优劣,指出ReAct虽消耗较高但可解释性强,特别适合复杂任务。对于想入门大模型开发的小白,本文提供了实用的Agent设计思路和代码示例,建议收藏学习。

ReAct 命名由来

ReAct 是一个合成词,由两部分组成:

Re —— 取自 Reasoning(推理)

Act —— 取自 Acting(行动)

把两个词的"主干"拼起来就是 ReAct:

ReAct 命名由来: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 的设计原则:

  1. 明确推理:模型必须用自然语言说明"为什么"要做这个行动

  2. 引用观察:推理必须基于当前观察,不能凭空想象

  3. 规划步骤:如果任务复杂,模型应该分解为多个子步骤

示例:

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 f"Observation: {result}" # 返回最终答案 elif decision["type"] == "final_answer": return f"Final Answer: {decision['answer']}"

Action 的类型:

类型说明示例
工具调用调用外部工具获取信息或执行操作get_weather("北京")
最终答案任务完成,返回结果final_answer("北京今天晴")
中间步骤任务未完成,继续循环continue

Observation:获取执行结果

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_result

Observation 的设计原则:

  1. 简洁性:只包含必要信息,不添加额外解释

  2. 结构化:用清晰的格式组织结果,便于下一轮推理

  3. 错误处理:如果工具执行失败,返回错误信息而非崩溃

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-only)ReAct
推理能力强弱强
行动能力无强强
可解释性高低高
适用场景问答、分析数据查询、API 调用复杂任务、多步推理

ReAct vs CoT:推理+行动 vs 纯推理

ReAct 的优势:

  1. 可解释性:每步都有推理过程,便于调试和审查

  2. 灵活性:能根据中间结果动态调整后续行动

  3. 鲁棒性:推理过程帮助模型避免走偏

ReAct 的局限:

  1. Token 消耗:每步都需要 LLM 调用,成本较高

  2. 延迟:推理过程增加响应时间

  3. 复杂度:需要设计合适的 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%免费领取全套学习资料!

好了,就写到这。路线是死的,人是活的,卡住了随时来问我。觉得有用就点个收藏,别让它进收藏夹吃灰——动起来比啥都强。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进