MetaReflection: Learning Instructions for Language Agents using Past Reflections

📄 arXiv: 2405.13009v2 📥 PDF

作者: Priyanshu Gupta, Shashank Kirtania, Ananya Singha, Sumit Gulwani, Arjun Radhakrishna, Sherry Shi, Gustavo Soares

分类: cs.CL, cs.AI

发布日期: 2024-05-13 (更新: 2024-10-10)

备注: We release our experimental code at: https://aka.ms/metareflection-code


💡 一句话要点

MetaReflection:利用历史反思经验学习指令,提升语言Agent性能

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 语言Agent 离线强化学习 语义记忆 指令学习 经验回放

📋 核心要点

  1. 现有语言Agent依赖的LLM闭源API限制了其在性能不佳时的改进,且现有优化方法如自我反思仅适用于在线场景,提示优化则局限于简单任务。
  2. MetaReflection是一种离线强化学习技术,通过构建基于历史经验的语义记忆,增强语言Agent的指令学习能力,从而提升其性能。
  3. 实验表明,MetaReflection在逻辑推理、语义相似性、开放问答和漏洞检测等任务中,相较于GPT-4基线,性能提升了4%到16.82%。

📝 摘要(中文)

大型语言模型(LLMs)的普及催生了用于解决各种任务的语言Agent。虽然目前先进的LLMs已经足够强大,可以支持相当不错的语言Agent,但闭源API模型使得在性能欠佳时难以改进。为了解决这个问题,最近的研究探索了使用诸如自我反思和提示优化等技术来提高其性能的方法。然而,像自我反思这样的技术只能在线使用,而目前的提示优化技术被设计和测试用于简单的任务。为此,我们引入了MetaReflection,这是一种新颖的离线强化学习技术,它通过增强基于过去试验经验学习的语义记忆来提高语言Agent的性能。我们通过在多个领域(包括复杂的逻辑推理、生物医学语义相似性、开放世界问答以及基础设施即代码中的漏洞威胁检测)中评估,展示了MetaReflection的有效性,涵盖了不同的Agent设计。MetaReflection将语言Agent的性能提高了4%到16.82%,优于原始GPT-4基线,并且与现有的最先进的提示优化技术性能相当,同时需要的LLM调用更少。

🔬 方法详解

问题定义:论文旨在解决语言Agent在闭源LLM环境下,难以持续优化和适应复杂任务的问题。现有方法,如在线自我反思和简单任务的提示优化,无法有效提升Agent在复杂场景下的性能。痛点在于缺乏一种离线、高效、通用的Agent优化方法。

核心思路:MetaReflection的核心思路是利用过去的经验(即历史反思)来指导Agent未来的行为。通过构建一个语义记忆,Agent可以从过去的成功和失败中学习,并将其转化为更有效的指令,从而提高解决问题的能力。这种方法模拟了人类从经验中学习的过程。

技术框架:MetaReflection的整体框架包含以下几个主要模块:1) 经验收集模块:收集Agent在过去任务中的执行轨迹,包括输入、输出和奖励信号。2) 语义记忆构建模块:将收集到的经验编码成语义向量,并存储在语义记忆中。3) 指令生成模块:根据当前任务的输入,从语义记忆中检索相关的历史经验,并利用LLM生成新的指令。4) 执行模块:Agent执行生成的指令,并获得新的经验。这个过程形成一个闭环,Agent不断从经验中学习和改进。

关键创新:MetaReflection的关键创新在于将离线强化学习与语义记忆相结合,用于语言Agent的指令学习。与传统的在线强化学习方法相比,MetaReflection可以在离线环境下进行训练,无需与环境进行实时交互,从而降低了训练成本。与传统的提示优化方法相比,MetaReflection可以利用历史经验来生成更有效的指令,从而提高了Agent的性能。

关键设计:MetaReflection的关键设计包括:1) 语义记忆的编码方式:使用预训练的语言模型(如BERT)将经验编码成语义向量。2) 经验检索策略:使用余弦相似度来衡量当前任务输入与历史经验之间的相关性。3) 指令生成策略:使用LLM根据检索到的历史经验生成新的指令,并使用温度参数来控制生成的多样性。4) 奖励函数的设计:根据任务的性质设计合适的奖励函数,用于评估Agent的性能。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

MetaReflection在多个领域的实验结果表明,其性能优于原始GPT-4基线4%到16.82%,并且与现有的最先进的提示优化技术性能相当,同时需要的LLM调用更少。这表明MetaReflection是一种高效且有效的语言Agent优化方法。

🎯 应用场景

MetaReflection具有广泛的应用前景,可用于提升各种语言Agent在复杂任务中的性能,例如智能客服、代码生成、医疗诊断等。通过利用历史经验,Agent可以更好地理解用户意图,生成更准确的回答,并提供更个性化的服务。该研究成果有助于推动语言Agent在实际应用中的普及。

📄 摘要(原文)

The popularity of Large Language Models (LLMs) have unleashed a new age ofLanguage Agents for solving a diverse range of tasks. While contemporary frontier LLMs are capable enough to power reasonably good Language agents, the closed-API model makes it hard to improve in cases they perform sub-optimally. To address this, recent works have explored ways to improve their performance using techniques like self-reflection and prompt optimization. Unfortunately, techniques like self-reflection can be used only in an online setup, while contemporary prompt optimization techniques are designed and tested to work on simple tasks. To this end, we introduce MetaReflection, a novel offline reinforcement learning technique that enhances the performance of Language Agents by augmenting a semantic memory based on experiential learnings from past trials. We demonstrate the efficacy of MetaReflection by evaluating across multiple domains, including complex logical reasoning, biomedical semantic similarity, open world question answering, and vulnerability threat detection, in Infrastructure-as-Code, spanning different agent designs. MetaReflection boosts Language agents' performance by 4% to 16.82% over the raw GPT-4 baseline and performs on par with existing state-of-the-art prompt optimization techniques while requiring fewer LLM calls.