OpenAI-Prompts enden am 30. Nov.: pmpt_ behalten, versionieren

Inhalt
  1. Was schaltet OpenAI wann ab?
  2. Wie bleiben pmpt_-Aufrufe ohne Codeänderung funktionsfähig?
  3. Gehören Prompts in den Code oder in eine Prompt-Bibliothek?
  4. Was kostet ein Prompt-Aufruf per ID?
  5. Wie testet man eine neue Version mit einem Teil des Produktionstraffics?
  6. Wie testet man eine Version vor dem Ausrollen?
  7. Was ist vor dem 30. November zu tun?
  8. Häufige Fragen
  9. Was passiert am 30. November 2026 mit gespeicherten OpenAI-Prompts?
  10. Kann ich eine pmpt_-ID nach der Abschaltung weiter aufrufen?
  11. Was ersetzt OpenAI Evals?
  12. Weiterführende Artikel

OpenAI stellt wiederverwendbare Prompt-Objekte und die API v1/prompts am 30. November 2026 ein. Am selben Tag werden auch das Evals-Dashboard und die zugehörige API abgeschaltet. Laut OpenAI ist die Abschaltung dieser Objekte geplant. Was ein Aufruf der Responses API mit prompt={"id": "pmpt_..."} danach zurückgibt, ist nicht dokumentiert. Der Prompt-Text muss also vorher an einen anderen Ort. Wir haben einen Prompt unter seiner pmpt_-ID in der Synthorai-Prompt-Bibliothek nachgebaut und einen OpenAI-SDK-Aufruf an das Synthorai-Gateway geschickt, einen API-Proxy zwischen Anwendung und Modellanbietern. Dafür haben wir nur die Basis-URL und den Schlüssel geändert: Mit der Versionsangabe "2" bediente Bibliotheksversion 2 die Anfrage, ohne Versionsangabe die Produktionsversion.

TL;DR

  • OpenAIs Prompt-Objekte und die API v1/prompts werden am 30. November 2026 abgeschaltet; OpenAI Evals ist ab dem 31. Oktober nur noch lesbar.
  • Ein Responses-Aufruf mit prompt={"id": "pmpt_...", "version": "2"} wurde von Version 2 eines Prompts mit dieser ID in der Synthorai-Bibliothek bedient; nur die Basis-URL wurde geändert.
  • Nach dem Verschieben des Produktionslabels eines Bibliotheks-Prompts nutzten laufende Aufrufe unter gleichmäßigem Traffic nach 8 bis 9 s die neue Version.
  • Ein vor dem Lauf festgelegter Test erkannte eine Änderung, durch die 16% der Antworten eine Regel verletzten. Ein früherer Lauf mit 40 Testfällen hatte die Änderung noch bestanden.

Dieser Beitrag gibt einen Überblick über eine dreiteilige Artikelserie zur Prompt-Bibliothek. Jeder Abschnitt fasst einen Artikel samt Messwerten zusammen und verlinkt auf Code und Screenshots der Konsole. Alle Läufe fanden am 19. und 20. Oktober 2026 statt. Der Code liegt unter prompt-library/ auf github.com/synthorai-io/use-cases.

Was schaltet OpenAI wann ab?

OpenAIs Seite zu Abkündigungen nennt zwei Abschaltungen am selben Tag:

WasAngekündigtÄnderungAbschaltung
Wiederverwendbare Prompts: Prompt-Objekte und die API v1/prompts3. Juni 2026Prompt-Erstellung rückt auf der Plattform in den Hintergrund30. November 2026
Evals-Plattform: Dashboard und API3. Juni 2026Bestehende Evals ab dem 31. Oktober 2026 nur noch lesbar30. November 2026

