题目
请说明 Reflexion 的反思机制,以及 Tree of Thoughts(ToT)相对 Chain of Thoughts 的改进。
参考答案
Reflexion:让 Agent 在失败后自我反思,把教训写入”经验记忆”,指导下次尝试。
流程:
- Actor 执行任务,产生轨迹。
- Evaluator 评估结果(成功/失败 + 具体反馈)。
- Self-Reflection 模块把失败原因转化为语言形式的反思(如”我应该先验证假设再行动”)。
- 反思存入长期记忆。
- 下次尝试时把历史反思加入 prompt,避免重蹈覆辙。
关键创新:用自然语言而非参数更新来”学习”——不动模型权重,靠记忆积累经验,迭代改进。
Tree of Thoughts(ToT):
CoT 是单线思维链,错了就全错。ToT 把推理建模为搜索树:
- 每个节点是一个”思维状态”(部分推理)。
- 在每个节点生成多个候选下一步思维(分支)。
- 用评估器给每个状态打分,决定继续探索哪些分支。
- 用 BFS/DFS 搜索,可回溯。
与 CoT 对比:
| 维度 | CoT | ToT |
|---|---|---|
| 结构 | 单链 | 树 |
| 失败恢复 | 不能回溯 | 可回溯换分支 |
| 计算成本 | 低 | 高(多分支 + 评估) |
| 适合 | 顺推即可 | 需试探/规划 |
适用场景:
- Reflexion:多次尝试的任务(编程、Web 代理、游戏),从失败中学习。
- ToT:需要前瞻与回溯的搜索型任务(24 点、创意写作、规划)。
与其他范式关系:
- ReAct:推理+行动交错,单线。
- Reflexion:在 ReAct 基础上加”失败反思 + 记忆”。
- ToT:把推理从链扩为树,支持搜索。
- Plan-Execute:先规划再执行,规划可看作简化 ToT。
面试加分点:
- 指出这些范式不互斥,可组合:如 ReAct 单步失败 → Reflexion 反思 → 用 ToT 重新规划。
- Reflexion 的”语言记忆学习”是 LLM 时代特有的范式——不用梯度更新就能”长进”。
- ToT 成本高,工程上常用”束搜索 + 剪枝”降开销,而非完整树搜索。
出处:CSDN《万字长文深度解析 Agent 反思工作流框架 Reflexion》、Reflexion/ToT 论文。
内容来源
整理自 CSDN《万字长文深度解析 Agent 反思工作流框架 Reflexion》
本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。