Zum Hauptinhalt springen

Native Multi-Agent-APIs: OpenAIs Responses Multi-Agent Beta vs Selbst bauen

Experte

Achtzehn Monate lang bedeutete „Multi-Agent", dass du den Fan-out geschrieben hast. Du hast den Coordinator-Prompt geschrieben, du hast N Calls parallel gestartet, du hast ihr JSON zusammengeführt, du hast die Retries verwaltet. Am 9. Juli 2026 hat OpenAI das in einen Request-Parameter kollabiert: multi_agent.enabled: true auf der Responses-API, verpackt in ein Consumer-Feature namens Sol Ultra Mode. Das Modell selbst entscheidet, wie viele Subagenten es spawnt, führt sie parallel aus und synthetisiert das Ergebnis — alles innerhalb eines einzigen HTTP-Calls. Kein anderer Frontier-Anbieter hat eine symmetrische Primitive ausgeliefert. Diese Seite kartiert, was tatsächlich ausgeliefert wurde, die Zahlen dahinter, was Anthropic stattdessen anbietet und — der Teil, auf den es ankommt — die drei Workloads, in denen die native Primitive ihre Kosten verdient, und die zwei, in denen ein DIY-Fan-out immer noch gewinnt.

What you'll learn
  • Den exakten Multi-Agent-Request-Body der Responses-API lesen und wissen, was max_concurrent_subagents tatsächlich begrenzt
  • Die Kostenrechnung machen: was 'das Modell spawnt 4 Subagenten' dich zu Sol-Preisen tatsächlich kostet
  • Dasselbe Territorium auf Anthropics Seite kartieren — Cowork, Managed Agents und Claude-Code-Subagenten — und die Primitive-Lücke sehen
  • Die richtige Primitive pro Workload wählen: native Multi-Agent, DIY-Fan-out, A2A oder ein einzelner langer Turn
  • Die vier Failure Modes vermeiden, die aus einem 4-Agenten-Ultra-Call eine 4x-Rechnung ohne Genauigkeitsgewinn machen

Die Ein-Satz-Version

Ultra Mode ist eine Consumer-Verkleidung über multi_agent.enabled: true auf der Responses-API — eine native Primitive, die das Modell Subagenten parallel innerhalb eines Requests spawnen, ihre Ausgaben synthetisieren und eine einzelne Response zurückgeben lässt. Sie kauft dir einen kleinen-aber-realen Genauigkeitszuwachs auf parallelisierbaren Tasks (Terminal-Bench 2.1: 88,8 % → 91,9 %), zu einer Token-Rechnung, die grob linear mit der Anzahl der Subagenten skaliert, die das Modell zu spawnen wählt.

Was am 9. Juli 2026 tatsächlich ausgeliefert wurde

Zwei Dinge sind im gleichen Launch gelandet, und es lohnt sich, sie zu trennen:

  • Ultra Mode — ein Produkt-Toggle innerhalb von ChatGPT und Codex. Verfügbar auf dem Flaggschiff-Tier (Sol). Wenn aktiviert, werden harte Tasks vor der Synthese in parallele Subagenten-Läufe dekomponiert. Vermarktet als „spawnt 4+ Agenten"; einige von OpenAIs eigenen GA-Benchmark-Charts zeigen auch 16-Agenten-Konfigurationen auf BrowseComp und SEC-Bench Pro, aber vier ist der arbeitende Default.
  • Responses-API-Multi-Agent-Beta — eine Entwickler-Primitive. Dieselbe zugrunde liegende Fähigkeit, exponiert als multi_agent.enabled: true auf client.beta.responses.create(). Das ist, was du verwenden würdest, um deine eigene Ultra-ähnliche Erfahrung zu bauen.

Die Verwirrung, die das Marketing hinterlassen hat, ist real: Entwickler fragen immer wieder „wie rufe ich Ultra Mode aus der API auf?" Die Antwort ist, dass du das nicht tust — du aktivierst die Multi-Agent-Beta, die die Primitive unter dem Produkt-Feature ist.

Der Multi-Agent-Request der Responses-API

Konkret ist das die Form (Python SDK):

Minimaler Multi-Agent Responses-API-Call

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"},
)

Vier Dinge an dieser Form sind nicht offensichtlich:

  • max_concurrent_subagents ist kein Gesamtbudget. Es begrenzt aktive Subagenten-Turns über den gesamten Baum zu einem gegebenen Moment — Root plus Nachkommen. Das Modell kann eine viel größere Gesamtzahl an Subagenten über die Lebensdauer des Requests spawnen; es kann nur nicht mehr als N gleichzeitig laufen haben.
  • Tiefe ist unbegrenzt. Ein Subagent kann selbst Subagenten spawnen. Es gibt keine feste Obergrenze für Baum-Tiefe oder Gesamt-Subagenten-Zahl pro Lauf. Deine Kostenoberfläche ist nicht „N Calls" — sie ist ein Baum, den das Modell zur Laufzeit formt.
  • Der Root synthetisiert. Der Root-Agent ist dafür verantwortlich, Subagenten-Antworten zur finalen Antwort zu verschmelzen. Du bekommst kein strukturiertes {subagents: [...]}-Objekt zurück; du bekommst eine Response, und die Zwischen-Agent-Turns sind für deinen Code opak.
  • Manche Parameter werden stillschweigend deaktiviert. reasoning.summary und max_tool_calls werden mit aktiviertem Multi-Agent nicht unterstützt, und der Compaction-Endpoint wird für Multi-Agent-Responses nicht unterstützt. Wenn du für Observability auf Reasoning-Summaries angewiesen bist, verlierst du sie in dem Moment, in dem du das einschaltest.

