第3章:ReAct架构详解
在前两章中,我们了解了智能体的基本概念和工作原理。本章将深入介绍智能体最常用的架构——ReAct。这是让AI既能思考又能行动的核心方法论,掌握了它,你就掌握了智能体开发的精髓。
什么是ReAct
ReAct是 Reasoning(推理) + Acting(行动) 的缩写,由Google研究团队在2022年提出。它是目前最经典、最广泛使用的智能体架构。
核心思想:让AI像人类一样"边想边做"——不是一次性给出答案,而是通过多轮的"思考→行动→观察"循环,逐步解决问题。
传统的AI对话是"一问一答"模式,而ReAct让AI拥有了自主解决问题的能力。它可以在必要时调用工具获取信息,根据反馈调整策略,最终完成复杂任务。
为什么ReAct有效
你可能会问:为什么不能直接让AI一次性给出答案?为什么要这么麻烦地"边想边做"?
原因有三个:
- 信息不足 —— AI的知识有截止日期,对于实时信息(如今天的股价、最新新闻)必须去查询
- 任务复杂 —— 复杂任务需要拆解成多个步骤,一步步执行
- 结果验证 —— 中间结果需要验证,发现错误可以及时修正
类比理解:ReAct就像一位侦探破案。他不会凭空猜测凶手是谁,而是先分析线索(思考),然后去现场调查、询问证人(行动),获得新的信息后再次分析(观察),如此循环直到破案。
ReAct循环:四个关键步骤
ReAct的核心是一个循环过程,每个循环包含四个阶段:
1. Thought(思考)
AI分析当前情况,思考下一步该做什么:
- 理解用户的问题和目标
- 评估当前已掌握的信息
- 制定行动计划
- 确定下一步需要什么信息或操作
2. Action(行动)
根据思考结果,执行具体操作:
- 调用搜索工具查询信息
- 调用计算工具进行运算
- 调用API获取数据
- 读写文件或数据库
3. Observation(观察)
接收行动的结果:
- 查看工具返回的数据
- 分析搜索结果
- 理解API响应
4. Finish(完成)
当任务完成时,输出最终答案:
- 综合所有收集的信息
- 给出完整的回答或解决方案
- 结束当前任务
ReAct循环流程图解
下面用图示来展示ReAct的完整循环过程:
┌─────────────────────────────────────────────────────────────┐
│ 用户输入问题 │
│ "查询特斯拉股价并分析是否值得买入" │
└─────────────────────────┬───────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Thought │───▶│ Action │───▶│Observe │───▶│ Thought │ │
│ │ 思考 │ │ 行动 │ │ 观察 │ │ 思考 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ ▲ │ │
│ └──────────────────────────────────────────┘ │
│ 循环直到 │
│ 获得足够信息 │
└─────────────────────────┬───────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ ┌─────────┐ │
│ │ Finish │───▶ 输出最终答案和投资建议 │
│ │ 完成 │ │
│ └─────────┘ │
└─────────────────────────────────────────────────────────────┘
单次循环示例:
═══════════════════════════════════════════════════════════════
Thought: 用户想了解特斯拉股价和投资建议
我需要先查询当前股价
Action: 调用股票查询API
参数: { "symbol": "TSLA" }
Observation: 特斯拉当前股价 $250.00
今日涨跌: +3.2%
市值: 8000亿美元
[进入下一轮循环...]
═══════════════════════════════════════════════════════════════
完整示例:分析特斯拉股票
让我们通过一个完整例子来理解ReAct的实际运作。用户的问题是:"查询特斯拉最新股价并分析是否值得买入"
第一轮循环
【Thought】
用户想了解特斯拉的股价和投资建议。我需要:
1. 先查询特斯拉当前股价
2. 搜索最新相关新闻
3. 综合分析后给出建议
下一步行动:调用股票查询API获取股价
【Action】
调用工具: stock_price
参数: { "symbol": "TSLA" }
【Observation】
{
"symbol": "TSLA",
"price": 250.00,
"change": "+7.50",
"change_percent": "+3.09%",
"market_cap": "8000亿",
"pe_ratio": 65.4,
"52w_high": 299.29,
"52w_low": 138.80
}
第二轮循环
【Thought】
获得了股价信息:
- 当前价 $250,今日涨3.09%
- PE比率65.4(偏高)
- 距离52周高点还有约20%空间
- 距离52周低点已经涨了80%
我还需要了解最新新闻,看看有什么影响股价的重大事件
【Action】
调用工具: search_news
参数: { "query": "特斯拉 Tesla 最新新闻 2024" }
【Observation】
搜索结果摘要:
1. 特斯拉Q4交付量超预期,同比增长20%
2. 自动驾驶FSD V12版本正式发布
3. 上海工厂产能提升,成本下降15%
4. 竞争对手比亚迪销量紧追其后
第三轮循环
【Thought】 现在我已经掌握了: ✓ 股价数据:$250,上涨趋势 ✓ 基本面:交付量增长,FSD进展 ✓ 风险因素:竞争激烈,PE偏高 我有足够信息给出投资建议了 【Finish】 📊 特斯拉(TSLA)投资分析报告 【当前状况】 • 股价:$250.00(今日+3.09%) • 估值:PE 65.4,属于较高水平 • 技术面:处于52周中高位区间 【利好因素】 ✓ Q4交付量超预期,增长势头强劲 ✓ FSD V12发布,技术护城河加深 ✓ 生产成本持续下降 【风险提示】 ⚠ 估值偏高,PE达65倍 ⚠ 电动车市场竞争白热化 ⚠ 距离52周高点不远,上涨空间有限 【建议】 🔸 激进投资者:可考虑小仓位参与,关注FSD商业化进展 🔸 稳健投资者:建议等待回调至$200-220区间再考虑入场 🔸 当前不宜重仓,保持观察
关键洞察:注意AI是如何一步步收集信息、调整策略的。它没有一开始就尝试回答,而是先收集必要数据,这种"按需获取信息"的方式让回答更准确、更有依据。
ReAct的优势
相比传统的"一次性回答",ReAct架构有三大核心优势:
| 优势 | 说明 | 实际效果 |
|---|---|---|
| 可解释性强 | 每一步都有明确的Thought记录 | 用户可以清楚看到AI的思考过程,理解决策依据 |
| 错误可追踪 | 哪个环节出错一目了然 | 如果最终答案有误,可以追溯到具体哪一步出了问题 |
| 效果稳定 | 结构化流程减少随机性 | 同样的输入,输出结果更加一致可靠 |
ReAct vs 其他架构
ReAct不是唯一的智能体架构,但它是最通用、最易于理解的。下面是常见架构的简单对比:
- ReAct:思考+行动,适合大多数任务,逻辑清晰
- CoT(思维链):只思考不行动,适合纯推理问题
- Toolformer:专注于工具调用优化
- AutoGPT:更自主,但可能失控
学习建议:作为初学者,建议从ReAct开始。它结构清晰、易于调试,是理解智能体工作原理的最佳入口。
本章小结
本章我们学习了ReAct架构的核心概念:
- ReAct = Reasoning(推理)+ Acting(行动)
- 核心循环:Thought → Action → Observation → ... → Finish
- 让AI像人类一样"边想边做",逐步解决问题
- 优势:可解释、可追踪、效果稳定
预告:下一章我们将学习如何定义和使用工具(Tool),这是ReAct架构中Action阶段的核心要素。没有工具,智能体就像没有手脚的大脑,无法与外部世界交互。