跳转到主要内容

OpenAI的Codex API:你的代码现在在他们的沙盒中运行

OpenAI的Codex API:你的代码现在在他们的沙盒中运行

OpenAI悄然推出了其Agents API,将Codex工具转变为任何后端都可以调用的REST服务。核心端点很简单:POST https://api.openai.com/v1/agents/sessions,带有一个必需的标头OpenAI-Beta: agents=v1。用通俗的话说?OpenAI处理繁重的工作——会话、编排、上下文压缩、恢复——而你的应用只需提供工具并选择代码运行的位置。

四个构建块,一个托管管道

文档将其分解为四个概念:Agent(模型 + 指令 + 工具 + MCP服务器)、Environment(可选的沙盒或计算机,用于读取/写入文件、加载技能、运行命令)、Session(一个持久的代理实例)和Events/items(输入和输出的来回交互)。流程很直接:创建一个会话,分配一个任务,流式传输或通过webhook获取后续结果,然后根据需要继续或干预。

OpenAI管理什么?在沙盒中运行命令、应用技能、通过工具或MCP连接到外部数据、让你随时介入、压缩旧上下文、将子任务委托给子代理,以及从断点恢复。多代理模式通过agent.multi_agent切换,并带有max_concurrent_subagents设置。工具有三种类型:programmatic_tool_callingmcp(HTTP传输)和web_search。环境可以是self_hosted或OpenAI管理的沙盒。

细则:仅限美国数据、无ZDR和定价难题

定价遵循模型:你为模型使用付费,OpenAI工具按标准费率收费,托管沙盒按容器费率收费。但有两个限制很突出。数据驻留仅限于美国,并且不支持零数据保留(ZDR)——即使你选择自托管沙盒,它也不会符合ZDR。SDK涵盖Python、TS/JS、Go、Java和Ruby,全部统一在client.beta.agents.sessions.create(...)下。

社区讨论集中在两件事上:将会话交给OpenAI是否值得,以及你究竟会被收取什么费用。一位用户测试了沙盒网络访问,发现了三种模式:启用、禁用和限制。在限制模式下,访问外部域会返回“Domain forbidden”。他还质疑计费:每个代理会话都会启动一个新环境吗?环境至少计费一小时吗?你能提前关闭它们以节省费用吗?

供应商锁定还是仅仅为了方便?

为什么要使用这个API而不是自己运行SDK?社区意见分歧。批评者说它“感觉像是打了兴奋剂的供应商锁定”。支持者耸耸肩:“它让我们免于维护沙盒虚拟机。”从架构上讲,Agents API本质上是将Codex客户端的工具服务器化,使读写文件和拆分任务的长时间运行代理成为任何后端的一流API。权衡?你将会话状态和执行环境交给OpenAI。

关键点:

  • OpenAI的Agents API将Codex暴露为REST端点(/v1/agents/sessions)。
  • 托管功能包括沙盒、上下文压缩、子代理和断点恢复。
  • 数据留在美国;不支持ZDR,即使使用自托管沙盒。
  • 定价混乱和供应商锁定担忧主导了早期的社区反馈。