Die Kostenrechnung, die niemand auf die Marketing-Seite druckt

Zu Sols GA-Preisen von 5 $ Input / 30 $ Output pro Million Tokens ist die Arithmetik unerbittlich. Aus den Builder-Writeups, die echte Ultra-Läufe reverse-engineered haben:

  • Ein Task, den Ultra in 2 Subagenten dekomponiert ≈ 2x die Output-Token-Kosten eines einzelnen Sol-Calls — weil beide Subagenten Output generieren und der Root dann die Synthese obendrauf generiert.
  • Ein Task, für den Ultra 5 Subagenten spawnt ≈ 5x — gleiche Logik, plus proportional mehr Input-Token-Replay über den Baum.
  • Die BrowseComp- / SEC-Bench-Charts, die 16-Agenten-Konfigurationen zeigen, sind kein Freifahrtschein: sie sind eine forschungsgrade Demonstration, kein Default. Bei 16 gleichzeitigen Subagenten auf Sol schaust du auf eine mittlere zweistellige Dollar-Zahl pro hartem Query nur an Output-Tokens.

Die Art, darüber nachzudenken: du zahlst für eine Monte-Carlo-Sammlung von Sol-Calls plus einen Synthese-Pass obendrauf. Manchmal kauft dir das genug Genauigkeit, um zu zählen. Manchmal ist es einfach eine 4x-Rechnung für einen Task, den ein einzelner Call gelöst hätte.

Was die Genauigkeit tatsächlich kauft

Die veröffentlichten Deltas auf den parallelisierbaren Evals — den Workloads, für die Ultra Mode entworfen wurde — sind real, aber bescheiden:

BenchmarkSol (einzeln)Sol UltraDeltaWas der Eval misst
Terminal-Bench 2.188,8 %91,9 %+3,1Mehrschritt-Command-Line-Planung, Tool-Koordination
BrowseComp87,5 %92,2 %+4,7Multi-Source-Web-Recherche und -Synthese
SEC-Bench Pro74,3 %(Single-Mode-Zahl nicht veröffentlicht)Regulatorisches Doc-Reasoning über große Korpora

Drei Punkte zu dieser Tabelle:

  • Das +3–5-Punkte-Band ist konsistent mit dem, was Parallel-Sampling dir historisch auf anderen Frontieren gekauft hat (Best-of-N, Self-Consistency). Die Primitive ist echt nützlich; das Delta ist keine Sprungänderung.
  • Das sind der Best Case — Evaluationen, die gewählt wurden, um den Modus zu präsentieren. Bei sequenziellen Tasks (ein linearer Code-Edit, ein einzelnes File-Rewrite, ein kurzer Chat) addiert Ultra Synthese-Latenz und Kosten, ohne Genauigkeit zu bewegen.
  • Im gleichen Terminal-Bench-2.1-Chart erzielte Anthropics Opus 4.8 78,9 % — was bedeutet, dass Sol Ultras Vorsprung sowohl vom besseren Basis-Modell als auch vom Multi-Agent-Boost obendrauf stammt. Wenn du von Opus auf Sol Ultra migrierst, schreibe nicht die gesamte Lücke der Multi-Agent-Primitive zu.

Was Anthropic stattdessen tut

Anthropic hat keine symmetrische API-Primitive ausgeliefert. Die nächsten Analoga lösen jeweils eine andere Scheibe desselben Problems:

  • Cowork — eine Produkt-Oberfläche. Ein agentischer Desktop-Workspace, in dem ein Agent anhaltende Mehrschritt-Arbeit an der Seite des Nutzers erledigt. Vergleichbar mit Ultra Mode als Feature, aber nicht als API-Primitive.
  • Managed Agents und Managed-Agents-Memory-Stores — ein gehosteter Agent-Loop mit persistentem State und Scheduling. Füllt den „lang-laufender Hintergrund-Agent"-Slot, nicht den „4 parallel spawnen und mergen"-Slot.
  • Claude-Code-Subagenten und die Subagent-Fleet-Limits — eine erstklassige Subagent-Primitive, aber auf die Claude-Code-CLI beschränkt. Dokumentiert, parallel spawnbar, und das nächste Analog zu multi_agent.enabled — mit dem wichtigen Unterschied, dass du den Coordinator-Prompt selbst schreibst.
  • Building Agents auf der Messages-API — der DIY-Pfad. Du fan-out-est N messages.create-Calls parallel, du schreibst den Synthese-Prompt, du verwaltest Retries. Gleiches Ergebnis, mehr Code.

