OpenAI Agents API:Codex 走向无服务器,但数据仍留在美国
OpenAI 开启代理闸门
OpenAI 悄然开启了其 Agents API 的开关,这项新服务让开发者能够使用与其内部编码代理相同的 Codex 框架。这一举措在公司开发者文档中被发现,将曾经是客户端工具转变为完全托管的服务器端平台。
其核心,该 API 看似简单。只有一个端点——POST /v1/agents/sessions——和一个必需的标头(OpenAI-Beta: agents=v1)。但别被这种极简主义所迷惑。在底层,OpenAI 正在处理会话管理、编排、上下文压缩和恢复。您的应用提供工具并决定代码运行的位置。
四个构建块,一个托管服务
文档将一切归结为四个概念:
- Agent:模型、指令、工具和 MCP 服务器。
- Environment:可选的沙箱或计算机,代理在其中读取、写入和执行命令。
- Session:一个持久的代理实例,处理任务并响应输入。
- Events and items:会话期间流动的输入和输出。
工作流程很直接:创建一个会话,分配一个任务,流式传输或 webhook 结果,然后根据需要继续或干预。OpenAI 的托管框架负责繁重的工作——在沙箱中运行代码、应用技能、通过 MCP 连接外部数据、压缩上下文,甚至将子任务委托给子代理。
多代理支持通过 agent.multi_agent 启用,并带有 max_concurrent_subagents 设置。工具分为三种类型:programmatic_tool_calling、mcp(HTTP 传输)和 web_search。环境可以是 self_hosted 或 OpenAI 管理的沙箱。
细则:仅限美国数据,无 ZDR
定价遵循模型:您为模型使用付费,OpenAI 工具的标准费率,以及托管沙箱的容器费率。但有两个数据限制引人注目。数据驻留目前仅限于美国,并且该 API 不支持零数据保留(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,通过单一端点管理代理会话。
- 处理编排、上下文压缩和恢复;支持沙箱和 MCP 工具。
- 仅限美国数据驻留和不支持 ZDR,即使使用自托管沙箱。
- 定价:模型使用 + 标准工具费率 + 托管沙箱的容器费率。
- 社区担忧:供应商锁定、计费不透明和网络限制。