ReAct详解 - 让AI边想边做
这篇文章解决什么问题:想用AI做研究、写报告、分析数据,但AI不知道最新信息?ReAct让AI能够自己查资料、算数据、做验证。
你需要什么基础:了解AI基本原理即可
看完能做什么:让AI像真人一样,先想再查,查完再想,最终给你完整答案
更新日期:2026年4月
一、ReAct是什么?
1.1 问题的引入
你有没有遇到过这种情况:
你问AI:“特朗普现在支持率多少?”
AI回答:“根据我的训练数据,特朗普的支持率是XX%…”
你一看这个数据,傻眼了——这是两年前的过时数据!
问题在哪? AI不是万能的,它有两个明显的局限:
- 知识有截止日期:AI的训练数据是”快照”,有截止日期,2025年之后的事情它不知道
- 无法验证信息:它可能一本正经地胡说八道
1.2 ReAct的解决方案
ReAct(Reasoning + Acting,推理+行动)就是为了解决这些问题。
核心思想:让AI不仅能”想”,还能”做”——调用工具来获取最新信息、验证事实、执行任务。
1.3 打个比方
普通AI = 一个人在考场上闭卷考试
- 会的就答,不会的瞎猜
- 不知道的就是不知道
- 可能出错但不自知
ReAct AI = 一个人在开卷考试 + 有互联网
- 遇到不确定的,查资料
- 不懂的数字,算一下
- 不确定的信息,验证一下
- 有问题就查,有疑问就验证
二、ReAct是怎么工作的?
2.1 核心循环
ReAct的核心是一个”思考-行动-观察”的循环:
用户问题
↓
思考(Thought):分析问题,决定下一步做什么
↓
行动(Action):调用工具(搜索、计算、查询...)
↓
观察(Observation):获取行动结果
↓
思考(Thought):基于观察,分析下一步
↓
行动(Action):继续调用工具
↓
...(循环直到得到答案)
↓
最终答案
2.2 三个核心环节
1. Thought(思考)
- 分析当前问题
- 决定需要什么信息
- 规划下一步行动
2. Action(行动)
- 调用工具获取信息
- 搜索、计算、查询、读取等
3. Observation(观察)
- 记录行动结果
- 分析结果是否足够
- 决定是否继续
2.3 一个完整的例子
用户问题:特斯拉股票现在多少钱?值得买吗?
---
Thought 1:用户想知道特斯拉股票的当前价格和投资建议。
我需要先获取最新的股价信息。
Action 1:search[特斯拉股票当前价格 2026年4月]
Observation 1:搜索结果显示特斯拉当前股价约248美元。
---
Thought 2:好的,我获取到了股价。现在需要获取一些分析师评级
和近期股价走势,帮助判断是否值得投资。
Action 2:search[特斯拉股票分析师评级 投资建议 2026]
Observation 2:搜索结果显示:
- 高盛目标价:320美元
- 摩根士丹利目标价:290美元
- 分析师平均评级:中性偏多
---
Thought 3:现在我有足够信息进行分析了。让我综合给出建议。
最终答案:
特斯拉当前股价约248美元。基于分析师平均目标价290-320美元,
相对有一定上涨空间。但需要考虑市场波动风险。
建议:观望为主,等待更好的入场时机。
三、ReAct能调用哪些工具?
3.1 信息获取类工具
| 工具 | 功能 | 例子 |
|---|---|---|
| 搜索 | 搜索网络信息 | 搜索最新新闻、股价、事件 |
| 知识库查询 | 检索内部知识 | 查公司文档、产品手册 |
| 数据库查询 | 查询结构化数据 | 查销售数据、用户数据 |
| API调用 | 调用外部服务 | 查天气、汇率、航班 |
3.2 信息处理类工具
| 工具 | 功能 | 例子 |
|---|---|---|
| 计算器 | 数学运算 | 计算增长率、利润率 |
| 代码执行 | 运行代码 | 数据处理、模型运行 |
| 解析器 | 解析文档 | 提取PDF、表格中的数据 |
| 格式化 | 整理输出 | 生成报告、图表 |
3.3 行动执行类工具
| 工具 | 功能 | 例子 |
|---|---|---|
| 邮件发送 | 发送邮件 | 发送报告、通知 |
| 日历管理 | 安排日程 | 预约会议、设置提醒 |
| 文件操作 | 管理文件 | 保存文档、创建文件夹 |
四、ReAct提示词模板
4.1 基础模板
你是一个研究助手,可以通过搜索来回答问题。
## 可用工具
- search(查询词):搜索网络信息
- calculate(表达式):执行数学计算
- finish(答案):完成任务,输出最终答案
## 工作方式
对于每个问题,你将按照以下格式进行:
Thought 1:[你的思考,分析需要什么信息]
Action 1:[调用的工具和参数]
Observation 1:[工具返回的结果]
Thought 2:[基于结果的思考]
Action 2:[下一个行动]
...
直到你有足够信息给出完整答案,然后用finish()结束。
## 格式要求
- Thought、Action、Observation必须清晰标注
- 每次行动都要有明确的理由
- 最终答案要综合所有信息
---
请回答以下问题:
{user_question}4.2 进阶模板
你是一位专业的研究分析师,可以使用多种工具来完成研究任务。
## 你的能力
1. **信息获取**:搜索网络、查询知识库、读取文件
2. **数据分析**:计算统计指标、趋势分析、对比分析
3. **综合研究**:整合多源信息,形成有见地的结论
## 可用工具
| 工具 | 功能 | 格式 |
|------|------|------|
| search | 网络搜索 | search["查询内容"] |
| retrieve | 知识库检索 | retrieve["主题"] |
| calculate | 数学计算 | calculate["表达式"] |
| analyze | 数据分析 | analyze[数据类型] |
| finish | 完成研究 | finish[答案] |
## 研究流程
1. **问题拆解**:把复杂问题分解为可执行的子问题
2. **信息收集**:按优先级收集所需信息
3. **分析整合**:综合所有信息进行分析
4. **结论输出**:给出有据可查的结论
## 输出规范
- 每步都要有Thought说明理由
- 结论要有数据支撑
- 注明信息来源
---
开始研究:
{research_question}4.3 自定义模板
# ReAct提示词模板(可自定义)
## 角色定义
[描述你希望AI扮演的角色]
## 工具定义
| 工具名称 | 功能 | 调用格式 |
|----------|------|----------|
| [工具1] | [功能描述] | [格式] |
| [工具2] | [功能描述] | [格式] |
## 行为规则
1. [规则1]
2. [规则2]
3. [规则3]
## 终止条件
当满足以下条件时,使用finish结束:
- [条件1]
- [条件2]
## 输出格式
[你想要的最终输出格式]
---
开始执行:
{user_task}五、实战案例
5.1 案例一:投资研究
# 问题
帮我研究一下苹果公司(AAPL)最近一个季度的财务表现,以及现在的投资价值。
---
Thought 1:这是一个投资研究任务。我需要获取苹果公司的最新财报数据和分析师观点。
Action 1:search["苹果公司 2026年Q1财报 营收利润"]
Observation 1:苹果2026财年Q1财报:
- 营收:1243亿美元(同比+5%)
- 净利润:334亿美元(同比+8%)
- 毛利率:47.3%
- iPhone收入:692亿美元
- 服务收入:277亿美元
---
Thought 2:我获取到了营收数据。现在需要获取分析师对苹果的投资评级和目标价。
Action 2:search["苹果股票 分析师评级 目标价 2026"]
Observation 2:分析师评级汇总:
- 买入评级:35位
- 持有评级:12位
- 卖出评级:3位
- 平均目标价:235美元
- 当前股价:约210美元
---
Thought 3:我有了财务数据和分析师观点。现在需要计算一些关键指标来评估投资价值。
Action 3:calculate["苹果当前股价210美元,EPS约7.2美元,计算PE比率"]
Observation 3:PE比率 = 210 / 7.2 ≈ 29.2
---
Thought 4:我现在有足够信息给出综合分析。
Action 4:finish
## 苹果公司投资研究报告
### 财务表现
| 指标 | 数值 | 同比变化 |
|------|------|----------|
| 营收 | 1243亿美元 | +5% |
| 净利润 | 334亿美元 | +8% |
| 毛利率 | 47.3% | 稳定 |
| EPS | 约7.2美元 | +8% |
| PE比率 | 约29倍 | 合理 |
### 分析师观点
- 35位买入 / 12位持有 / 3位卖出
- 平均目标价235美元,相对当前有12%上涨空间
### 投资建议
**评级:中性偏多**
支撑因素:
1. 营收利润双增长,业绩稳健
2. 服务收入持续增长(高毛利业务)
3. 分析师整体看好,机构持股稳定
风险因素:
1. iPhone增长放缓,缺乏突破性创新
2. 估值处于历史中枢,不便宜
3. 宏观经济不确定性可能影响消费电子需求
**结论**:可以作为长期持有的核心持仓,但短期上涨空间有限。建议逢低布局,不追高。5.2 案例二:竞品分析
# 问题
帮我研究下智能音箱市场的主要竞品,分析下各家的优劣势。
---
Thought 1:这是一个竞品分析任务。我需要先了解智能音箱市场有哪些主要玩家。
Action 1:search["智能音箱市场 主要品牌 2026"]
Observation 1:智能音箱市场主要玩家:
1. 亚马逊Echo系列(Alexa)
2. 谷歌Nest系列(Google Assistant)
3. 苹果HomePod(Siri)
4. 百度小度
5. 小米小爱
6. 华为Sound
---
Thought 2:好的,我了解了主要玩家。现在需要深入了解各家的产品特点和市场份额。
Action 2:search["智能音箱 市场份额 2025 2026"]
Observation 2:市场份额分布(全球):
- 亚马逊:约35%
- 谷歌:约25%
- 百度:约15%
- 其他:25%
中国市场:
- 百度小度:约40%
- 小米小爱:约30%
- 天猫精灵:约20%
- 其他:10%
---
Thought 3:现在我有了市场格局数据,需要了解各家的核心技术差异。
Action 3:search["亚马逊Echo vs 谷歌Nest vs 苹果HomePod 对比 2026"]
Observation 3:核心对比:
| 维度 | 亚马逊Echo | 谷歌Nest | 苹果HomePod |
|------|-----------|-----------|--------------|
| AI助手 | Alexa | Google Assistant | Siri |
| 语音识别 | 强 | 最强 | 中等 |
| 智能家居生态 | 最强 | 强 | 中等(Apple生态) |
| 音质 | 中等 | 中等 | 最强 |
| 价格 | 低 | 中 | 高 |
| 隐私 | 中等 | 中等 | 最强 |
---
Thought 4:我有了全面的竞品信息。现在综合分析给出报告。
Action 4:finish
## 智能音箱市场竞品分析报告
### 市场格局
**全球市场**:亚马逊领先(35%),谷歌第二(25%),百度第三(15%)
**中国市场**:百度领先(40%),小米第二(30%)
### 主要竞品对比
#### 亚马逊Echo系列
**优势**:
- 智能家居生态最完善(支持1万+设备)
- 价格区间广,选择多
- Alexa技能丰富
**劣势**:
- 音质一般
- 隐私保护争议
**目标用户**:追求智能家居体验的用户
#### 谷歌Nest系列
**优势**:
- Google Assistant语音识别最强
- 搜索能力无可比拟
- 性价比高
**劣势**:
- 智能家居生态弱于亚马逊
- 隐私问题
**目标用户**:依赖Google生态的用户
#### 苹果HomePod
**优势**:
- 音质最佳
- Apple生态无缝连接
- 隐私保护最强
**劣势**:
- 价格最高
- Siri智能化程度相对较弱
- 生态封闭
**目标用户**:Apple全家桶用户,音质优先者
### 中国品牌
- **百度小度**:中文交互最强,AI能力突出
- **小米小爱**:米家生态加持,性价比高
- **华为Sound**:音质+鸿蒙生态
### 结论
智能音箱市场格局基本稳定,竞争焦点从"能否用"转向"用得好":
1. 高端音质市场:苹果、华为
2. 智能家居市场:亚马逊、小米
3. AI交互市场:谷歌、百度5.3 案例三:数据验证
# 问题
用户说他们公司的转化率是15%,但老板觉得太低。帮我核实下这个数据是否合理。
---
Thought 1:我需要先了解用户公司的基本情况,才能判断转化率是否合理。
Action 1:retrieve["用户公司信息 业务类型 转化率定义"]
Observation 1:用户公司信息:
- 业务类型:B2B SaaS
- 产品:项目管理软件
- 目标客户:中小企业
- 转化率定义:从免费试用到付费的转化
---
Thought 2:好的,是B2B SaaS的免费转付费转化率。我需要查询行业基准数据。
Action 2:search["B2B SaaS 免费转付费 转化率 行业基准 2025"]
Observation 2:行业数据:
- B2B SaaS行业平均转化率:5-10%
- 优秀水平:10-15%
- 顶尖水平:20%+
- 不同阶段:早期产品转化率较低
---
Thought 3:让我再查一下具体SaaS细分市场的转化率数据。
Action 3:search["项目管理软件 SaaS 转化率 基准"]
Observation 3:项目管理SaaS细分数据:
- 行业平均:8-12%
- 细分市场平均:10-15%
- 用户反馈型产品更高:15-20%
---
Thought 4:我现在有足够信息进行综合分析了。
Action 4:finish
## 转化率评估报告
### 用户公司数据
- 业务类型:B2B SaaS
- 产品:项目管理软件
- 转化率:15%
### 行业基准对比
| 对比维度 | 用户数据 | 行业平均 | 行业优秀 |
|----------|---------|----------|----------|
| 转化率 | 15% | 5-10% | 10-15% |
### 结论
**15%的转化率属于行业优秀水平,不是"太低",而是"相当不错"。**
### 分析
1. 如果转化率定义是从"注册"到"付费",15%确实优秀
2. 如果转化率定义是从"试用"到"付费",15%是良好水平
3. 需要结合获客成本和LTV来看ROI
### 建议
老板觉得低可能是因为:
1. 不了解行业基准
2. 只看绝对数字,没有相对比较
3. 可能和顶级公司(如Slack早期达到30%+)比
建议给老板提供:
1. 行业对比数据
2. 趋势分析(转化率在提升还是下降)
3. 与竞品的对比六、ReAct的高级用法
6.1 自我纠错
ReAct可以加入纠错机制:
Thought 1:[分析问题]
Action 1:[执行]
Observation 1:[结果]
如果观察结果有问题:
→ Thought 2:我注意到结果可能不准确,需要重新验证
→ Action 2:[重新执行]
→ Observation 2:[新结果]
6.2 多工具协同
复杂任务可能需要多个工具配合:
Thought 1:[分析问题]
Action 1:[搜索信息]
Observation 1:[搜索结果]
Thought 2:[需要计算]
Action 2:[执行计算]
Observation 2:[计算结果]
Thought 3:[需要验证]
Action 3:[查询数据库]
Observation 3:[验证结果]
...综合所有结果...
6.3 规划执行分离
对于复杂任务,可以先规划再执行:
阶段1:规划(Plan)
→ 分解任务
→ 确定需要的工具
→ 制定执行顺序
阶段2:执行(Act)
→ 按计划执行
→ 根据实际情况调整
七、ReAct vs 其他技术
7.1 横向对比
| 技术 | 能力 | 适用场景 |
|---|---|---|
| 普通CoT | 只推理 | 不需要实时信息 |
| ReAct | 推理+行动 | 需要查资料、算数据 |
| ToT | 多路径探索 | 需要权衡选择 |
| Self-Consistency | 多路径验证 | 需要高准确率 |
7.2 选择指南
| 问题类型 | 推荐技术 | 原因 |
|---|---|---|
| 数学推理 | CoT | 只需要内部知识 |
| 实时信息查询 | ReAct | 需要搜索最新数据 |
| 重大决策 | ToT | 需要多方案权衡 |
| 重要结论验证 | Self-Consistency | 需要多路径验证 |
| 复杂综合任务 | ReAct + CoT/ToT | 组合使用 |
八、常见问题
8.1 Q:ReAct和普通AI搜索有什么区别?
A:普通AI搜索是AI自己回答,可能有幻觉。ReAct是让AI显式地调用工具,每一步都有记录可查。
8.2 Q:ReAct总是比普通AI好吗?
A:不是。简单问题用普通AI更快。ReAct适合:
- 需要实时信息的任务
- 需要验证事实的任务
- 复杂的多步骤任务
8.3 Q:ReAct会不会很慢?
A:ReAct需要多次调用工具,确实比单次回答慢。但对于需要准确信息的任务,这个时间值得花。
8.4 Q:ReAct适合所有AI吗?
A:需要AI支持工具调用。主流的Claude、GPT等都可以,通过API调用。
九、总结
ReAct的核心价值
| 价值 | 说明 |
|---|---|
| 实时性 | 获取最新信息 |
| 可验证 | 每步都有依据 |
| 可追溯 | 过程透明可见 |
| 更准确 | 减少幻觉错误 |
什么时候用ReAct
| 场景 | 推荐程度 |
|---|---|
| 投资研究 | ⭐⭐⭐⭐⭐ 必用 |
| 竞品分析 | ⭐⭐⭐⭐⭐ 必用 |
| 数据验证 | ⭐⭐⭐⭐ 建议用 |
| 实时新闻 | ⭐⭐⭐⭐ 建议用 |
| 简单问答 | ⭐ 不需要 |
一句话总结
ReAct让AI从”闭卷考试”变成”开卷考试+查资料”,通过思考-行动-观察的循环,AI能够获取实时信息、验证数据、完成任务,比普通AI更准确、更可靠。
相关主题
- 提示词工程 - 提示词工程入门
- CoT进阶技术 - 纯推理技术
- Tree_of_Thoughts详解 - 多路径探索
- Self_Consistency详解 - 多路径验证
- Least_to_Most详解 - 问题分解技术