Die Lücke: keine Anthropic-API-Oberfläche lässt dich derzeit ein einzelnes Boolean umlegen und das Modell selbst entscheiden lassen, wie viele Subagenten es spawnt und ihre Arbeit merged. Wenn du dieses Verhalten gegen Claude willst, baust du es — siehe Cowork & Agent Teams für die Produkt-Seite und Managed Agents für die Hosted-Loop-Primitive.

Die richtige Primitive pro Workload wählen

Guided walkthrough1 of 5
  1. Wenn Subtasks laufen können, ohne aufeinanders Ergebnisse zu warten — ein Repo auditieren, ein Thema über viele Quellen recherchieren, N Dateien unabhängig refaktorieren — verdient eine Fan-out-Form ihre Kosten. Wenn der Task sequenziell ist (edit A, dann lies As Ergebnis, dann edit B), addiert jede Multi-Agent-Primitive Synthese-Overhead ohne Gewinn.

Vier Failure Modes, die aus Ultra eine 4x-Rechnung für nichts machen

  • Es für sequenzielle Tasks einschalten. Das Modell dekomponiert und synthetisiert immer noch, auch wenn der Task nicht parallelisiert. Du zahlst Koordinations-Overhead auf Arbeit, die es nie gebraucht hat. Faustregel: wenn du nicht artikulieren kannst, was der zweite Subagent tun würde, während der erste läuft, aktiviere Multi-Agent nicht.
  • Reasoning-Summary-Observability auf deinem Dashboard belassen. reasoning.summary wird mit Multi-Agent stillschweigend nicht unterstützt. Wenn dein Monitoring davon abhängt, bekommst du leere Felder und denkst, das Modell denkt nicht. Ship eine Schema-Änderung, bevor du das Flag umlegst.
  • max_tool_calls als Safety-Limit verwenden. Auch stillschweigend mit Multi-Agent deaktiviert. Die Safety-Story, die du dachtest, du hättest — „höchstens 20 Tool-Calls pro Request" — ist weg. Erzwinge Tool-Call-Obergrenzen auf der Tool-Adapter-Ebene, nicht über den Request-Parameter.
  • Annehmen, max_concurrent_subagents sei ein Kosten-Cap. Es begrenzt aktive Subagenten in einem Moment, nicht die insgesamt über den Request gespawnten. Ein einzelner Ultra-Call kann Dutzende Subagenten sequenziell spawnen und trotzdem ein max_concurrent_subagents: 3-Limit respektieren. Wenn Kosten deine Obergrenze sind, füge ein Request-Level-max_output_tokens hinzu.

Was „native Multi-Agent" nicht ist

Zwei angrenzende Primitiven werden oft damit verwechselt:

  • Nicht n > 1-Sampling. OpenAIs älterer n-Parameter samplet mehrere Completions und gibt sie alle zurück; du wählst eine. Multi-Agent lässt verschiedene Subagenten verschiedene Arbeit tun und synthetisiert ihre Ausgaben. Ersteres ist Temperatur-Sampling; letzteres ist Task-Dekomposition.
  • Nicht Batch-Inference. Die Batch-API verarbeitet viele unabhängige Requests im Hintergrund. Multi-Agent sind viele koordinierte Subagenten innerhalb eines interaktiven Requests. Batch ist durchsatz-orientiert, Multi-Agent ist ergebnis-orientiert.

Wohin das führt

Das A2A-Protokoll (siehe A2A: Das Agent-to-Agent-Protokoll) deckt Inter-Vendor-Multi-Agent ab. multi_agent.enabled: true deckt Intra-Modell-Multi-Agent ab. Der ungefüllte Slot ist eine Cross-Vendor-Primitive — das Modell auf Vendor A spawnt einen Subagenten auf Vendor B und merged das Ergebnis — und es gibt dafür noch keine öffentliche Spezifikation. Wenn sie landet, wird sie als A2A + ein natives Handoff-Verb landen, nicht als eine neue API auf beiden Seiten. Behalte diesen Raum im Auge.

Check yourself

0/4
  1. Was begrenzt max_concurrent_subagents auf der Responses-Multi-Agent-Beta?
  2. Du aktivierst Multi-Agent und dein Monitoring-Dashboard zeigt plötzlich leere Reasoning-Summary-Felder. Was ist passiert?
  3. Du brauchst parallele Subagenten, die in verschiedenen Kunden-Accounts über zwei Vendoren laufen. Welche Primitive ist korrekt?
  4. Welches der folgenden ist ein schlechter Kandidat für Ultra Mode / multi_agent.enabled?
Noch keine Karten — füge welche hinzu, um zu lernen. 🃏

Quellen & weiterführende Literatur