Ein Prompt-Objekt ist ein im OpenAI-Dashboard gespeicherter Prompt, der über seine pmpt_-ID aufgerufen wird, optional mit Versionen und Variablen. OpenAIs Migrationsanleitung empfiehlt, den Prompt-Text aus dem Objekt in den Anwendungscode zu übernehmen, als input an die Responses API zu übergeben und über git, Code-Reviews und Tests zu versionieren. Was eine Anfrage mit einer pmpt_-ID nach der Abschaltung zurückgibt, steht dort nicht.

Wie bleiben pmpt_-Aufrufe ohne Codeänderung funktionsfähig?

Dazu legt man den Prompt mit derselben ID in einer Prompt-Bibliothek an und richtet den Client auf ein Gateway aus, das ihn bereitstellt. Das Synthorai-Gateway liest das Feld prompt einer Anfrage an /v1/responses: Entspricht die ID einem Bibliotheks-Prompt, wird dieser verwendet. Ein numerischer Wert für version wählt die entsprechende Bibliotheksversion. Diesen Aufruf haben wir in der Demo verwendet. Bis auf Basis-URL und Schlüssel entspricht er dem, was eine für OpenAI geschriebene Anwendung sendet:

import os
from openai import OpenAI

# The only change: the base URL and the key.
client = OpenAI(base_url="https://synthorai.io/v1", api_key=os.environ["SYNTHORAI_API_KEY"])

raw = client.responses.with_raw_response.create(
    model="gpt-6-luna",
    prompt={"id": "pmpt_68f2a1c09d4e4b7a8c3f5e21d0b97a64", "version": "2"},
    input="Where is order A-50977? It has been a week.",
)
print(raw.headers["x-synthorai-prompt-version"])   # 2
print(raw.parse().output_text)
AufrufVerwendete VersionEingabe-TokenAusgabe-TokenKosten
prompt={"id": ..., "version": "2"}Bibliotheksversion 292177$0.0000977
prompt={"id": ...}Bibliotheksversion 1, auf die das Produktionslabel zeigt96207$0.0001131

Beide Antworten kamen von GPT-6 Luna, dem in den Bibliotheksversionen hinterlegten Modell. Die pmpt_-ID der Demo ist erfunden; bei einer Migration verwendet man die eigene. Drei weitere Prüfungen vom 20. Oktober decken typische Anfragen einer migrierten Anwendung ab:

AnfrageErgebnis
"variables": {"product": "garden tools"} innerhalb von promptDer Wert wurde für {{product}} in der Version eingesetzt; die Antwort begann mit „Wir verkaufen Gartengeräte online.“
model: "gpt-4o" in der AnfrageDurch das in der Version hinterlegte Modell GPT-6 Luna ersetzt
"version": "7", eine in der Bibliothek nicht vorhandene Version404 prompt_not_found, „hat keine Version 7“

Die letzte Zeile wird leicht übersehen. Eine OpenAI-Versionsnummer verweist auf die Bibliotheksversion mit derselben Nummer. Ein Aufruf mit fest gesetzter "version": "7" benötigt deshalb eine Bibliotheksversion v7. Die im Code festgelegten Versionen müssen in der richtigen Reihenfolge angelegt werden, damit die Nummern übereinstimmen. Alternativ müssen diese Aufrufe auf die neu angelegte Version umgestellt werden.

OpenAI dokumentiert keine API zum Auslesen eines Prompt-Objekts, und wir haben keinen Export gefunden. Kopieren Sie deshalb Text und Einstellungen jedes Prompts aus dem OpenAI-Dashboard, solange es noch verfügbar ist. Erstellen Sie daraus einen Responses-Request-Body und fügen Sie ihn in der Konsole beim Import eines neuen Prompts ein. Der Import übernimmt Nachrichten, Modell, Parameter, Tools und Ausgabeschema in eine erste Version. Alternativ lässt sich die Version im Editor anlegen.

Gehören Prompts in den Code oder in eine Prompt-Bibliothek?

OpenAI empfiehlt den Code. Eine Bibliothek eignet sich, wenn sich Prompts ohne Deployment ändern lassen sollen. Dafür kommt ein weiterer Dienst in den Anfragepfad:

