ReAct模式介绍

ReAct (Reason + Act)是由 Google Research 和普林斯顿大学的研究者在 2022 年提出的设计模式。它是目前构建 AI Agent(智能体) 最主流、最基础的架构之一。

ReAct 的核心思想是:将大模型的**逻辑推理(Reasoning)能力与外部工具执行(Acting)**能力结合在一起。


1. 核心设计逻辑:思维与行动的交响

在 ReAct 出现之前,模型的使用通常分为两派:

  • Chain of Thought (CoT):只思考,不行动。模型在内部推导,但无法获取外部实时信息。
  • Act-only:只行动,不思考。模型直接输出 API 调用指令,但缺乏规划,容易在复杂任务中出错。

ReAct 将两者结合,形成了一个循环(Loop):

  1. Thought (思考):模型分析当前任务,制定下一步计划或反思之前的行动。
  2. Action (行动):根据思考的结果,选择并调用外部工具(如搜索、数据库查询、计算器)。
  3. Observation (观察):接收工具返回的结果(外部反馈)。
  4. 循环:模型根据"观察"到的新信息,进行下一轮"思考",直到得出最终答案。

2. ReAct 的标准提示词结构

ReAct 模式非常依赖于结构化的提示词(Prompt)。一个典型的 ReAct 推理过程如下:

Question: 现在的气温适合穿短袖吗?

Thought: 我需要知道用户当前所在城市以及该城市的当前气温。首先我要查询用户的位置。

Action: get_current_location()

Observation: 上海

Thought: 我已经知道位置是上海。现在我需要查询上海的当前天气。

Action: get_weather(city="上海")

Observation: 28°C,晴天。

Thought: 上海目前气温 28°C。28°C 属于比较温暖/炎热的天气,非常适合穿短袖。

Final Answer: 上海目前气温为 28°C,天气晴朗,非常适合穿短袖。


3. ReAct 的关键优势

  • 减少幻觉 (Grounding):模型不再仅仅依赖内部的预训练权重(可能过时或错误),而是通过"行动"获取外部真实数据,使回答有据可查。
  • 高可解释性:整个推理过程(Thought 步骤)是透明的。开发者可以清楚地看到 Agent 为什么选择这个工具,以及它是如何理解工具返回的结果的。
  • 动态规划:Agent 可以根据外部环境的反馈随时调整策略。如果第一个工具调用失败或返回了意料之外的结果,模型可以通过下一轮 Thought 进行自我修正。

4. 工程实现中的核心组件

在代码实现层面(如使用 LangChain 或手动构建),ReAct 模式通常涉及以下组件:

  1. 大语言模型 (LLM):作为"大脑",负责生成 Thought 和决定 Action。
  2. 工具集 (Tools):定义好的 API、函数或脚本,附带详细的文本描述(让模型知道什么时候该用它)。
  3. 控制循环 (Executor/Orchestrator) :一段逻辑代码,负责解析模型输出的 Action,调用对应的函数,并将结果作为 Observation 拼接回上下文。
  4. 停止准则 (Stop Sequences) :防止模型在生成 Observation 之前"胡言乱语",通常会让模型在输出 Action 后停止生成,等待外部程序的输入。

5. ReAct 的局限性

  • 推理成本高:因为每一轮循环都要将之前的对话历史重新发给模型,随着步骤增加,Token 消耗呈指数级增长。
  • 延迟明显:多次往返调用模型和外部工具,导致最终用户感知的响应速度较慢。
  • 逻辑坍塌:在极长路径的任务中,模型可能会在中间步骤出错,并在错误的路径上越走越远(需要配合前文提到的"反思机制"来缓解)。

总结

ReAct 是 Agent 的"标准动作"。它模拟了人类解决问题的过程:先想一下(Thought),再动手试一下(Action),看看结果(Observation),最后根据结果继续思考。这种模式是实现高度自主、能够处理复杂现实任务的 AI 系统的基础。

相关推荐
weixin_468466852 小时前
从“看懂”到“做到”:视觉-语言-动作模型如何让机器人真正执行指令
人工智能·ai·机器人·大语言模型·前沿科技
效率工作实验室6 小时前
自定义Agent平台有哪些?灵活搭建专属AI智能体的方案
ai·自定义·agent·平台·平台有哪些
知了一笑7 小时前
人与AI互相效力:谁才是受益者?
ai·aigc·ai产品·ai工作流
一只游鱼7 小时前
LangGraph快速入门 —— Agent 是怎么转起来的
人工智能·ai·agent·langgraph
西索斯coding8 小时前
gpt-image-2.5-sunburst 和 gemini-3.1-flash-image 差多少?60 组项目素材的成功成本评测框架
java·linux·gpt·ai
wflynn11 小时前
Claude Sonnet 5自主选药选坐标完成小鼠脑部手术,更强模型拒绝执行
ai·技术
这是谁的博客?12 小时前
AI 加速器 RTL 数字系统设计深度解析:从 MAC 阵列 Verilog 实现到时序收敛与时钟功耗的芯片落地全链路
人工智能·macos·ai·verilog·数字ic设计·ai芯片·rtl
信息安全失业大专人员12 小时前
每日了解一个智能体-WorkBuddy
开发语言·ai·c#·智能体
OpenAnolis小助手12 小时前
龙蜥社区亮相 GOSIM AI Vision Forum 共话“Agentic Native”开源新
人工智能·ai·开源·操作系统·龙蜥社区·agent
恩喜玛生物13 小时前
03_GROMACS分子动力学实战:从 Factor Xa 输入准备到轨迹分析
ai