← 文章 / AI技术
e2b 20小时前 · 2026-09-17 22:27:37 · 5 阅读

基于 OpenAI Agents API 构建一个 Agent Workbench

在 OpenAI Agents API 上构建 Agent Workbench

OpenAI 的 Agents API 是一个托管式 Codex 运行时,可连接 E2B 等沙箱提供商。其中,OpenAI 负责管理模型、执行框架及会话生命周期,而 E2B 负责 Agent 代码的实际执行环境。下文将展示一个基于此构建的 Workbench 示例。

OpenAI 支持两种方式来配置 E2B:应用托管(application-managed)Webhook 托管(webhook-managed)。本示例采用应用托管模式:应用直接调用 E2B SDK 来启动、连接和停止沙箱,因此沙箱的生命周期完全由你的代码控制,并与 Agents API 的会话同步管理。

Workbench 的聊天界面,在启动会话前提示输入 E2B API Key 和 OpenAI API Key

基于模板实现极速启动

E2B 沙箱基于 Firecracker microVM 构建,为每个会话提供一台隔离的机器,冷启动耗时不足 60ms,从而优化了聊天的用户体验。

Workbench 从预装了 Codex exec-server 的模板构建沙箱,避免了在请求时临时安装依赖。

使用 E2B CLI 创建沙箱并连接其终端:

e2b sbx create openai-agents-api-python-sdk

每个会话独占一台机器

该 Workbench 由前后端两部分组成:后端基于 Flask,为每次聊天自动将 Agents API 会话与一个 E2B 沙箱配对;前端基于 React,采用 TanStack Router 和 TanStack Query 构建。

每个会话都会启动一个运行 Codex 执行器的 E2B 沙箱;OpenAI 负责运行智能体并维护会话状态。当用户发出第一条提示词时,后端会同时创建一个 Agents API 会话和一个 E2B 沙箱,并在执行过程中将轮次流式传输至前端。 将沙箱的作用域限制在单个聊天而非让整个后端进程共享同一个沙箱,这意味着每个对话的智能体无法查看或操作其他对话的文件系统。清理工作也是按聊天维度进行的,关闭某个对话不会影响他人的会话。

已集成功能

  • 工具:OpenAI 文档 MCP、仅限 openai.com 的网页搜索,以及包含完整结果往返调用的函数工具
  • 会话:流式事件、后续交互、取消、删除,以及在后端重启后保持持久化
  • 暂停与分支:从快照分支出聊天,创建新的沙箱和会话
  • 可视性:工作区文件查看器及实时执行器日志
原始来源: e2b

评论 (0)