Prompts im CodePrompts in einer Bibliothek, per ID aufgerufen
Änderung ausrollenCodeänderung, Review, DeploymentLabel verschieben; wirksam bei Aufrufen nach 8 bis 9 s in unseren Läufen
RollbackÄnderung zurücknehmen und deployenLabel zurückverschieben
10% des Traffics an eine neue Version sendenEigenes Feature-Flag oder RoutingRollout-Einstellung am Label
Reviewgit diff und Pull RequestsVersionsvergleich in der Konsole; Änderungen liegen nicht im eigenen Repository
Vor dem Ausrollen testenEigener Test-RunnerTestsätze und Evaluierungsläufe am Prompt
AbhängigkeitKeine außer dem ModellanbieterDas Gateway muss zum Auflösen des Prompts erreichbar sein

Die letzte Zeile ist der Preis einer Bibliothek. Ist die Bibliothek nicht lesbar, verwendet das Synthorai-Gateway die zuletzt gelesene Kopie eines Prompts bis zu 24 Stunden lang weiter. Nur wenn keine hinreichend aktuelle Kopie vorliegt, gibt es 503 zurück. Wer beides nutzen möchte, kann einen Bibliotheks-Prompt samt allen Versionen als JSON in sein Repository exportieren.

Was kostet ein Prompt-Aufruf per ID?

Der Aufruf per ID kostet nichts zusätzlich: Über 20 Paare hinweg sendete ein Aufruf per prompt_id im Median 114.5 Prompt-Token, genauso viele wie die identische, direkt im Code ausformulierte Anfrage. Das Gateway ergänzt Nachrichten, Modell und Parameter der Version und sendet eine normale Anfrage an den Anbieter. Nicht ausführbare Aufrufe, etwa wegen einer fehlenden Variable oder einer unbekannten ID, scheitern mit 400 oder 404, bevor ein Modell ausgeführt wird. Sie werden nicht berechnet. Ein Label ist ein benannter Verweis wie production oder staging, der jeweils auf eine Version zeigt. Bei Aufrufen im Abstand von einer halben Sekunde wirkte sich ein verschobenes production-Label nach einem Median von 8.0 bis 8.5 s auf die Aufrufe aus. Nach 15 s ohne Traffic verwendete bereits der erste Aufruf die neue Version. Prompt-Versionierung enthält den Code, die fünf Fehlerfälle und das Messverfahren.

Wie testet man eine neue Version mit einem Teil des Produktionstraffics?

Man weist dem Label production eine zweite Version und einen Traffic-Anteil zu. Das Gateway verteilt die Aufrufe anhand der Session-ID, also des Headers X-Session-Id, der die Aufrufe einer Unterhaltung zusammenfasst. So wechselt eine Unterhaltung nicht mittendrin die Version. Bei unserem 10%-Rollout gingen 16 von 200 Sessions (8.0%) an den Kandidaten. Alle 400 Sessions aus den Läufen mit 10% und 50% blieben jeweils bei einer Version. Auch Endnutzer, die über ein _user-Label, das Anfragefeld user oder safety_identifier identifiziert wurden, blieben auf derselben Version. Beim Kandidaten hatten wir für denselben Prompt das Modell von GPT-6 Luna auf DeepSeek V4.1 Flash umgestellt. Er antwortete schneller, mit einem Median von 3.1 s statt 4.9 s. Allein im Lauf mit 10% kosteten seine 71 Aufrufe pro Aufruf aber 1.92-mal so viel wie die Produktionsversion. Prompt-Änderungen per A/B-Test prüfen zeigt, wie die Summen pro Version das sichtbar machten.

Wie testet man eine Version vor dem Ausrollen?

