OpenAI把Codex做成API:Agents API上线,托管会话与沙箱对外开放
OpenAI 在开发者文档里正式上线了 Agents API,把 Codex 的 harness 通过一个 OpenAI 托管的 REST API 暴露出来。核心端点只有一个: POST https://api.openai.com/v1/agents/sessions ,需带 OpenAI-Beta: agents=v1 头。语义很直白——OpenAI 负责会话、编排、上下文压缩和恢复,应用负责提供工具、决定执行环境。 四个核心概念与一套托管能力
文档把概念拆成四个:Agent(模型 + 指令 + 工具 + MCP 服务器)、Environment(可选沙箱或计算机,agent 在其中读写文件、加载 skills、跑命令)、Session(一个持久的 agent 实例,处理任务并响应输入),以及 Events 和 items(会话期间的输入输出)。工作流即创建会话 → 分配任务 → 流式或 webhook 跟进 → 继续或干预。
托管的 harness 能力包括在沙箱里运行命令和代码、应用 skills 和指令、通过工具或 MCP 连接外部数据、工作过程中随时干预、压缩之前的上下文、把子任务委派给 subagent,以及断点续跑。多智能体通过 agent.multi_agent 开启,可设置 max_concurrent_subagents ;工具支持 programmatic_tool_calling 、 mcp (HTTP transport)、 web_search 三类,环境可选 self_hosted 或 OpenAI 托管沙箱。 数据仅限美国、不支持 ZDR,社区质疑厂商锁定
定价跟随模型走:模型用量按所选模型计费,OpenAI 工具按标准价,托管沙箱按容器价。但有两个数据层面的限制值得注意——数据驻留目前仅限美国,且不支持 Zero Data Retention(ZDR),即便选择自托管沙箱也不会因此变成 ZDR 合规。SDK 覆盖 Python、TS/JS、Go、Java、Ruby,统一为 client.beta.agents.sessions.create(...) 。
社区讨论主要围绕两点:是否值得把会话交给 OpenAI 托管,以及定价的模糊。有用户测试沙箱网络访问配置,发现 enabled / disabled / restricted 三种模式,受限网络下访问外部域名会返回“Domain forbidden”;他同时质疑计费方式——每次执行 agent session 是否都新建环境、环境是否至少按一小时计费、能否主动关闭以省钱。
关于为什么用这个 API 而不是自己跑 SDK,社区分两派:质疑方认为“这更像是加强 vendor lock-in”;支持者则很实际——“为了省掉自己维护一个沙箱 VM 的麻烦”。从架构角度看,Agents API 的实质是把 Codex 客户端那套 harness 服务端化,让长期运行、能读写文件、能拆子任务的 agent 成为任何后端程序都能调用的一等公民 API,代价则是把会话状态和执行环境交给 OpenAI。