Executable Code Actions Elicit Better LLM Agents

2024年02月01日
  • 简介
    大型语言模型(LLM)代理具有广泛的能力,例如调用工具和控制机器人,显示出在应对现实世界挑战方面的巨大潜力。LLM代理通常被提示生成JSON或以预定义格式的文本来执行操作,这通常受到受限制的行动空间(例如,预定义工具的范围)和受限制的灵活性(例如,无法组合多个工具)的限制。本文提出使用可执行的Python代码将LLM代理的行动整合到一个统一的行动空间(CodeAct)中。CodeAct与Python解释器集成,可以执行代码操作,并通过多轮交互动态修改先前的操作或发出新的操作以响应新的观察结果。我们对17个LLM在API-Bank和一个新的策划基准上进行了广泛的分析,结果表明CodeAct的表现优于广泛使用的替代方案(成功率高达20%)。CodeAct的良好表现激励我们构建一个开源的LLM代理,它通过执行可解释的代码与环境进行交互,并使用自然语言与用户进行协作。为此,我们收集了一个指令调整数据集CodeActInstruct,其中包括使用CodeAct进行的7k多轮交互。我们展示它可以与现有数据一起用于在面向代理的任务中改进模型,而不会影响其通用能力。CodeActAgent从Llama2和Mistral进行了微调,集成了Python解释器,并具有独特的定制功能,可以使用现有库执行复杂任务(例如,模型训练)并自主进行调试。
  • 作者讲解·2
  • 图表
  • 解决问题
    本论文试图将可执行的Python代码用于整合LLM代理的行动,以形成统一的行动空间。这是一个新问题,旨在解决LLM代理的行动空间受限和灵活性不足的问题。
  • 关键思路
    CodeAct是一个可执行Python代码的框架,可以将LLM代理的行动整合到一个统一的行动空间中。CodeAct可以执行代码行动并通过多轮交互动态修改先前的行动或发出新的行动。
  • 其它亮点
    论文在API-Bank和新的基准测试上对17个LLM进行了广泛的分析,表明CodeAct在成功率方面优于广泛使用的替代方案(高达20%)。CodeActInstruct是一个包含7k多轮交互的指令调整数据集,可以与现有数据一起用于改善代理导向任务中的模型而不影响其一般能力。CodeActAgent是一个开源的LLM代理,通过执行可解释的代码与环境交互,并使用自然语言与用户协作。
  • 相关研究
    最近的相关研究包括使用可执行代码的LLM代理,以及使用自然语言进行多轮交互的LLM代理。例如,论文中提到的Llama2和Mistral都是使用可执行代码的LLM代理,而CodeActAgent则是一个使用自然语言和可执行代码的LLM代理。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问