原生多智能体 API:OpenAI 的 Responses 多智能体 Beta 与自己动手搭建
过去十八个月里,“多智能体”意味着扇出(fan-out)要你自己写:你写协调者提示词,你并行发起 N 个调用,你合并它们的 JSON,你处理重试。2026 年 7 月 9 日,OpenAI 把这一切压缩成了一个请求参数:Responses API 上的 multi_agent.enabled: true,并包装成一个名为 Sol Ultra Mode 的消费级功能。模型自己决定生成多少个子智能体,并行运行它们,再综合结果——全部在一次 HTTP 调用之内。目前没有其他前沿厂商发布过对等的原语。本页梳理实际发布了什么、背后的数字、Anthropic 提供的替代方案,以及最关键的部分:原生原语物有所值的三类工作负载,和自己搭建扇出仍然更优的两类。
- 读懂 Responses API 多智能体请求体的确切形态,并知道 max_concurrent_subagents 究竟限制了什么
- 做成本核算:按 Sol 的价格,“模型生成 4 个子智能体”实际要收你多少钱
- 在 Anthropic 一侧画出同样的版图——Cowork、Managed Agents 和 Claude Code 子智能体——并看清原语上的差距
- 按工作负载选对原语:原生多智能体、自建扇出、A2A,还是单次长回合
- 避开四种会让 4 智能体 Ultra 调用变成 4 倍账单却没有准确率提升的失败模式
一句话版本
Ultra Mode 是 Responses API 上 multi_agent.enabled: true 之上的一层消费级外壳——一个原生原语,让模型在一次请求内并行生成子智能体、综合它们的输出,并返回单一响应。它在可并行的任务上能换来虽小但真实的准确率提升(Terminal-Bench 2.1:88.8% → 91.9%),而 token 账单大致与模型选择生成的子智能体数量成线性增长。
2026 年 7 月 9 日实际发布了什么
同一次发布里落地了两样东西,值得分开看:
- Ultra Mode——ChatGPT 和 Codex 内的产品开关。在旗舰档(Sol)上可用。开启后,困难任务会先被拆解成并行的子智能体运行,再做综合。宣传为“生成 4 个以上智能体”;OpenAI 自己的一些 GA 基准图表在 BrowseComp 和 SEC-Bench Pro 上也展示了 16 智能体的配置,但实际默认值是四个。
- Responses API 多智能体 Beta——开发者原语。同样的底层能力,以
client.beta.responses.create()上的multi_agent.enabled: true暴露出来。想自己搭一个类 Ultra 的体验,就用这个。
营销留下的困惑是真实的:开发者不断在问“我怎么从 API 调用 Ultra Mode?”答案是:你不能——你启用的是多智能体 Beta,它正是产品功能底下的那个原语。
Responses API 多智能体请求
具体来说,形态如下(Python SDK):
最简多智能体 Responses API 调用
from openai import OpenAI
client = OpenAI()
resp = client.beta.responses.create(
model="gpt-5.6-sol",
input="Audit this repo for auth-bypass patterns and write a report.",
multi_agent={
"enabled": True,
"max_concurrent_subagents": 3,
},
tools=[...], # your MCP tools, function tools, etc.
extra_headers={"OpenAI-Beta": "responses_multi_agent=v1"},
)这个形态有四点并不显而易见:
max_concurrent_subagents不是总预算。 它限制的是整棵树在任意时刻活跃的子智能体回合数——根加上所有后代。模型在请求的生命周期内可以生成多得多的总子智能体;只是同一时刻运行的不能超过 N 个。- 深度没有上限。 子智能体自己也可以再生成子智能体。树的深度和每次运行的子智能体总数都没有固定上限。你的成本面不是“N 次调用”,而是一棵由模型在运行时塑形的树。
- 根负责综合。 根智能体负责把子智能体的响应合并为最终答案。你拿不到结构化的
{subagents: [...]}对象;你得到的是一个响应,中间的智能体回合对你的代码是不透明的。 - 有些参数会被静默禁用。 启用多智能体后,
reasoning.summary和max_tool_calls不被支持,而且多智能体响应不支持 compaction 端点。如果你依赖推理摘要做可观测性,一旦打开它就会失去这些。
营销页不会印出来的成本核算
按 Sol 的 GA 定价每百万 token 输入 $5 / 输出 $30,这笔账毫不留情。以下来自对真实 Ultra 运行做逆向分析的开发者文章:
- Ultra 拆成 2 个子智能体的任务 ≈ 单次 Sol 调用输出 token 成本的 2 倍——因为两个子智能体都要生成输出,根还要在其上生成综合内容。
- Ultra 生成 5 个子智能体的任务 ≈ 5 倍——理由相同,再加上整棵树上按比例增多的输入 token 重放。
- 展示 16 智能体配置的 BrowseComp / SEC-Bench 图表不是免费的午餐:它们是研究级的演示,不是默认值。在 Sol 上并发 16 个子智能体时,单单输出 token 一项,每个困难查询就是两位数美元的中段。
可以这样理解:你付的是一次 Sol 调用的蒙特卡洛,外加最上面一次综合。 有时它换来的准确率足够重要;有时它只是为一个单次调用就能解决的任务付了 4 倍账单。
准确率到底换来了什么
在可并行评测——即 Ultra Mode 的目标工作负载——上公布的提升是真实的,但幅度不大:
| 基准 | Sol(单次) | Sol Ultra | 差值 | 评测衡量什么 |
|---|---|---|---|---|
| Terminal-Bench 2.1 | 88.8% | 91.9% | +3.1 | 多步命令行规划、工具协同 |
| BrowseComp | 87.5% | 92.2% | +4.7 | 多来源网络调研与综合 |
| SEC-Bench Pro | — | 74.3% | (未公布单模式数字) | 跨大型语料库的监管文件推理 |
关于这张表有三点:
- +3–5 个点的区间,与并行采样(best-of-N、self-consistency)在其他前沿上历来能换来的提升一致。这个原语确实有用;这个提升并不是阶跃式的飞跃。
- 这些是最好情形——专门挑出来展示该模式的评测。在顺序任务(线性的代码编辑、单文件重写、简短聊天)上,Ultra 只会增加综合延迟和成本,而不会提升准确率。
- 在同一张 Terminal-Bench 2.1 图表上,Anthropic 的 Opus 4.8 得分为 78.9%——也就是说,Sol Ultra 的领先来自更好的基础模型与叠加其上的多智能体增益两者。如果你从 Opus 迁移到 Sol Ultra,不要把全部差距都归功于多智能体原语。
Anthropic 的做法
Anthropic 尚未发布对等的 API 原语。最接近的几个类比各自解决同一问题的不同切片:
- Cowork——一个产品界面。一个智能体式桌面工作区,智能体在其中与用户并肩完成持续的多步工作。作为功能可与 Ultra Mode 相比,但不是 API 原语。
- Managed Agents 与 managed-agents memory stores——带持久状态和调度的托管智能体循环。填补的是“长时间运行的后台智能体”这个位置,而不是“并行生成 4 个再合并”那个位置。
- Claude Code 子智能体与子智能体集群限制——一等的子智能体原语,但范围限定在 Claude Code CLI。有文档、可并行生成,是
multi_agent.enabled最接近的类比——重要区别在于协调者提示词要你自己写。 - Messages API 上的构建智能体——自己动手的路径。你并行扇出 N 个
messages.create调用,自己写综合提示词,自己处理重试。结果相同,代码更多。
差距在于:目前没有任何 Anthropic API 接口能让你拨一个布尔开关,就由模型自己决定生成多少个子智能体并合并它们的工作。 如果你想在 Claude 上得到这种行为,就得自己搭——产品侧的情况见 Cowork 与 Agent Teams,托管循环原语见 Managed Agents。
按工作负载选对原语
- 如果子任务可以在不等待彼此结果的情况下运行——审计一个仓库、跨多个来源调研一个主题、彼此独立地重构 N 个文件——扇出的形态就值回成本。如果任务是顺序的(编辑 A,读取 A 的结果,再编辑 B),任何多智能体原语都只会增加综合开销而没有收益。
- 原生多智能体(Ultra、Responses 多智能体 Beta)会把子智能体的回合对你的代码隐藏起来。如果你需要审计轨迹、按子智能体归集成本,或能在运行中途注入——就自己搭扇出。Claude Code 的子智能体让你可见;Responses API 多智能体 Beta 则不行。
- 如果子任务属于不同的组织、云或厂商,你就超出了任何单一厂商原语的范围。请使用 A2A——见 /docs/models/a2a-protocol-agent-to-agent。原生多智能体是模型内部的;A2A 是智能体之间的。
- 原生多智能体的树是在运行时成形的:你无法从请求预测 token 账单。如果你的应用有按请求的成本 SLA,宁可选择自己控制扇出宽度的自建扇出——或者在根上设置一个硬性的 max_output_tokens 上限。
- 如果你的评测显示单次调用能解决 85% 的任务,而 90% 是能否上线的分水岭,那么原生多智能体是买下这差距的低摩擦方式。如果单次 Sol 或 Opus 调用已经能解决任务,Ultra 就是为 0 点提升付 4 倍账单。
四种让 Ultra 变成白付 4 倍账单的失败模式
- 在顺序任务上打开它。 即使任务无法并行,模型仍会拆解并综合。你为本不需要的工作付了协调开销。经验法则:如果你说不出在第一个子智能体运行时第二个要做什么,就不要启用多智能体。
- 让推理摘要的可观测性留在你的仪表盘上。 多智能体下
reasoning.summary被静默地不支持。如果你的监控依赖它,你会看到空字段,还以为模型没在思考。在拨动开关之前先发布 schema 变更。 - 把
max_tool_calls当作安全限制。 多智能体下它同样被静默禁用。你以为拥有的安全保障——“每个请求最多 20 次工具调用”——没了。应在工具适配器层强制工具调用上限,而不是通过请求参数。 - 以为
max_concurrent_subagents是成本上限。 它限制的是某一时刻的活跃子智能体,而不是整个请求期间生成的总数。一次 Ultra 调用可以依次生成几十个子智能体,同时仍遵守max_concurrent_subagents: 3的限制。如果成本是你的天花板,请加上请求级的 max_output_tokens。
“原生多智能体”不是什么
有两个相邻的原语常被与它混淆:
- 不是
n > 1采样。 OpenAI 较早的n参数会采样多个补全并全部返回,由你挑一个。多智能体则是让不同的子智能体做不同的工作,并综合它们的输出。前者是温度采样;后者是任务分解。 - 不是批量推理。 批处理 API 在后台处理大量彼此独立的请求。多智能体是在一次交互式请求内的许多相互协调的子智能体。批处理面向吞吐量,多智能体面向结果。
走向何方
A2A 协议(见 A2A:智能体到智能体协议)涵盖跨厂商的多智能体。multi_agent.enabled: true 涵盖模型内部的多智能体。尚未填补的空位是跨厂商原语——厂商 A 的模型在厂商 B 上生成一个子智能体并合并结果——目前还没有公开规范。它出现时,会以 A2A + 一个原生移交动词的形式出现,而不是任何一方的新 API。请关注这个方向。
Check yourself
0/4来源与延伸阅读
- Multi-agent — OpenAI API guide — 官方的 Responses 多智能体 Beta 参考:请求形态、
max_concurrent_subagents的语义、不支持的参数清单,以及 Beta 请求头。 - GPT-5.6: Frontier intelligence that scales with your ambition — OpenAI — Sol、Terra、Luna 和 Ultra Mode 的发布文章,含该系列的定位。
- Previewing GPT-5.6 Sol — OpenAI — 较早的预览页,对了解基准方法有帮助。
- GPT-5.6 Sol Ultra Mode: 64 Subagents on One Problem — Digital Applied — 2x/5x 数字背后的线性成本核算(“N 个智能体最多可烧掉相同每 token 价格下单智能体运行 N 倍的 token”),以及 4 智能体的实际默认值及其“最高 4 倍基线”的 token 上限。
- How to Use GPT-5.6 Ultra Mode: Multi-Agent Coordination for Complex Tasks — MindStudio — 默认 4 智能体,以及部分图表中出现 16 智能体的细节。
- OpenAI Releases GPT-5.6 (Sol, Terra, Luna) — MarkTechPost — 对发布的报道,以及与多智能体一同发布的 Programmatic Tool Calling 原语。
- 面向 Claude 用户的 GPT-5.6 与 ChatGPT Work — 关于该模型系列本身的 AILmanac 姊妹页面。
- Cowork 与 Agent Teams — Anthropic 的产品界面类比。
- Managed Agents — Claude 上的托管循环原语。
- Claude Code 子智能体与子智能体集群限制 — CLI 内的一等子智能体原语。
- A2A:智能体到智能体协议 — 跨厂商的姊妹方案;当子智能体跨越信任边界时使用。
- Programmatic Tool Calling — 在同一次 OpenAI 发布中一并推出的另一种原语(他们基于 JS 的版本),以及 Claude 的 Python 沙盒版本。
下一步
- OpenAI Agents API 与 Claude Managed Agents — 本页之上的 2026 年 9 月那一层:持久会话和沙盒,与 Anthropic 的托管循环对比
- A2A:智能体到智能体协议