构建可以编写和运行代码的 LLM 代理

使用 OpenAI Agents SDK 和 Docker 执行代码的实践演练《构建可以编写和运行代码的 LLM 代理》一文首先出现在《走向数据科学》上。

来源:走向数据科学

可能是我们可以为 LLM 代理提供的最有用的功能之一。

一旦代理可以编写和执行代码,许多任务就变得可能。例如,代理可以检查文件或数据集、编写数据处理逻辑或生成供下游使用的工件。

这为更广泛的代理应用打开了大门。

在这篇文章中,我们将使用 OpenAI Agents SDK 和 Docker 构建一个编码代理。我们将首先构建心理模型,然后进行一个小型案例研究,要求代理分析 CSV 文件,并返回带有图表的报告。

最后,我们还将总结使该模式可重用的实用细节。

1. 代码执行代理如何工作

代码执行代理有三个重要的组成部分:模型、工作空间和执行环境。让我们一一拆开它们。

1.1 模型

代码执行代理毕竟是 LLM 代理。当然,它需要法学硕士来为代理人提供动力。

在这个特定场景中,LLM 的常见任务是检查可用文件,决定需要什么类型的分析,编写实际代码,读取结果,并继续进一步迭代。

1.2 工作区

这是代理工作的空间,也是输入文件进入和输出文件出来的地方。用户可以将数据文件(例如 CSV、PDF、文档文件夹等)上传到工作区,代理可以对其进行处理,并将工件保存回工作区。

1.3 执行环境

LLM代理只编写代码,并不执行它。所以我们需要一个生成的代码可以真正运行的执行环境。

有多个可用选项。例如,这个代码执行环境可以是平台管理的托管环境,也可以是我们本地控制的沙箱。如果我们自己控制的话,Docker 通常是打包运行时并隔离运行的默认方式。

1.4 横切关注点:控制

那么,就有一个实际的设计问题:控制。