OpenAI 响应 API 计算环境更新

OpenAI 已在 Responses API 中集成了计算环境,使 AI 代理能够超越纯文本生成,执行复杂的工作流。通过为模型提供 shell 工具和托管的容器工作区,平台现在可以在隔离环境中运行服务、请求 API 数据,并生成电子表格或报告等制品。

Shell 工具与执行循环

shell 工具使模型能够通过命令行界面与计算机交互,利用熟悉的 Unix 实用程序,如 grepcurlawk。不同于仅限 Python 的现有代码解释器,shell 工具支持执行 Go、Java 和 NodeJS 服务器,显著扩展了可实现的代理任务范围。

通过 Responses API 编排

Responses API 充当模型与托管工具之间的编排者。要使 shell 执行生效,提示必须指定使用 shell 工具,且模型需接受过 shell 命令的训练(具体为 GPT-5.2 及更高版本)。

执行循环遵循以下流程:

  1. 模型提出一个或多个 shell 命令。
  2. Responses API 将这些命令转发给容器运行时。
  3. API 将输出实时流回模型。
  4. 模型检查结果,随后要么发出后续命令,要么给出最终答案。

为保持效率,Responses API 支持在不同容器会话中并发执行多个命令,并对每个命令的输出设定上限,以防大型终端日志占用上下文窗口。

上下文管理与压缩

为防止长时间运行的代理循环耗尽上下文窗口,OpenAI 引入了原生压缩。该系统允许模型分析先前的对话状态,并生成加密的、令牌高效的关键细节表示。

压缩实现

压缩可作为内置的服务器端功能使用,也可通过独立的 /compact 端点调用。服务器端压缩使用可配置阈值自动处理时机,使接近上下文限制的请求能够被处理并压缩,而不是被拒绝。该机制是在使用 Codex 的过程中开发并完善的,Codex 利用压缩在长时间的编码任务中维持迭代工具执行。

容器上下文与资源管理

托管容器作为模型的工作上下文,提供受控的环境用于数据操作和外部交互。

文件系统与数据库

OpenAI 提供容器和文件 API,帮助模型映射可用数据,鼓励将资源放置在容器文件系统中,而不是打包进提示。对于结构化数据,推荐使用 SQLite;模型可以获得表描述,仅查询必要的行,这比在提示中扫描整个数据集更具可扩展性和成本效益。

安全网络访问

为降低无限制互联网访问的风险,托管容器使用 sidecar 出站代理。该集中式策略层强制执行白名单和访问控制。认证方面,在出站点使用域范围的密钥注入,这意味着原始密钥值保持在模型可见上下文之外,仅在批准的目标上使用。

可复用的代理技能

代理技能让开发者能够将重复的多步骤模式打包成可复用的构件,避免模型在每次运行时都重新发现工作流。一个技能由包含 SKILL.md 文件(元数据和说明)的文件夹捆绑以及支持资源(如 API 规范)组成。

技能集成工作流

当使用技能时,Responses API 按确定性顺序执行以下步骤:

  1. 获取技能元数据(名称和描述)。
  2. 获取技能捆绑,将其复制到容器并解压。
  3. 使用技能元数据和容器路径更新模型上下文。

模型随后使用 shell 命令发现这些文件,并根据说明执行脚本。

Sources