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