作者: Xingyao Wang, Yangyi Chen, Lifan Yuan, Yizhe Zhang, Yunzhu Li, Hao Peng, Heng Ji
提交/修订日期: 2024年2月1日提交,2024年6月7日修订 (v4)
摘要:
大型语言模型(LLM)智能体能够执行广泛的动作,例如调用工具和控制机器人,在应对现实世界挑战方面展现出巨大潜力。目前,LLM智能体通常通过生成预定义格式的JSON或文本来产生行动,这通常受到受限的行动空间(例如,预定义工具的范围)和有限的灵活性(例如,无法组合多个工具)的限制。本研究提出使用可执行的Python代码将LLM智能体的行动整合到一个统一的行动空间中(CodeAct)。通过与Python解释器集成,CodeAct可以执行代码行动,并通过多轮交互,根据新的观察动态修改先前的行动或发出新的行动。我们在API-Bank和一个新构建的基准上对17个LLM进行的广泛分析表明,CodeAct优于广泛使用的替代方案(成功率最高可提升20%)。CodeAct的出色表现促使我们构建一个开源的LLM智能体,它通过执行可解释的代码与环境交互,并使用自然语言与用户协作。为此,我们收集了一个指令微调数据集CodeActInstruct,该数据集包含7k个使用CodeAct的多轮交互。我们证明,它可以与现有数据结合使用,在不损害模型通用能力的情况下,提升模型在面向智能体任务中的表现。基于Llama2和Mistral微调的CodeActAgent,集成了Python解释器,并专门用于使用现有库执行复杂任务(例如,模型训练)并自主进行自我调试。
主题/分类: 计算与语言 (cs.CL); 人工智能 (cs.AI)
备注: 已被ICML 2024接收;代码、数据、模型和演示可在 https://github.com/xingyaoww/code-act 获取。