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 系统的基础。

相关推荐
城管不管9 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
Summer-Bright11 小时前
深度 | Agent框架大洗牌:AutoGen退场后的新秩序
人工智能·ai·语言模型·ai软件
土星云SaturnCloud11 小时前
抽水蓄能设备智慧运营:基于土星云边缘计算实现机组全生命周期预测性维护
服务器·人工智能·ai·边缘计算
wang_yb13 小时前
用相关性分析消除“冗余特征”
ai·databook
阿文和她的Key14 小时前
GPT-5.6 降价后, API 账单的三层漏斗该怎么拆
人工智能·gpt·ai·chatgpt
thesky12345615 小时前
27届大模型岗面试准备(十四):多模态大模型 VLM——从视觉编码器到多模态推理的完整链路
人工智能·ai·大模型
一根数据线15 小时前
BIM建模效率低?试试和AI工具配合使用
人工智能·ai·3d建模·3d模型·bim·ai建模·造形家
lianboxinwen15 小时前
金融家装AI外呼自定义话术有哪些限制?
ai
ajassi200016 小时前
AI语音智能体开发日记(三)解决小程序配网中的蓝牙命名与MAC地址获取问题
ai·apache·ai编程
张永伟营销17 小时前
从SEO到GEO:技术人视角下的生成式引擎优化架构与实践
搜索引擎·ai·架构