Executable Code

2024-04-09  本文已影响0人  臻甄

Executable Code Actions Elicit Better LLM Agents
https://arxiv.org/pdf/2402.01030.pdf

一个完整的代码交互流程: https://chat.xwang.dev/conversation/Vqn108G
代码已经开源:https://github.com/xingyaoww/code-act
收集了一个指令调优数据集 CodeActInstruct,由使用 CodeAct 的 7k 多轮交互组成。数据集发布于huggingface:https://huggingface.co/datasets/xingyaoww/code-act

整体架构没什么新鲜的,对比的方法主要是输出json的Agent,以及输出text的Agent,图1显示了text/json/code的交互形式对比、成功率对比、交互次数对比,显然Code的成功率普遍高了20%,交互次数普遍少了30%


对比text/json/code

CodeAct的核心策略包括:
(1)使用Python代码统一LLM代理的动作空间(CodeAct)。
(2)利用Python解释器执行代码动作,允许动态调整和自我调试。
(3)通过多轮交互,根据环境反馈(如错误消息)进行自我改进。
(4)收集了一个名为CodeActInstruct的指令调整数据集,包含7k个使用CodeAct的多轮交互轨迹。
(5)开发了CodeActAgent,一个经过细化的LLM代理,能够通过执行可解释的代码与环境交互,并使用自然语言与用户协作。


CodeAct流程图

文章主体讨论

These models are already familiar with structured programming languages, allowing cost-effective adoption of CodeAct.

Compared to JSON and text with a pre-defined format, code inherently supports control and data flow, allowing for the storage of intermediate results as variables for reuse and the composition of multiple tools to perform complex logical operations (e.g., if-statements, for-loops) with one piece of code, thereby unlocking LLMs’ potential to tackle complex tasks by leveraging its pre-trained knowledge of programming.


复现实验

参考github文档,包括数据生成,模型训练和评估
https://github.com/xingyaoww/code-act?tab=readme-ov-file#-reproduce-experiments-in-the-paper

上一篇下一篇

猜你喜欢

热点阅读