AI 大模型旅游规划智能体 React Agent 实战
一、为什么需要 ReAct 智能体?复杂任务的'推理刚需'
之前学的 initialize_agent 适合简单任务,create_tool_calling_agent 擅长结构化参数传递,但面对需要多步推理的复杂任务(比如旅游规划),它们就显得力不从心:
- 无法清晰拆解任务(比如'查天气→荐活动→查股价'需要分步执行)
- 遇到错误不会自我修正(比如工具调用失败后不知道重试)
- 思考过程不透明(调试时看不到智能体'为什么这么做')
而基于 ReAct 框架的 create_react_agent,完美解决了这些问题——它让智能体像人一样'边想边做',通过'推理→行动→观察'的循环,一步步拆解并完成复杂任务,特别适合旅游规划这类需要动态决策的场景。
二、ReAct 框架核心:推理 + 行动 + 观察

ReAct(Reasoning + Acting)是一种让智能体具备'思考能力'的设计模式,核心是通过循环迭代完成任务,每一轮都包含三个步骤:
2.1 三步循环流程
| 步骤 | 核心动作 | 示例(旅游规划场景) |
|---|---|---|
| 推理(Reason) | 分析当前状态,决定下一步'该做什么'(调用工具/直接回答) | '要推荐活动,得先查北京天气,所以调用 get_weather 工具' |
| 行动(Act) | 执行决策(调用指定工具,传入正确参数) | 调用 get_weather,输入参数'北京' |
| 观察(Observe) | 获取行动结果,更新状态,判断是否需要进入下一轮循环 | 得到天气'晴,25℃',接下来需要调用推荐活动工具 |
2.2 标准格式示例
ReAct 智能体的思考和行动有固定格式,一眼就能看懂它的'心路历程':
[Thought] 我需要先查北京的天气,才能推荐活动,还要查腾讯股价 [Action] get_weather [Action Input] 北京 [Observation] 晴,25℃ [Thought] 天气是晴,适合推荐户外活动,现在调用推荐工具 [Action] recommend_activity [Action Input] 晴,25℃ [Observation] 推荐户外活动:公园骑⾏。 [Thought] 还需要查腾讯股价,用 web_search 工具 [Action] web_search [Action Input] 腾讯最新股价 来源:XX 财经... 腾讯股价 港元... 所有任务都完成了,可以整理结果 北京天气晴 ℃,推荐公园骑⾏;腾讯最新股价 港元




