reAct
2026年2月1日大约 4 分钟
reAct
Reasoning and Acting
ReAct 架构详解与实战应用
ReAct 架构的核心价值
大模型应用落地的关键在于解决「除了陪聊还能做什么」的问题。传统 AI 客服仅能进行情绪安抚,而基于 ReAct 架构的 Agent 可通过调用外部工具(如物流系统查单号、发起退款)实现实际功能,这是玩具与生产力的本质区别,也是行业核心技术壁垒之一。
ReAct 核心原理解析
ReAct 是 reasoning(推理)和 acting(行动)的缩写,核心是让模型具备「思考 → 行动 → 观察」的闭环能力。
- 传统大语言模型(如 ChatGPT):如同「密室博学家」,仅能基于内部知识推理,易产生幻觉
- ReAct:通过引入外部工具调用(如查天气、数据库、运行代码)和实时反馈,实现「知行合一」
ReAct 核心循环
| 步骤 | 说明 | 示例 |
|---|---|---|
| Thought(思考) | 分析问题并决定需要调用的工具 | 用户问北京天气,需调用天气查询 API |
| Action(行动) | 执行工具调用 | 调用天气查询 API |
| Observation(观察) | 获取工具返回结果,基于结果调整后续决策 | 返回「北京晴 25 度」,形成闭环 |
与 COT、TOT 的对比
| 方法 | 特点 | 局限性 |
|---|---|---|
| COT(思维链) | 仅依赖模型内部权重推理 | 无法获取实时信息,易出现「幻觉积累」(一步错步步错) |
| TOT(思维树) | COT 升级版,推理多种可能性并搜索最优解 | 成本高、速度慢,工业界落地受限 |
| ReAct | 结合思考与行动,通过外部反馈实时纠错 | 是 Agent 落地的实用架构 |
实战案例:Trip Genius 旅游规划项目
项目背景
旅游规划场景需动态处理天气、机票价格、用户偏好等变量,传统规则引擎无法应对(如天气变化、实时价格波动),需 ReAct Agent 实现动态适应。
技术栈与实现
技术栈:Python + LangChain 框架(封装 ReAct 循环,无需重复造轮子)
Prompt 工程:
- 定人设:设定为「资深旅游规划师」,规范语气和思维方式
- 给工具:提供天气查询、机票搜索、酒店预订等工具,并说明功能
- 定规则:强制按
thinking → action → observation格式思考,确保推理过程可追溯
代码核心:通过 LangChain 构造 Agent,指定类型为 zero-shot-react-description,开启调试日志可观察 Agent 思考全过程。
运行流程示例
用户需求:「去三亚玩 3 天,预算 5000,避开雨天」
- 思考:需先查三亚天气
- 行动:调用天气 API
- 观察:返回「下周三有暴雨」
- 动态调整:将潜水安排在周二(晴天),周三改为室内活动,体现环境动态适应能力
进阶难点与解决方案
| 难点 | 问题 | 解决方案 |
|---|---|---|
| 存在性验证 | 模型可能虚构不存在的信息(如不存在的航班号 CA8888) | 代码层强制调用 API 验证,返回 404 则触发重试机制 |
| 预算熔断 | 模型数学能力弱,易超支(如预算 5000 规划 8000 行程) | 硬代码约束,超支时返回错误信息,强制 Agent 重新规划 |
| 逻辑一致性 | 行程安排出现物理矛盾(如上午三亚看海、下午哈尔滨看冰雕) | 添加物理校验层,防止常识性错误 |
| 动态工具选择 | 环境变化需调整策略 | 根据环境调整工具权重(如台风预警时锁定户外活动,提升安全工具权重) |
面试答题结构化演练
STAR 法则应用
- Situation & Task:强调痛点(旅行场景碎片化、动态化,传统规则引擎失效),需构建自我修正的 Agent
- Action:使用 ReAct + LangChain,设计后置校验层(预算熔断)和物理一致性检测(抗幻觉)
- Result:数据化成果(规划效率提升 50%,恶劣天气风险规避率 100%)
答题模板
- 定调:ReAct 核心是「知行合一」,是 Agent 落地的事实标准
- 痛点:项目中用户面临动态场景,静态规则失效
- 技术方案:基于 LangChain 实现 ReAct,创新点在于后置校验层(将超支错误作为观测结果反馈给 Agent)
- 抗幻觉措施:引入物理一致性检测,防止行程矛盾
- 数据结果:效率提升 50%,风险规避率 100%
