Xingyao Wang, Yangyi Chen, Lifan Yuan, Yizhe Zhang, Yunzhu Li, Hao Peng, Heng Ji
大型语言模型(LLM)智能体能够执行广泛的操作(如调用工具、控制机器人等),在应对现实世界挑战方面展现出巨大潜力。目前的LLM智能体通常通过生成预定义格式的JSON或文本提示来产生动作,这种方式往往受限于受限的动作空间(如预定义工具的范围)和灵活性不足(如无法组合多个工具)。
本研究提出使用可执行的Python代码将LLM智能体的动作统一到一个统一动作空间(CodeAct)。与Python解释器集成后,CodeAct可以执行代码动作,并通过多轮交互根据新的观察动态修正之前的动作或产生新动作。
研究团队在API-Bank和一个新构建的基准测试上对17个LLM进行了广泛分析,结果表明CodeAct优于广泛使用的替代方案(成功率最高提升20%)。基于这一令人鼓舞的性能表现,研究团队构建了一个开源LLM智能体,通过执行可解释代码与环境交互,并使用自然语言与用户协作。
为此,团队收集了指令微调数据集CodeActInstruct,包含使用CodeAct的7k轮多轮交互数据。实验表明,该数据集可与现有数据结合使用,在面向智能体的任务上提升模型性能,同时不损害其通用能力。从Llama2和Mistral微调得到的CodeActAgent与Python解释器集成,能够使用现有库自主执行复杂任务(如模型训练)并自动进行自我调试。