引言:为什么普通聊天机器人一遇到真实任务就不行?
很多人第一次使用大模型时,会觉得它已经很聪明了:
- 能聊天
- 能写代码
- 能翻译
- 能总结
于是自然会产生一个想法:
既然模型这么强,是不是直接接入业务系统就行了?
但真实项目里,你很快会发现:
- 问知识问题:还行
- 做真实任务:经常翻车
例如:
场景1:查天气 + 计算
用户:北京今天25度,比昨天高3度,那昨天多少度?
普通聊天机器人可能回答:昨天可能是22度。
看起来答对了,但它只是猜的,并没有真的查天气、验证温度、执行计算。
场景2:订机票
用户:帮我找下周上海到北京最便宜的航班,并推荐酒店。
普通 LLM 往往只能回答:你可以使用携程、飞猪查询。
它不会真的执行动作。
场景3:企业办公
用户:帮我汇总本周销售数据,生成PPT并发给老板。
传统 Chatbot 通常只能给你步骤建议,它不会真的查数据库、生成文件、发送邮件。
这就是传统聊天机器人和 Agent 的根本分水岭:
Chatbot 会回答问题,Agent 会完成任务。
而单 Agent 时代最经典、最重要的模式,就是 ReAct。
一、ReAct Agent 是什么?
ReAct = Reason + Act(思考 + 行动)
这是经典的 Agent 方法论,到 2026 年仍然是单 Agent 入门首选。
它的核心思想非常简单:
不让模型一次性回答问题,而是让它边思考、边行动、边观察,再继续思考。
普通 LLM 的工作方式
输入问题 → 一次性输出答案
例如:
用户:北京天气怎么样?
模型:北京今天晴天。
问题在于:它可能并没有查天气,只是"像知道答案一样回答"。
ReAct 的工作方式
用户问题
→ Thought(思考)
→ Action(行动)
→ Observation(观察结果)
→ Thought(继续思考)
→ Final Answer
例如:
Thought:我需要查询实时天气
Action:get_weather("北京")
Observation:晴天,25度
Thought:我已经获得天气结果
Final Answer:北京今天晴天,25度。
这就是 ReAct。
二、为什么 ReAct 如此重要?
1. 解决幻觉(Hallucination)
普通模型可能直接猜测天气、价格、事实信息。
ReAct 会先调用工具,再基于结果回答。
不靠记忆回答,靠外部世界回答。
这是 Agent 最核心的价值之一。
2. 解决多步任务
例如:
- 查询北京天气
- 再算昨天温度
- 再给出穿搭建议
普通 Prompt 一次性输出,很容易漏步骤。
ReAct 会拆解执行:
Thought:先查天气
Action:get_weather
Thought:再计算昨天温度
Action:calculator
Thought:最后给建议
3. 解决未知问题
例如:帮我查这个公司 CEO 是谁,并总结背景。
模型未必知道实时信息,但 ReAct 可以:
搜索 → 获取网页 → 总结
所以:
ReAct 让模型具备"探索未知世界"的能力。
三、简单 Prompt、Chain、ReAct 的区别
1. 简单 Prompt
问:北京天气怎么样?
答:北京天气晴朗。
特点:
- 快
- 简单
- 容易幻觉
2. Chain(链式流程)
输入 → Prompt1 → Prompt2 → Prompt3 → 输出
特点:
- 固定流程
- 可控
- 不够灵活
例如:先翻译,再总结,再分类。
3. ReAct Agent
根据问题动态决定下一步。
例如:
- 要天气 → 调天气 Tool
- 要搜索 → 调搜索 Tool
- 要计算 → 调计算器
所以:
Chain 是流程自动化,ReAct 是决策自动化。
四、图解:思考-行动-观察循环
用户问题
↓
Thought(思考)
↓
Action(调用工具)
↓
Observation(得到结果)
↓
Thought(继续思考)
↓
是否完成?
↙︎ ↘︎
否 是
↓ ↓
继续循环 Final Answer
这就是单 Agent 的核心循环。
五、一个真实案例
用户:帮我查上海今天温度,如果高于30度提醒我开空调。
ReAct 执行过程:
Thought:我需要先查上海天气
Action:get_weather("上海")
Observation:32度,多云
Thought:温度高于30度,需要提醒用户
Final Answer:上海今天32度,建议提前开空调。
注意:这里模型不是直接猜,而是查数据 → 判断条件 → 输出结果。
这已经是"智能体"了。
六、为什么 2026 年 ReAct 仍然重要?
虽然已经出现:
- Plan-and-Execute
- Reflexion
- Graph Agent
- Multi-Agent
- Self-Discover
但 ReAct 仍然重要,因为它:
1. 最容易理解
思考 → 行动 → 观察
2. 最容易落地
只需要:
- 一个模型
- 几个工具
就能跑起来。
3. 是其他 Agent 的基础
- Plan-and-Execute = ReAct + 规划器
- Reflexion = ReAct + 自我复盘
- LangGraph Agent = ReAct + 状态图
- Multi-Agent = 多个 ReAct 协作
学会 ReAct,相当于学会 Agent 的语法。
七、ReAct 最小伪代码
python
while not done:
thought = llm(reason(state))
if need_tool(thought):
result = tool.run(...)
state.add(result)
else:
done = True
return answer
这几行代码,就是无数 Agent 框架的底层思想。
八、新手最容易误解的点
误解1:ReAct 就是调用工具
错。Tool Calling 只是 Action 部分。
真正核心是:Reasoning + Action + Observation Loop。
误解2:Prompt 里写 step by step 就是 ReAct
错。那只是思维链(CoT),没有真实 Action。
误解3:ReAct 很复杂
恰恰相反,它是最简单、最经典、最适合入门的 Agent 模式。
九、学习路径建议
理解原理(本篇)
↓
手写最小 ReAct Agent
↓
LangChain ReAct
↓
LangGraph ReAct
↓
加入 Memory
↓
加入反思机制
结语
一句话总结:
Chatbot 是回答问题,ReAct Agent 是为了完成任务。
它通过:
- 思考(Reason)
- 行动(Act)
- 观察(Observe)
- 循环迭代
让模型第一次具备:
- 查信息
- 用工具
- 分步解决问题
- 动态决策
这也是 AI Agent 真正开始"像智能体"的起点。
下一篇预告
从零手把手搭建第一个ReAct Agent(简单工具调用版)