§05 推理和规划决定 Agent 聪不聪明
05.1 一个最容易被忽视的循环
2022 年。Yao 等人提出 ReAct。
它把"推理"和"行动"拧到一起。至今仍是 Agent 的骨架。
05.2 思维链:让它"想出声"
Chain-of-Thought(思维链),简称 CoT。
你问"小明有 3 个苹果……"。模型不在心里憋答案,而是一步步写:
"先算 A,再算 B,所以等于 C。"
推理模型(o1、DeepSeek-R1)把这个玩到极致。想越久,越准。
05.3 ReAct:想一步、做一步、看一眼
ReAct = Reason(推理)+ Act(行动)。
循环长这样:
思考:我得先查用户航班时间
行动:调用查航班工具
观察:拿到 14:30 的票
思考:再查接机司机
行动:……
三步一循环。Agent 能处理会中途变化的真实任务。
注意:ReAct 不是"自主意识"。它是受控的程序循环。别神话它。
示意图 8:ReAct 循环(想一步·做一步·看一眼)
flowchart TD
T["思考 Reason<br/>下一步咋办"] --> A["行动 Act<br/>调工具"]
A --> O["观察 Observe<br/>看结果"]
O -->|"未达标"| T
O -->|"达标"| S["停止 Stop"]
style T fill:#e8f0fe,stroke:#2563eb
style S fill:#0ea5a4,stroke:#0f766e,color:#fff
05.4 规划:先拆再干
复杂任务,Agent 先当项目经理,把活拆成清单(Plan),再逐步推进。
卡壳了还会自我反思(Reflexion):"刚才那步错了,换法子。" Reflexion 是 2023 年 Shinn 等人提出的模式,让 Agent 跑完一遍,自己写"批评意见",下次带着教训重来。它和 ReAct 是黄金搭档:ReAct 管"动手",Reflexion 管"复盘学乖"。
还有两种进阶规划法:
- Tree-of-Thought(思维树):多路试探,再选最优,适合分叉多的决策。
- Sequential Thinking(有序思考):把大问题硬拆成一步步小推理链,像做证明题,适合长链条、强依赖的任务。
05.5 一个旅行规划的例子
你说:"帮我规划 3 天、预算 3000 的成都行。"
Agent 会:
- 规划出"交通/住宿/景点/美食"四块。
- 查机票酒店价(行动)。
- 发现超预算,反思后改住青旅、砍远景点(自我纠正)。
- 产出可执行的日程表。
全程你只说了那一句话。
| 模式 | 干啥用 | 标叔的结论 |
|---|---|---|
| CoT | 单步推理、算数 | 模型自己想清楚 |
| ReAct | 多步带工具 | Agent 标配循环 |
| Plan | 复杂先拆解 | 大任务先列清单 |
| Reflexion | 跑完复盘、带教训重来 | 降低幻觉的关键 |
| ToT | 多路选优 | 难决策才上 |
| Sequential Thinking | 长链强依赖推理 | 像做证明题 |
| 示意图 9:六种推理规划模式 |
flowchart LR
CoT["CoT<br/>单步推理"]
ReAct["ReAct<br/>多步带工具"]
Plan["Plan<br/>先拆解"]
Reflexion["Reflexion<br/>复盘学乖"]
ToT["ToT<br/>多路选优"]
Seq["Sequential<br/>长链推理"]
style ReAct fill:#e8f0fe,stroke:#2563eb
§05 讲完"脑子"。下一章讲"笔记本"——记忆与 RAG,让 Agent 记住你。