Leitfaden
OpenAI DevDay 2026 Entwicklerleitfaden: Welche Änderungen bei Responses API, Structured Outputs, Tool Calling und MCP möglich sind
Die Keynote ändert Ihr Repository nicht. Was Sie jetzt tun können: finales Output, Tool-Argumente, MCP inputSchema und Session-Items zu einem prüfbaren Vertrag zusammenziehen.
OpenAI DevDay 2026 findet am 29. September in Fort Mason in San Francisco statt. Die offizielle Eventseite verspricht einen Techniktag zu APIs und Entwicklerwerkzeugen: vormittags eine gestreamte Keynote (mit Sam Altman), nachmittags Breakouts, anschließend Aufzeichnungen. Bewerbungen schlossen im Juli. Der Beitrag vom 2. September listete zehn Changelog-Prognosen — Completions-Termine, Ultrafast, Unternehmensidentität, Realtime-Angleich; siehe DevDay 2026 API-Prognosen. Dieser Text ist das Handbuch: vier Linien, die die Form Ihres Codes ändern — Responses API, Structured Outputs, Tool Calling, MCP — und die Schema-Dateien, die Sie diese Woche einfrieren können. Prognosen liegen daneben. Getrennte Verträge nicht. Fakten kommen weiter aus dem OpenAI API Changelog: Assistants ging am 26. August dauerhaft offline; GPT-5.6 hat Programmatic Tool Calling und Multi-Agent-Orchestrierung in Responses gelegt; Remote-MCP, Skills, Computer Use und Tool Search landen fast nur auf Responses, nicht auf Chat Completions.
So nutzen Sie diesen Leitfaden — gegenüber der Prognose
Die Prognose beantwortet, was die Bühne sagen könnte. Dieser Leitfaden beantwortet, welches JSON diese Woche ins Repository gehört. Beide folgen derselben 2026er Spur; die Leseraktion ist eine andere. Die eine legen Sie an die Keynote. Die andere friert ein schemas/-Verzeichnis ein. Bauen Sie das Produkt nicht wegen einer Prognose um. DevDay erfindet selten eine Fläche von null — es hebt Previews, streicht Beta-Kennzeichnungen und zieht Unternehmens-Allowlists in die Defaults.
Trennen Sie Fakten von Möglichkeiten. Schon Tatsache: Responses ist der Agent-fähige Weg; Structured Outputs sperrt das finale Objekt mit text.format.json_schema + strict; Funktionstools und Remote-MCP können auf derselben responses.create hängen; MCP verlangt standardmäßig Freigabe (mcp_approval_request) und lässt sich mit require_approval / allowed_tools verengen. Das ist keine Prognose. Was angekündigt werden kann: ein Abschaltdatum, ein GA-Siegel, ein Self-Service-Schalter und ein offizieller Weg, zwei Schemas als gleiche Herkunft zu deklarieren.
Die nützliche Frage ist nicht, ob GPT-5.7 erscheint, sondern: Welche Request-Fläche wird der einzig empfohlene Weg? Welches JSON Schema kippt vom Modellhinweis zur Plattformpflicht? Welche Sitzungsschicht wandert aus Ihrer Datenbank in offizielle Conversations? Die Karte:
| Dokument | Was es beantwortet | Was Sie jetzt tun |
|---|---|---|
| DevDay-Prognose (2. September) | Chancen und Belege für zehn API-Richtungen | Keynote abgleichen; Repository-Struktur nicht umbauen |
| Dieser Leitfaden (15. September) | Vier Linien + Schema-Dateien zum Einfrieren | Diese Woche schemas/tools, output, mcp, session trennen |
| Assistants-Migration | Wie Thread / Run auf Responses wandern | beta.threads räumen; Session-Items als Vertrag behandeln |
| Changelog / offizielle Docs | Was GA, deprecated oder Preview ist | Den Docs glauben, nicht einem Social-Recap |
Responses API: die Request-Fläche, die sich zusammenziehen kann
Assistants ist bereits tot. Chat Completions lebt, aber 2026er Features landen dort fast nie: Remote-MCP, Tool Search, Computer Use, Skills, hosted shell, WebSocket Responses und phase (commentary / final_answer) hängen alle an Responses. Wiederverwendbare Prompts kamen nie in Chat Completions. Das ist Plattformpolitik, kein Geschmack: die Agent-fähige Fläche wird auf eine zusammengezogen. Zum Objektumzug von Assistant / Thread / Run siehe Assistants → Responses Migration.
Die wahrscheinlichsten DevDay-Schnitte sind nicht „noch ein Responses-Parameter“, sondern einige von diesen dreien: ein datiertes Completions-Freeze oder Abschalten; Conversations als Sitzungsprimitiv über Text-Responses und Realtime; mehr Bild-, Transkriptions- und Videoarbeit als eingebaute Tools auf derselben Output-Item-Zeitlinie. Für Sie heißt das: neue Wrapper sprechen nur input / output Items, tools[], text.format und previous_response_id oder conversation. Pflegen Sie keine zwei tools[]-Formen.
Auch Request-Metadaten werden zusammengezogen. Fast hat Priority bereits ersetzt; Ultrafast ist weiter begrenzte Vorschau. Schreiben Sie service_tier, prompt_cache_retention und safety_identifier jetzt ins Request-JSON, nicht in SDK-Defaults. Nach der Keynote stimmen Sie Rechnungen, Cache-Hits und Safety-Blöcke über diese Schlüssel ab — nicht über den Modellnamen. Das Skelett darunter ist heute legal und sollte legal bleiben: Funktionstools, Remote-MCP und Structured Output auf einer responses.create.
{
"model": "gpt-5.6-sol",
"input": "Extract the paid invoice and call billing tools",
"tools": [
{
"type": "function",
"name": "searchInvoices",
"strict": true,
"parameters": {
"type": "object",
"properties": {
"invoiceId": { "type": "string" },
"status": {
"type": "string",
"enum": ["draft", "sent", "paid", "void"]
}
},
"required": ["invoiceId", "status"],
"additionalProperties": false
}
},
{
"type": "mcp",
"server_label": "billing",
"server_url": "https://mcp.example.com",
"allowed_tools": ["searchInvoices", "createCreditNote"],
"require_approval": "never"
}
],
"text": {
"format": {
"type": "json_schema",
"name": "invoice_result",
"strict": true,
"schema": {
"type": "object",
"properties": {
"invoiceId": { "type": "string" },
"total": { "type": "number" },
"currency": { "type": "string", "enum": ["USD", "CNY", "EUR"] },
"status": { "type": "string", "enum": ["paid", "open"] }
},
"required": ["invoiceId", "total", "currency", "status"],
"additionalProperties": false
}
}
},
"service_tier": "fast",
"safety_identifier": "billing-user-42"
}
Structured Outputs: Form, Streaming, Schemas gleicher Herkunft
Structured Outputs kann heute das finale Objekt festnageln: in Responses unter text.format, dieselben Regeln wie Chat Completions response_format, andere Feldnamen. Der offizielle Pitch ist Typsicherheit, erkennbare Ablehnungen und weniger Prompting vom Typ „bitte gib JSON aus“. Bedeutung verkauft es nicht: Form zu sperren ist nicht Semantik zu sperren. Abgeschnittene Stream-Strings, still verworfene $ref, übergroße Schemas und dynamische Enums bleiben die üblichen 2026er Integrationswunden. Unser Structured-Output-Tutorial und der Leitfaden zu KI-JSON-Fehlern sagten dasselbe: Die Plattform garantiert passende Klammern, nicht eine korrekte Rechnungssumme.
Der Entwicklerschmerz, den eine Keynote liebt, ist dieses Trio: (1) Streaming Structured Output, dessen Deltas legale Teilobjekte oder JSON Patch sind, keine kaputten Strings; (2) ein offizieller Weg, Tool-Schema und Output-Schema als gleiche Herkunft zu deklarieren, damit Sie keine Zwillinge von Hand pflegen; (3) eine verlustärmere JSON-Schema-Teilmenge — weniger stilles Verwerfen von oneOf / $ref. Die Chance liegt unter einem Completions-Sunset, aber wenn es kommt, werden Stream-Parser und Schema-Verzeichnis am ersten Tag namentlich genannt.
Was Sie tun können, ist bühnenfest: schemas/output/ von schemas/tools/ trennen; jedes Output-Schema als Draft 2020-12 mit strict + additionalProperties: false und vollständiger required-Liste schreiben; dieselbe Datei an Plattform und lokalen Validator füttern. Wenn Plattformfehler und lokale Fehler auseinanderlaufen, zuerst die zwei Schemas diffen, dann das Modell beschuldigen. Das Objekt, das Sie Nutzer oder Downstream übergeben, darf keine Datei mit einem Checkpoint oder mit MCP-arguments teilen — siehe AI Agent State.
Tool Calling: programmierbare Aufrufe und Multi-Agent
Tool Calling 2026 ist nicht mehr „das Modell wählt eine Funktion, Sie führen sie einmal aus, Sie stopfen einen String zurück“. Am 9. Juli hat GPT-5.6 Programmatic Tool Calling, explizite Prompt-Cache-Steuerung, persisted reasoning und Multi-agent orchestration (Beta) in Responses gelegt. Das Modell kann Tools strukturell ketten und Kind-Agenten als Objekte erster Klasse behandeln. Das übliche Beta-Schicksal ist ein DevDay-GA mit Limits und SLA.
Wird es GA, muss Ihr Orchestrator die Grenze neu ziehen: welche Hops die Plattform besitzt, welche in Ihrer Schleife bleiben. Eine neue JSON-Familie erscheint — Zwischenprodukte von Kind-Agenten. Werfen Sie sie nicht in dieselbe Datei wie finales Structured Output oder MCP-arguments. Stempeln Sie jetzt correlationId / runId / callId auf jedes Tool-Log, damit die GA-Abstimmung möglich ist. Function-Tool-arguments sind oft noch ein JSON-String: vor der Ausführung JSON.parse + Schema — dieselbe Problemklasse wie MCP tools/call.
Tool Search, Skills und hosted shell leben bereits nur auf Responses. Macht DevDay „erst suchen, dann aufrufen“ zum Default, werden Sie 80 Funktionen in tools[] bereuen. Teilen Sie Tool-Pakete nach Domäne; nutzen Sie eine Allowlist im Stil von allowed_tools auch bei Funktionstools. Parameter-Schemas klein halten, Enums kurz, additionalProperties aus. Details in MCP und JSON Schema.
MCP: Remote-Tools, Freigaben und Connector
Ab GPT-5.5 kann Responses einen Remote-MCP-Server hängen: Das Modell emittiert zuerst mcp_list_tools, dann wählt es den Aufruf. Die Konsole hat von OpenAI gepflegte Connector; der Secure MCP Tunnel vom 19. Mai lässt ChatGPT, Codex, Responses und AgentKit über einen kundenseitigen tunnel-client On-Prem-Server erreichen — derzeit vor allem ein Enterprise-Move. Merken Sie den Default: Die Plattform verlangt Freigabe, bevor Daten zum Remote gehen, und Sie sehen mcp_approval_request im Output. Sobald Sie einem Server vertrauen, setzen Sie require_approval pro Tool oder auf never. Nutzen Sie allowed_tools, wenn der Katalog groß ist — allein das Listen verbrennt Kontext.
Die Lücke ist klar: Typische Projekte können privates MCP immer noch nicht per Klick aufhängen, und der Connector-Katalog deckt Eigenbau-Tools nicht. Die Prognose markierte „Self-Service Hosted MCP / Connector, Tunnel als Projektschalter“ als hohe Chance. Dieser Leitfaden verlangt eine wahrscheinlichkeitunabhängige Gewohnheit: MCP Tool.inputSchema und Modell-tools[].parameters müssen dieselbe Herkunft haben. Wrapper-Feldnamen dürfen differieren; properties, required und Enums müssen aus einer Quelldatei entstehen. Die Plattform validiert Ihren Server nicht zur Laufzeit. Die Kette bleibt parse → Schema → Geschäftsregeln. Remote-MCP ist zustandsloses JSON-RPC; die Geschäftsposition lebt nicht auf dem Server — siehe Stateless MCP.
Mischen Sie das nicht mit A2A. MCP ist das Modell, das ein Tool aufruft; A2A ist seitliche Agent-Delegation mit eigenem Task-Lebenszyklus und Artifacts. OpenAI konsumiert MCP bereits auf der Modellschicht; seitliche Delegation bleibt ein Loch. Wenn DevDay AAIF / A2A nickt, ist das Interop — kein Grund, eine Agent Card in inputSchema zu mergen. Siehe A2A vs MCP. Wenn sich private-tool-arguments von MCP params.arguments entfernen, diffen Sie den Generator, nicht die Laune des Modells.
Sechs JSON Schemas, die Sie jetzt einfrieren
Liefern Sie kein Riesen-JSON. Trennen Sie nach Verbraucher: Das Modell liest die Output-Form, die Runtime liest Tool-Argumente, der MCP-Server liest inputSchema, der Orchestrator liest Session-Items und Kind-Agent-Artifacts, das Kontobuch liest usage. Sechs Dateien decken die Flächen, die DevDay am ehesten berührt. Quellen in Draft 2020-12 schreiben; wenn Sie einen OpenAI-Wrapper erzeugen (text.format / parameters), nur Verpackung hinzufügen — properties nicht ändern.
| Datei | Was es sperrt | Wer liest | Macht ein Extra-Keynote-Parameter es tot? |
|---|---|---|---|
| schemas/output/invoice_result.json | Finales Structured-Output-Objekt | Responses text.format / lokaler Validator | Nein. strict + additionalProperties:false gilt weiter |
| schemas/tools/searchInvoices.json | Function-Tool parameters | Responses tools[] / Execute-and-parse | Nein. GA-Orchestrierung ändert die Eingabeform nicht |
| schemas/mcp/searchInvoices.json | MCP Tool.inputSchema (gleiche Herkunft wie die Zeile darüber) | MCP-Server und tools/call | Nein. Self-Service Hosted MCP ändert nur die Provisionierung |
| schemas/session/conversation-item.json | Conversations / Output-Item-Union | Export, Replay, Compliance | Felder können wachsen; type-Enum zuerst einfrieren |
| schemas/agent/child-artifact.json | Zwischenumschlag des Kind-Agenten | Multi-Agent-Orchestrator | Nein. Beta→GA braucht die eigene Datei noch mehr |
| schemas/obs/usage-record.json | usage + cache + safety + request_id | Kontobuch und Abstimmung | Nein. Ein neues Dashboard muss auf Schlüssel mappen, die Sie schon speichern |
Legen Sie im Repository einen Index an, der sagt, welche zwei Dateien dieselbe Herkunft teilen und welche Datei nur Wrapper ist. Der Index ist gewöhnliches JSON, leicht zu reviewen und zu diffen:
{
"schemaVersion": "1.0",
"pack": "devday-2026-prep",
"files": [
{
"id": "so.invoice_result",
"path": "schemas/output/invoice_result.json"
},
{
"id": "fn.searchInvoices.parameters",
"path": "schemas/tools/searchInvoices.json"
},
{
"id": "mcp.searchInvoices.inputSchema",
"path": "schemas/mcp/searchInvoices.json",
"sameOriginAs": "fn.searchInvoices.parameters"
},
{
"id": "conv.item",
"path": "schemas/session/conversation-item.json"
},
{
"id": "agent.artifact",
"path": "schemas/agent/child-artifact.json"
},
{
"id": "obs.usage",
"path": "schemas/obs/usage-record.json"
}
]
}
Die Schleife ist immer parse → Schema → Geschäftsregeln, ob das Modell auf der Bühne „klüger“ wird oder nicht. Halten Sie je ein echtes Fehler-Fixture für abgeschnittenes JSON, einen Schema-Fehler und gedriftete MCP-arguments. Am Ankündigungstag diffen Sie neues Verhalten gegen diese Fixtures — nicht gegen einen Social-Recap.
Im Browser reicht: JSON-Formatierer für parse; JSON-Schema-Prüfung für output und tools; JSON Diff für Modell-arguments gegen MCP params.arguments. Die Daten verlassen den Rechner nicht.
Weiterlesen: DevDay: zehn Prognosen, Assistants → Responses Migration, Structured Output, MCP und JSON Schema, Stateless MCP, A2A vs MCP.
FAQ
Ist das die offizielle Agenda?
Nein. OpenAI hat Datum, Ort und den technischen Fokus auf APIs und Entwicklerwerkzeuge veröffentlicht. „Mögliche Änderungen“ auf den vier Linien sind Ingenieursurteil aus dem Changelog 2026. Der Saal kann eine Teilmenge liefern — oder die Stunde auf Modelle und Codex verwenden. Die Schema-Liste hängt nicht an der Agenda.
Worin unterscheidet sich das von der Prognose vom 2. September?
Die Prognose deckt zehn Richtungen (inkl. Tiers, Identität, Observability, multimodal). Dieser Text entfaltet nur die vier Linien, die die JSON-Form ändern, und nennt sechs Dateien zum Einfrieren. Zusammen lesen: Die Prognose beobachtet die Bühne; der Leitfaden ändert das Repository.
Noch auf Chat Completions — zu spät?
Nein, und jetzt zu migrieren ist billiger als die Woche nach einem Sunset-Datum. Zuerst Tool Calling und Structured Output ziehen, dann Conversations anhängen. Warten Sie nicht auf die Keynote, um den Wrapper zu bauen. Der Assistants-Artikel hat die Schritte — Completions-Wrapper können demselben Item-Modell folgen.
Wenn die Prognosen danebenliegen, waren die Schemas umsonst?
Nein. Output, tools, MCP, session, artifact und usage in getrennte Dateien zu legen, ist Hygiene, die Responses, MCP und Realtime heute schon brauchen. Ein Extra-Keynote-Parameter macht additionalProperties:false nicht falsch.
Fazit und nächste Schritte
Was am DevDay 2026 zählt, ist nicht ein weiterer Modellname. Es ist, ob die Plattform Responses, Structured Outputs, Tool Calling und MCP zum Default-Stack zusammenzieht. Alle vier Linien sagen dasselbe: weniger parallele APIs, mehr JSON, das Sie wirklich einhalten müssen.
Vor dem 29. September: neuen Completions-Code stoppen, die sechs Schemas trennen, ein Fehler-Fixture behalten. Am Tag das Changelog lesen — nicht einen Recap-Thread. Wenn Sie eine Payload-Form prüfen müssen, öffnen Sie JSONVue.