Reflexion:让 Agent 会反思
一、研究动机
核心挑战:强化学习需要进行微调才能发挥作用,如何让 Agent 像人类一样,通过少数几次失败的试错和自我反思来快速改进决策
提出方案:Reflexion 框架,将环境反馈转化为自然语言形式的反思总结,存储 Agent 的长期记忆中,供后续试验参考,从而不更新模型权重即可实现策略优化。
二、框架核心组件
- Actor(执行者)
- 功能:基于 LLM 生成文本和动作。策略基于当前状态和记忆
- 实现方式:可选用 CoT(思维链) 或 ReAct(推理+动作)范式,条件输入包括当前状态和记忆
- Evaluator(评估器)
- 功能:对 Actor 生成的轨迹计算奖励分数
- 实现方式:精准匹配、预定义启发式规则、或使用 LLM 进行二元分类/自我评估
- Self-reflection(自我反思)
- 功能:将稀疏的奖励信号(如成功/失败)转化为详细、可操作的自然语言反馈,并存入长期记忆
- 实现方式:分析当前轨迹、奖励和历史记忆,生成具体的改进建议
- Memory(记忆)
- 功能:提供短期和长期上下文
- 实现方式
- 短期:存储当前试错的轨迹历史
- 长期:存储最近的自我反思的经验摘要,后续试错,这些经验作为上下文,帮助智能体避免重复错误(保留最近1~3条,以应对上下文窗口限制)
工作流程:
Actor 生成轨迹并获取奖励 → Self-reflection 基于轨迹和奖励生成语言反馈 → 语言反馈存入长期记忆 → 重置环境,下一轮 Actor 基于更新后的记忆继续尝试 → 循环直至任务成功或达最大尝试次数
三、性能表现
ReAct 框架中,Agent 虽然能够根据观察到的环境的反馈进行思考,然后决定下一步的行动,但是这里缺少了反思和经验总结,Reflexion+ReAct 在134 个任务中成功解决了 130 个,显著优于仅用 ReAct 的基线
四、总结与贡献
- 提出了 口头强化学习 新范式,将策略参数化为 LLM参数+情景记忆文本。告诉研究者,不一定要花钱去做微调,给模型一个记事本和反思能力,就能在复杂任务上有显著提升
- 实证了自我反思的必要性:在编程任务中,若省略自然语言反思步骤,仅依靠测试反馈,智能体性能无法提升
五、局限性
依赖记忆窗口:可以通过检索增强和递归总结精炼
缺乏创造性探索能力 :在需要广泛探索的动作空间中,仅靠反思过去失败的经验可能不足以引导智能体发现全新的解决方案,仅作为策略优化技术,Reflexion 可能陷入局部最优解 。
如果需要 Agent 有探索能力,不断学习进化,可以增加新颖性奖励机制,鼓励 Agent 探索其他路径,而不是在已知路径上优化。
VOYAGER:由 LLM 驱动的具身终身学习智能体
一、研究动机
构建"具有终身学习智能体",需要在开放、无边界的环境(Minecraft)中,向人类一样探索、规划并发展新技能。
二、核心设计与创新
无需对模型参数进行微调,仅通过与 GPT-4 的交互就能实现持续学习。其系统由三个关键模块构成:
-
自动课程:
- 功能:为 Agent 提出"下一个要完成的任务" 以实现最大化的探索
- 机制:利用 LLM 的知识,根据 Agent 当前状态(位置、生命值、饥饿度、附近方块/实体)、探索进度(已完成和失败的任务列表)等信息,动态生成难度适宜且多样化的新任务。
- 目的:确保学习过程及有挑战性又可管理,激发好奇心驱动的探索
-
技能库(skills):
- 功能:用于存储和检索复杂的行为程序,是实现知识积累和复用的关键。
- 机制
- 添加技能:当 Agent 通过自验证确认成功完成一个任务后,其对应的可执行代码会被作为一个 skill 存储技能库,该技能由其描述的文本嵌入向量作为索引
- 检索技能:当面临新任务时,系统会使用当前任务和反馈生成查询,从技能库中检索出最相关的 Top-5 技能,作为参考示例提供给 LLM,用于合成新的、更复杂的技能。
- 优点:技能是多步动作组成、可解释和可组合的,这极大加速了智能体能力的增长,并缓解了灾难性遗忘。
-
迭代提示机制
-
功能:用于生成、执行和精炼可执行代码,是智能体与游戏环境交互并自我改进的核心驱动力。
-
机制:代码作为动作空间,三种反馈循环来改进程序生成
-
环境反馈:程序执行过程中通过 API 返回的中间进度信息,帮助Agent了解任务执行情况
-
执行错误:代码解释器返回的语法错误或无效操作,帮助 Agent 进行调试
-
自我验证:另一个 LLM 作为评论家,根据任务和最终状态判断任务是否成功,如果失败,做出改进建议
-
-
流程:生成代码 → 执行并获得反馈 → 将反馈融入提示词生成新代码 → 重复直到自我验证模块确认任务成功,或达到最大尝试次数。
-
自动课程决定要探索和学习的方向、技能库把摸着石头过河的过程中的经验进行总结、迭代提示确保学到的是正确的
三、意义
VOYAGER 成为"大语言模型智能体"和"具身AI"领域一个重要的参考基准和思想源泉。虽然直接运用的门槛还很高,但其"模块化、可复用的技能"这一核心理念已经成为 Agent 系统设计的基础设施。