目录

  1. 框架初步分析
    1.1 ReAct名称解读
    1.2 应用场景关联与初步认知

  2. ReAct核心知识
    2.1 大模型推理的局限性
    2.2 ReAct的基本定义

  3. ReAct框架原理拆解
    3.1 Thought-Action-Observation循环
    3.2 外部工具调用机制
    3.3 与纯推理方案的区别

  4. 实战案例

  5. 拓展


1. 框架初步分析

1.1 ReAct名称解读

ReAct是Reasoning与Acting两个词的缩写,分别对应"推理"和"行动"。从命名可以看出,这个框架的核心是将模型的思考过程与执行操作结合起来,而不是让模型仅进行内部推理。

1.2 应用场景关联与初步认知

在了解ReAct之前,让我们先看大模型在实际使用中的两个典型问题:

1. 知识截止:模型训练数据有固定截止日期,无法获取实时信息
2. 幻觉问题:对不确定的内容,模型会生成看似合理但实际错误的信息

ReAct的设计思路是:当模型遇到超出自身知识范围的问题时,不再基于内部记忆推测,而是主动调用外部工具获取真实数据,再基于返回结果继续分析


2. ReAct核心知识

2.1 大模型推理的局限性

技术的出现是为了解决阶段性痛点。所以,要学习ReAct框架,我们要先知道它为什么被研发出来。当前大语言模型主要存在以下局限:

问题 具体表现
知识截止 训练数据截止到某个时间点,无法回答最新事件
幻觉 对不确定的内容生成错误信息,且表述看似合理
无法执行操作 不能主动查询数据库、调用API或执行代码

这些局限在需要实时数据或精确事实的场景下影响很大。特别是幻觉问题,很多朋友前几年肯定深受其害,AI认真思考后信誓旦旦地给出“正确答案”,结果却闹了笑话,让人恼怒。使用ReAct框架就可以有效地缓解这种问题。

2.2 ReAct的基本定义

ReAct框架由Google Research在2022年提出,核心机制是让大语言模型在任务执行过程中交替进行推理和行动,并通过观察结果不断调整后续策略。

其基本流程分为三步:

步骤 名称 作用
第一步 Thought(思考) 分析当前状态,决定下一步需要获取什么信息
第二步 Action(行动) 调用外部工具(搜索引擎、API、数据库等)执行操作
第三步 Observation(观察) 接收工具返回的结果,更新上下文

这三个步骤循环执行,直到模型判断已获取足够信息,输出最终答案。


3. ReAct框架原理拆解

3.1 Thought-Action-Observation循环

这个循环是ReAct的核心执行逻辑,流程如下:

Thought(思考) → Action(行动) → Observation(观察) → Thought(再思考) → ...

每一步Action都会调用一个外部工具。工具返回的结果进入Observation环节,模型基于这个新信息重新评估当前方案,决定下一步行动。这种机制让推理过程可以动态调整,而不是一次性生成固定答案。

3.2 外部工具调用机制

ReAct框架不限制具体使用什么工具,常见的包括:

工具类型 典型用途
搜索引擎 获取实时信息、补充知识盲区
数据库查询 查询结构化数据
代码执行器 执行操作、验证结果
API接口 调用第三方服务

工具返回的真实数据替代了模型的内部推测,这是减少幻觉的关键手段。

3.3 与纯推理方案的区别

这里需要区分几个相关概念:

  • CoT(Chain of Thought):仅让模型展示推理过程,所有信息来自模型内部记忆,遇到知识盲区只能基于训练数据推测
  • ReAct:在推理过程中引入外部工具调用,模型可以主动获取实时信息,不再局限于内部知识

两者的本质区别在于是否具备与外部环境交互的能力。


4. 实战案例

施工中…后续发布,敬请期待~(偷懒了,之后会单开一篇演示)
补档:实战案例已新鲜出炉,详阅博客地址


5. 拓展(非必要学习内容,但会总比不会强)

CoT(Chain of Thought)仅展示中间推理步骤,不涉及外部环境交互;
ToT(Tree of Thought)在此基础上增加了多路径探索和回溯机制,但仍局限于模型内部知识;
ReAct通过引入工具调用实现了模型与环境的实时交互。三者可以结合使用,不是替代关系。

喜欢我的文章请点关注,我们一起学习进步!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