OpenAI Agents SDK集成CubeSandbox实战:为Agent装上安全代码执行器 📅 发布时间:2026/9/16 15:56:56 👁 浏览次数: OpenAI Agents SDK集成CubeSandbox实战为Agent装上安全代码执行器【免费下载链接】CubeSandboxInstant, Concurrent, Secure Lightweight Sandbox for AI Agents.项目地址: https://gitcode.com/GitHub_Trending/cu/CubeSandbox想让 AI Agent 真正动手跑代码OpenAI Agents SDK 提供了官方的 Sandbox 抽象而开源项目CubeSandbox正是为 AI Agent 打造的即时、并发、安全且轻量级的代码执行沙箱——它兼容 E2B API能在 60ms 内拉起一个硬件级隔离的沙箱让 Agent 生成的 Python 代码在独立 MicroVM 中安全执行从根源上避免LLM 生成恶意指令直接污染宿主机的风险。上图是典型的 Agent 代码执行闭环用户提出需求 → AI Agent 调用 LLM 生成代码 → 在 CubeSandbox 沙箱中创建执行 → 把图表、PDF 等结果返回给用户。本文将带你用 4 步把 OpenAI Agents SDK 接入 CubeSandbox并跑通一个数据分析 自动画图的 Code Interpreter 实战。为什么 Agent 需要一个安全代码执行器AI Agent 最危险的动作就是执行 LLM 生成的代码直接在本机exec()运行 → 一条rm -rf或数据外传就可能毁掉宿主机用传统 QEMU 虚拟机隔离 → 冷启动要 2~3 秒Agent 每一步都要等体验极差用容器隔离 → 共享内核逃逸面大难以抵御有意图的 Agent 输出。CubeSandbox 基于RustVMM KVM构建每个沙箱都是一个运行独立 Linux 内核的 MicroVM既做到硬件级隔离又把冷启动压到毫秒级、内存开销控制在 5MB 左右天然适合高并发、高密度的 Agent 工作负载。整体架构控制面与执行面如何分工在跑 Demo 之前先花 1 分钟看懂 架构总览对 Agent 开发者来说只需关心两个角色角色组件职责控制面CubeAPI CubeMasterCubeAPI 提供E2B 兼容 API负责鉴权与调度执行面Cubelet / CubeShim /CubeHypervisor在计算节点拉起 MicroVM 沙箱并管理生命周期关键点OpenAI Agents SDK 的E2BSandboxClient指向 CubeAPI 就能工作——你不需要自己写任何 Provider改一个环境变量即可完成从 E2B 云到自建 CubeSandbox 的切换。快速上手四步跑通 Agent 沙箱集成示例代码位于 examples/openai-agents-code-interpreter/官方还准备了详细的集成指南。第 1 步安装 Python 依赖需要 Python 3.10执行pip install -r requirements.txt第 2 步配置环境变量复制.env.example为.env并填写变量说明E2B_API_URLCubeAPI 地址如http://cube-host:3000E2B_API_KEYCubeAPI 鉴权密钥CUBE_TEMPLATE_ID沙箱模板 IDCUBE_SSL_CERT_FILE可选CubeSandbox CA 证书路径OPENAI_API_KEY/OPENAI_BASE_URL任意 OpenAI 兼容 LLM 服务的密钥与端点第 3 步创建沙箱模板用仓库自带的cubemastercli从镜像创建模板Code Interpreter 形态需要暴露 49983 与 49999 两个端口cubemastercli template create-from-image \ --image cube-sandbox-image.tencentcloudcr.com/demo/e2b-code-interpreter:v1.1-data \ --writable-layer-size 1Gi \ --expose-port 49983 --expose-port 49999 \ --probe 49983把输出的模板 ID 填入CUBE_TEMPLATE_ID。第 4 步运行 Agentpython code_interpreter_demo_ci.py # 或指定问题 python code_interpreter_demo_ci.py --question Plot units sold per product as a bar chart.沙箱创建后Manifest会自动把sales.csv等种子文件写入工作区Agent 随即开始多轮代码执行。两种代码执行模式怎么选示例目录提供了功能等价的两个入口差异只在 Python 执行后端维度通用 E2B 模式Code Interpreter 模式执行方式session.write()exec(python ...)sandbox.run_code()Jupyter kernel会话状态每次 exec 都是新进程变量 / DataFrame 跨轮保留图像捕获需手动plt.savefig()自动从执行结果解码保存错误信息完整 stderr 流结构化异常name/traceback适用模板任意装了 python 的模板需预装 code-interpreter runtime多一个 49999 端口 选型建议想要类 Jupyter、上下文连续的分析体验 → 选code_interpreter_demo_ci.py模板环境简单、只求兼容 → 选code_interpreter_demo.py。实战演示Agent 自动完成数据分析与画图以默认问题为例——分析 sales.csv计算收入、画月度趋势图、输出 Top-3 产品表格、给出总结。一次典型运行的输出如下节选[python] running 121 bytes in kernel [python] (14, 4) [python] saved output/figure_01.png (32115 bytes) [python] | Product | Total Revenue | [python] | Gamma Gizmo | 2178 | [python] Total revenue: $7,007.40 **Top-3 Products by Total Revenue** | Gamma Gizmo | 2,178.00 | | Beta Gadget | 2,156.00 | | Alpha Widget | 1,512.40 | 全程无需人工干预Agent 自己加载数据、计算units * unit_price、用 matplotlib 画折线图自动落盘到output/figure_01.png、汇总 Markdown 表格最后给出两句话的管理摘要。整个过程发生在 CubeSandbox 的 MicroVM 内宿主机与外网均受沙箱网络策略约束。CubeSandbox 凭什么又快又安全⚡ 毫秒级冷启动预快照模板 RustVMM 恢复路径跳过传统虚拟机的全部冷启动开销 低内存开销、高密度部署Hypervisor 自身开销仅约 5MB可以在单机上高密度地并发运行大量 Agent 沙箱️ 零信任出口沙箱的所有出站流量都经过 CubeEgress 七层代理域名必须显式放行——Agent 即使想泄露数据也出不去。更多架构细节可阅读 架构总览。进阶玩法暂停/恢复与 SWE-bench 调试暂停/恢复Pause/Resume加--pause-on-exit参数Agent 退出时沙箱不被销毁而是暂停之后可凭状态直接恢复——配合 CubeSandbox 的快照能力长任务的中间状态文件、内存完整保留SWE-bench 场景main.py 是一个完整的 SWE-bench Agent在沙箱中自主定位 Django 的django__django-13447bug、分析根因并给出修复方案内置 LLM 连通性预检、流式输出与端到端追踪最小 Shell 示例只想验证链路是否打通simple_demo.py 用--sandbox-only即可只创建/销毁沙箱做连通性测试。小结为 OpenAI Agents SDK 集成 CubeSandbox本质只做了三件事把E2B_API_URL指向 CubeAPI在E2BSandboxClientOptions中填入 CubeSandbox 模板 ID加上少量适配补丁root 用户、流式输出、SSL 隔离。换来的是一个60ms 冷启动、硬件级隔离、5MB 内存开销的安全代码执行器。无论是数据分析、代码调试还是 RL 训练环境Agent 都可以放心地放手跑代码了。【免费下载链接】CubeSandboxInstant, Concurrent, Secure Lightweight Sandbox for AI Agents.项目地址: https://gitcode.com/GitHub_Trending/cu/CubeSandbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考