Man führt die neue und die aktuelle Version mit einem festen Testsatz aus und bewertet jede Antwort anhand festgelegter Prüfungen: Muster, JSON-Schemas, Latenz- und Kostengrenzen oder ein Modell als Bewerter. Unsere v2 kürzte den Systemtext und entfernte die Regel „Bestellnummer immer angeben“. Bei 110 Nachrichten, die in keinem früheren Lauf verwendet worden waren, ließ v2 die Bestellnummer in 18 Antworten (16%) aus, v1 in keiner. Der exakte Test nach Fisher ergab in diesem vorab festgelegten Test p = 3.6 × 10⁻⁶. Er gibt die Wahrscheinlichkeit an, dass ein so großer Unterschied zufällig entsteht. In einem früheren Lauf mit 40 Testfällen hatte v2 noch jeden einzelnen bestanden. Das Bewertungsmodell Claude Sonnet 5.5 verursachte den Großteil der Testkosten: etwa einen Zehntelcent pro Testfall. Prompts vor dem Ausrollen testen erklärt die daraus abgeleitete Regel für die Größe des Testsatzes.

Für Teams, die OpenAI Evals ablösen, ist das der Ersatz innerhalb der Prompt-Bibliothek. Ein Unterschied muss eingeplant werden: Bei einem über die API gestarteten Testlauf übernimmt der Aufrufer die Ausführung. Er ruft beide Versionen auf, bewertet die Antworten und schreibt die Ergebnisse zurück. Die Konsole führt dieselben Tests im Browser aus.

Was ist vor dem 30. November zu tun?

Die Migration umfasst fünf Schritte:

  • Alle im Code aufgerufenen pmpt_-IDs auflisten, einschließlich der festgelegten Versionen.
  • Text und Einstellungen jedes Prompts kopieren, solange sie noch im OpenAI-Dashboard verfügbar sind.
  • Für jeden Prompt entscheiden, ob er in den Code wandert, wie von OpenAI empfohlen, oder unter derselben ID in eine Bibliothek.
  • Bibliotheks-Prompts unter ihren pmpt_-IDs neu anlegen, jede festgelegte Version mit ihrer ursprünglichen Nummer. Die Basis-URL des Clients auf das Gateway umstellen und beim ersten Aufruf den Header X-Synthorai-Prompt-Version prüfen.
  • Benötigte Evals vor dem 31. Oktober migrieren, denn ab dann sind sie bei OpenAI nur noch lesbar.

Häufige Fragen

Was passiert am 30. November 2026 mit gespeicherten OpenAI-Prompts?

Laut OpenAIs Seite zu Abkündigungen sollen wiederverwendbare Prompt-Objekte und die API v1/prompts am 30. November 2026 abgeschaltet werden. Die Migrationsanleitung empfiehlt, den Prompt-Text in den Anwendungscode zu übernehmen. Was eine Anfrage mit einer pmpt_-ID nach diesem Datum zurückgibt, steht dort nicht.

Kann ich eine pmpt_-ID nach der Abschaltung weiter aufrufen?

Ja, wenn ein Gateway diese ID aus seiner eigenen Prompt-Bibliothek bedient. In unserem Test wurde ein OpenAI-SDK-Aufruf mit prompt={"id": "pmpt_...", "version": "2"} an das Synthorai-Gateway von Bibliotheksversion 2 beantwortet. Geändert wurden nur Basis-URL und Schlüssel. Eine festgelegte Version muss unter derselben Nummer in der Bibliothek existieren, sonst liefert der Aufruf 404.

Was ersetzt OpenAI Evals?

Jeder Test-Runner, der zwei Prompt-Versionen mit festen Eingaben aufruft und die Antworten bewertet, kann diese Aufgabe übernehmen. In einer Prompt-Bibliothek liegen Testsätze und Evaluierungsläufe direkt beim Prompt. Der Dialog zum Verschieben des Labels zeigt vor dem Ausrollen den letzten Testlauf der Version.

Weiterführende Artikel

← Zurück zum Blog