把 Codex 的「马具」租出来:OpenAI 新 Agents API 拆解
💡 工具推荐:JSON 格式化, Env 文件生成, API 响应时间计算器
2026 年 9 月 10 日,OpenAI 把 Codex 背后的 harness 放到了 API 后面。Agents API 进入公开测试,主张很窄也很具体:你描述任务、模型、工具集与运行环境,OpenAI 替你跑那条 agent 循环。而这条循环——上下文压缩、工具选择、子智能体协同、长会话维持——恰恰是过去两年里大多数团队反复自己重建、而且建得不太好的部分。所以真正值得说清楚的,是你买到了什么,以及哪些责任并没有随之转移。
一条你不再需要自己写的 agent 循环
一、一个会话,三种算力选择
这个 API 的工作单元是 session。你用任务文本、模型、工具列表和环境创建会话,然后接收事件与输出。harness 由 OpenAI 托管与维护,但计算环境的选择权在你手里,目前有三种:与 Codex、ChatGPT 同源基础设施的 OpenAI 托管沙箱;你自己的基础设施;以及合作方沙箱——公开名单包括 Blaxel、Cloudflare、Daytona、DigitalOcean、E2B、Modal、Oracle、Runloop 与 Vercel。托管沙箱由 OpenAI 供给和管理,可以用你的文件、依赖包、skills 与插件来配置;密钥通过 vault 引用,而不是内联写进请求。OpenAI 明确表示 API 本身不额外收费:你只为智能体消耗的 token 与工具付费。
// 1. A production-shaped agent in one call (Agents API, public beta, Sep 10 2026)
import OpenAI from "openai";
const client = new OpenAI();
const session = await client.beta.agents.sessions.create({
agent: {
model: "gpt-6-astra",
tools: [
{
type: "mcp",
server_label: "observability",
transport: { type: "http", server_url: "https://observability.example.com/mcp" },
},
],
multi_agent: { enabled: true, max_concurrent_subagents: 3 },
},
vault_ids: ["vault_YOUR_VAULT_ID"],
environment: {
type: "openai_hosted",
capability_directories: ["/workspace/capabilities/skills"],
},
input:
"Investigate service-api elevated 5xx rate over the last 30 minutes. " +
"Delegate deployment, error, and dependency analysis to subagents. " +
"Save findings, evidence, and recommended mitigation in /workspace/outputs.",
});二、harness 替你接手了哪四件事
四件 harness 行为本身就足以构成迁移理由。第一是上下文管理:会话接近上下文上限时,API 会自动压缩更早的上下文,多窗口工作流不再需要你自己实现摘要逻辑。第二是工具检索(tool search):工具定义按需加载,而不是每轮提示都粘贴一遍,既省 token,又保住了上游提示缓存的有效性。第三是编程式工具调用(programmatic tool calling):智能体可以在代码里并行发起调用、串联相关操作、过滤与合并结果,只把收敛后的结果带回上下文窗口。第四是统一的工具面:MCP 服务器、自定义函数与内置工具(如网页搜索)在同一個 tools 数组里声明。OpenAI 还把 harness 描述为「有版本」的:它随模型发布一起改进,也就是说你不必重写循环就能继承增益。
# 2. Tool search loads definitions on demand, so the prompt cache stays warm
agent_tools = [
{"type": "tool_search", "index": "internal-tools"},
{"type": "programmatic_tool_calling"}, # loop, join and filter in code
{
"type": "mcp",
"server_label": "openai_docs",
"transport": {"type": "http", "server_url": "https://developers.openai.com/mcp"},
},
]
run = client.beta.agents.sessions.create(
agent={"model": "gpt-6-astra", "tools": agent_tools},
input="Summarise every failed deployment in the last 24 hours, grouped by service.",
)
# Only the reduced result returns to the context window, not 400 raw tool rows.沙箱与出网规则是基础设施决策,不是提示词
三、不用自己写编排器就能用子智能体
多智能体支持是一个开关,不是一个框架。打开 multi_agent.enabled 并设定并发上限,API 会把任务拆成相互独立的部分,让每个子智能体拥有自己的上下文,再由协调者汇总结果。子智能体各自持有独立上下文正是关键:一个专注的上下文窗口,比一个同时应付三项调查的窗口更不容易漂移。运维上的提醒是算术:公开示例里的并发上限是 3,这就是扇出规模;成本则是三条并发流共享同一份预算。只有当工作真正可切分时才委派,并且在默认打开之前先量一量 token 差异。
// 3. Subagents keep their own context; the coordinator keeps the plan
const session = await client.beta.agents.sessions.create({
agent: {
model: "gpt-6-astra",
multi_agent: { enabled: true, max_concurrent_subagents: 3 },
},
input: "Research three vendors, one subagent each, then write a comparison table.",
});
// Fan out only for work that genuinely needs separate context:
// three concurrent subagents are three concurrent streams of token spend.四、被托管的开源底座
这条 harness 就是开源的 Codex harness,代码公开,意味着模型调用、工具与上下文之间的协调逻辑是可检视的——当你需要向来访的评审者或审计者解释智能体行为时,这一点很实用。把这则发布读成一条分界线更准确:OpenAI 运行并维护循环,你保留领域部分——工具、知识、工作流。如果你原来的差异化在于自己写的编排循环,那么这一层正在被商品化;如果你的差异化在于工具面和它背后的数据,这则发布并没有动到它。
# 4. Bring your own compute: same harness, your network, your compliance rules
environment:
type: self_hosted
runner: fixed # or on_demand
provider: modal # Blaxel, Cloudflare, Daytona, DigitalOcean,
# E2B, Modal, Oracle, Runloop, Vercel
egress:
default: deny
allow:
- observability.internal:443
- github.com:443
secrets: vault # never bake keys into the image并行子智能体在放大速度的同时,也在放大成本
五、没有随 API 一起转移的责任
有五项责任仍然在你手上。成本:按 token 与工具调用计费,所以会话预算与压缩策略是你的控制点。出网:能访问公网的沙箱就是一条外泄通道,默认拒绝加允许列表应该写进环境定义里。密钥:用 vault 引用、定期轮换,永不写进镜像或提示。幂等:长会话会重试,工具调用需要幂等键。可观测性:事件流就是你的审计日志,意味着接收端与保留期由你决定。第六项是数据驻留:托管沙箱很方便,但它也在别人的区域里。该 API 处于公开测试阶段,OpenAI 表示会快速迭代;建议固定 harness 版本,并把升级当成普通依赖变更来对待。
{
"agent_guardrails": {
"harness_version": "pin-explicitly",
"session_budget_usd": 12.0,
"compaction": { "mode": "automatic", "keep_last_turns": 8 },
"tool_calls": { "idempotency_key": "session_id + tool_name + args_hash" },
"events": { "sink": "otel", "retain_days": 30 },
"environments": { "hosted": "no_pii", "self_hosted": "pii_ok" }
}
}📌 常见问题 FAQ
OpenAI Agents API 是什么?
2026 年 9 月 10 日推出的公开测试产品(OpenAI 官方发布页)。它把驱动 Codex 的 agent harness 与基础设施通过一次 API 调用开放出来:你指定任务、模型、工具与环境即可创建会话,计算环境可选 OpenAI 托管沙箱、自托管或合作方沙箱。
使用 Agents API 需要额外付费吗?
OpenAI 在发布页明确说明:使用 Agents API 本身没有额外费用,你只需按智能体消耗的 token 与工具付费,具体见其定价页。
支持哪些沙箱合作方?
官方公布的合作方包括 Blaxel、Cloudflare、Daytona、DigitalOcean、E2B、Modal、Oracle、Runloop 与 Vercel,同时也提供 OpenAI 托管的沙箱(与 Codex、ChatGPT 同源基础设施)。
子智能体(subagent)怎么用?
在 agent 配置里设置 multi_agent.enabled 与 max_concurrent_subagents(官方示例为 3)。API 会把任务拆分为独立部分,每个子智能体维护自己的上下文,主智能体负责协调并汇总。注意成本随并发数增长。
harness 是开源的吗?
是。OpenAI 表示 Agents API 由开源的 Codex harness 驱动,代码库公开(github.com/openai/codex),由 OpenAI 负责运营与维护,开发者可以检视其协调逻辑。
🔧 推荐工具
📚 参考资料
- OpenAI - Introducing the Agents API (September 10, 2026): managed Codex harness, hosted/self-hosted/partner sandboxes, no additional fees
- OpenAI - Agents API overview (developer documentation)
- OpenAI - Context compaction guide (automatic context management for long sessions)
- GitHub - openai/codex: the open-source harness that powers the Agents API