Interview: Agent多步任务的错误恢复与Reflexion机制


题目解析

Agent在多步任务中几乎必然会犯错,关键是能否发现错误并恢复。Reflexion是一种让Agent通过语言化反思来改进行为的方法,但其可靠性存在争议。

解答思路

错误恢复的核心方法包括:(1)即时检验——每步执行后验证结果是否符合预期,如代码Agent执行后检查是否有报错;(2)检查点回退——保存关键状态快照,失败时回退到上一个正确状态重新尝试;(3)Reflexion机制——将失败经历转化为自然语言反思,存入记忆供下次参考。Reflexion的流程:尝试→失败→生成反思总结→带着反思重试。

关键要点

Reflexion的核心问题是反思质量不稳定——模型可能生成表面化的反思(如”我下次要更仔细”)而非有针对性的策略调整。其有效性高度依赖:反馈信号的质量(二元成功/失败不如详细错误信息)、模型的自我诊断能力、以及反思是否能真正影响后续行为。实验证据表明Reflexion在确定性环境(如编程)中效果较好,在开放性任务中效果有限。

加分回答

可以对比Reflexion和传统RL的区别:RL通过数值reward更新权重,Reflexion通过语言化经验更新上下文。还可以讨论Trial-and-Error prompting、Self-Refine等相关方法,以及它们共同的局限——都受限于模型本身的能力上限,如果模型根本不具备解决某问题的知识,再多反思也无济于事。

常见踩坑

最大的误区是过度信任Reflexion——认为有了自我反思Agent就能不断进步。实际上多次反思后质量可能不升反降。另外容易忽略反思带来的上下文膨胀问题,累积的反思文本会挤占有效上下文空间。