反思与进阶推理
一句话定义:让 Agent 在失败后"复盘原因再重试",而非盲目重试——Reflexion、Plan-and-Solve、Tree-of-Thoughts 等是 ReAct 之上的推理增强。
1. 为什么需要进阶推理
- 裸 ReAct 循环易"改了又坏、坏了又改",盲目重试不收敛。
- 复杂任务需更结构化的规划、回溯与自我纠错。
- 进阶推理范式在"思考"环节做文章,提升收敛性。
2. Reflexion(反思)
核心思想
- 每次失败后插入"反思节点",让 Agent 总结"哪里错了、下一步换什么策略"。
- 把反思写入记忆,后续尝试避免重复错误。
流程
flowchart TD
A[尝试] --> B{成功?}
B -- 是 --> C[完成]
B -- 否 --> D[反思: 为何失败]
D --> E[更新记忆/策略]
E --> A
要点
- 反思应基于具体观察(报错、测试输出),而非空泛"再想想"。
- 反思本身是模型输出,可能错,需多样性约束。
- 显著提升多步任务的收敛率。
3. Plan-and-Solve
- 先让模型制定完整计划,再逐步执行。
- 改善 CoT/ReAct 在复杂任务中"走一步看一步"的规划不足。
- 适合步骤多、依赖复杂的任务。
4. Tree-of-Thoughts(ToT)
- 把推理建为搜索树,每个节点是一个推理状态。
- 可评估、回溯、剪枝,像下棋搜索。
- 适合规划、博弈、创意等需探索的任务。
- 代价:成本高,复杂任务才用。
5. Self-Consistency
- 对同一问题多次采样推理路径,取多数答案。
- 用多样性换稳定性。
- 代价:多次推理成本高。
6. 选择建议
| 任务 | 推荐 |
|---|---|
| 简单多步 | ReAct |
| 易失败需纠错 | Reflexion |
| 步骤多依赖复杂 | Plan-and-Solve |
| 需探索/回溯 | ToT |
| 答案不稳定 | Self-Consistency |
7. 学习要点
- 反思让 Agent 从失败学习,而非盲目重试。
- 规划先行(Plan-and-Solve)改善长任务收敛。
- ToT 用搜索替代线性推理,适合需探索的任务。
8. 参考资料
- "Reflexion: Language Agents with Verbal Reinforcement Learning"
- "Tree of Thoughts: Deliberate Problem Solving with LLMs"
- "Plan-and-Solve Prompting"
评论
评论加载中…