For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主导航

架构

了解执行框架、环境和应用服务器。

OpenAI 负责运行智能体执行框架。您的应用向执行框架发送任务并接收结果。当智能体需要计算资源或文件时,再添加环境。

组成部分

  • 执行框架: 由 OpenAI 托管的 Codex 实例,负责运行模型与工具调用循环,并维护智能体的会话。
  • 环境: 智能体运行命令、执行代码和处理文件的地方。环境可以是远程沙盒、您的笔记本电脑、Docker 容器或 AWS Lambda 函数。
  • 应用服务器: 您编写的、将智能体连接到产品的代码。它负责提交任务、接收事件并处理函数工具。如果环境由您提供,这些代码还负责管理环境的生命周期。

先使用任务所需的组成部分。执行框架可以在没有环境的情况下工作,您的应用可以通过流式传输或 Webhook 接收进度信息。

从不配置环境开始

回答问题或使用工具访问外部服务的智能体,可能不需要自己的计算资源或文件。将 environment.type 设置为 none。以下片段展示了环境设置。创建会话还需要指定智能体和初始输入:

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

您的应用向会话发送输入。执行框架调用模型、使用已配置的工具并返回结果。OpenAI 会维护该会话,以便开展后续工作。

执行框架可以直接调用远程 MCP 工具。对于函数工具,您的代码会接收每次调用、运行函数并返回结果。

未配置环境时,内置的 Bash 和 apply-patch 工具、工作空间文件以及执行器 MCP 均不可用。

未配置沙盒时,应用提供函数工具或虚拟 Shell,Agents API 可以调用远程 MCP 服务器。此时没有执行器或内置 Shell。

此处展示的可选虚拟运行时通过您应用中的函数工具提供文件和 Shell 命令。

添加 OpenAI 托管的环境

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

您负责配置智能体所需的软件包、文件和网络访问权限。执行框架直接在沙盒中运行命令。您的应用继续发送任务、接收事件并处理所有函数工具。

应用启动会话并接收来自 Agents API 的事件。Agents API 运行托管的 Codex 执行框架,并与沙盒交换工具调用和结果。只有在使用自行托管的沙盒时,应用才负责控制计算资源。

虚线箭头仅适用于您自行管理环境的情况,具体说明见下文。

有关配置选项,请参阅OpenAI 托管的环境

连接您自己的环境

当智能体需要使用您的基础设施、私有网络或自定义软件时,请使用 environment.type: "self_hosted"

您的代码启动环境,并将执行器连接到会话。执行器按照执行框架的请求运行命令和工具。您的应用负责管理连接和生命周期,无需逐条转发命令。

您负责资源配置、重新连接、关闭环境以及保存所需文件。您的应用服务器或 Webhook 处理程序可以管理这些工作。

应用创建自行托管的会话、启动计算资源并连接执行器。它接收事件,并在停止计算资源前检查该轮的执行结果。

停止计算资源前,请协调好新传入的任务,并确认没有待执行的操作。

有关设置和关闭要求,请参阅连接沙盒沙盒生命周期

接收进度和结果

无论选择哪种环境方案,您都可以使用以下任一方式,也可以同时使用两者:

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

函数工具需要处理程序来接收调用并返回结果。如果该处理程序不可用,智能体可能会一直等待结果。事件或生命周期处理程序发生故障,也可能中断进度更新或环境管理。

有关集成详情,请参阅会话事件Webhook