OpenAI 架构

2026-11-06 14:58 更新

OpenAI 运行智能体执行框架(harness),应用向它提交任务并接收结果。智能体需要计算能力或文件时,再为它配置执行环境。

组成部分

  • 执行框架:OpenAI 托管的 Codex 实例,运行模型与工具循环,维护智能体会话。
  • 环境:智能体运行命令、执行代码及处理文件的位置,可以是远程沙箱、笔记本电脑、Docker 容器或 AWS Lambda 函数。
  • 应用服务器:把智能体接入产品的应用代码,提交任务、接收事件、处理函数工具。环境由你提供时,应用也管理其生命周期。

按任务需要选择组成部分。没有执行环境时,框架仍可工作;应用可以通过流式事件或 webhook 接收进度。

从无环境模式开始

只回答问题或通过工具访问外部服务的智能体,未必需要独立计算环境或文件。把 environment.type 设为 none。下面只展示环境配置片段;创建会话还需要智能体配置与初始输入:

来源示例 1(json):

{
  "environment": {
    "type": "none"
  }
}

应用向会话发送输入,框架调用模型、使用已配置工具并返回结果。OpenAI 保留会话,供后续任务继续使用。

框架可以直接调用远程 MCP 工具。函数工具则由应用接收调用、执行函数,再返回结果。

无环境模式不提供内置 Bash、补丁应用工具、工作区文件或执行器 MCP。

无沙箱时由应用提供函数或虚拟shell,可调用远程MCP,没有执行器或内置shell。

查看竖版图片

图中的可选虚拟运行时,通过应用的函数工具提供文件操作和 shell 命令。

添加 OpenAI 托管环境

智能体需要运行脚本、编辑文件或创建产物时,把 environment.type 设为 openai_hosted。OpenAI 为会话创建并管理沙箱。

配置任务需要的软件包、初始文件及网络访问权限。框架直接在沙箱运行命令,应用继续提交任务、接收事件并处理函数工具。

应用提交会话并接收事件,OpenAI托管框架与沙箱交换命令和结果;仅自托管模式由应用管理计算资源。

查看竖版图片

虚线箭头只适用于下面由你自行管理环境的情况。配置选项见 OpenAI 托管沙箱。

连接自己的环境

智能体需要访问自己的基础设施、私有网络或定制软件时,使用 environment.type: "self_hosted"。

应用启动环境,并把执行器连接到会话。执行器运行框架请求的命令和工具;应用管理连接与生命周期,无需逐条转发命令。

环境创建、重新连接、关闭及文件保存都由你负责,可以由应用服务器或 webhook 处理器管理。

应用创建自托管会话、启动资源、连接执行器,检查轮次结果后再停止计算资源。

查看竖版图片

停止计算资源前,要协调新到达的任务,并确认没有待执行操作。

配置和关闭要求见连接沙箱及沙箱生命周期。

接收进度与结果

任何环境模式都可单独或同时采用以下方式:

  • 流式传输:在智能体工作时接收详细事件,例如用于产品界面展示的输出。
  • Webhook:无需持续保持流式连接即可接收会话状态变化。处理器可读取结果、运行函数工具或管理自托管环境。

函数工具必须有接收调用并返回结果的处理器。处理器不可用时,智能体可能一直等待结果。事件或生命周期处理器失败,也可能中断进度更新及环境管理。

接入详情见运行与继续会话和会话 Webhook。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号