【新手向】一文拆解ReAct框架:让大模型学会边想边做,实现“阶层跨越”
目录
-
框架初步分析
1.1 ReAct名称解读
1.2 应用场景关联与初步认知 -
ReAct核心知识
2.1 大模型推理的局限性
2.2 ReAct的基本定义 -
ReAct框架原理拆解
3.1 Thought-Action-Observation循环
3.2 外部工具调用机制
3.3 与纯推理方案的区别 -
实战案例
-
拓展
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通过引入工具调用实现了模型与环境的实时交互。三者可以结合使用,不是替代关系。
喜欢我的文章请点关注,我们一起学习进步!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)