ai newsDo., 15. Okt.
EilmeldungMeta and Apple team up to make Muse AI models run better on Macs

OpenAI schaltet drei API-Modell-IDs zum 1. April 2027 ab

Nutzer von gpt-5.3-codex, gpt-5.1 und gpt-5.4-nano muessen bis zum 1. April 2027 migrieren. Als Ersatz empfiehlt OpenAI gpt-6-sol fuer die ersten beiden Modelle und gpt-6-luna fuer gpt-5.4-nano.

dev.toDonnerstag 07:24 · 08.10.DE6 Min. Lesezeit
Bild: dev.to

Veröffentlicht am 8. Oktober • Zuerst erschienen auf otf-kit.dev

Die Deprecation-Mitteilung der OpenAI API gibt Teams, die gpt-5.3-codex, gpt-5.1 oder gpt-5.4-nano verwenden, bis zum 1. April 2027 Zeit, bevor diese Modell-IDs entfernt werden. Als Nachfolgemodelle sind gpt-6-sol für die ersten beiden Modelle und gpt-6-luna für gpt-5.4-nano angegeben. Betrachten Sie dieses Datum als Migrationsfrist, nicht als Anlass, jede Modellreferenz in einem einzigen Pull Request zu ersetzen.

Eine sicherere Abfolge ist: alle konfigurierten IDs auffinden, die Auswahl hinter einer einzigen Anwendungseinstellung kapseln, das alte und das empfohlene Modell anhand repräsentativer Aufgaben vergleichen und den Traffic dann schrittweise umstellen. Dieser Leitfaden konzentriert sich auf eine API-Anwendung, die Ihnen gehört. Die Konfiguration des Codex-Produkts und andere OpenAI-Produkte können unterschiedliche Migrationspfade haben; prüfen Sie deren eigene Mitteilungen, statt anzunehmen, dass die API-Tabelle auf sie zutrifft.

Durchsuchen Sie das Repository, die Deployment-Konfiguration und die Betriebsskripte nach den exakten Bezeichnern. Eine reine Quellcodesuche ist ein nützlicher erster Durchgang:

rg -n --hidden \ --glob '!node_modules' --glob '!.git' \ 'gpt-5\.3-codex|gpt-5\.1|gpt-5\.4-nano'. Enter fullscreen mode Exit fullscreen mode Prüfen Sie anschließend die Stellen, die eine Repository-Suche nicht einsehen kann: Umgebungsvariablen in jeder deployten Umgebung, Werte im Secret-Manager, geplante Jobs, Payloads in Aufgabenwarteschlangen, Admin-Dashboards sowie in einer Datenbank gespeicherte Modellnamen. Erfassen Sie für jeden Treffer den Dienst, die Umgebung, den Verantwortlichen, das aktuelle Modell und das Fallback-Verhalten. Ein Modell kann über eine Tenant-Einstellung oder eine persistierte Workflow-Version ausgewählt werden, selbst wenn der Anwendungsquellcode keine literale Zeichenkette enthält.

Bewahren Sie dieses Inventar als Migrationsartefakt auf. Es hilft, nach dem Rollout die wichtige Frage zu beantworten: welcher produktive Aufrufer noch eine auslaufende ID sendet. Wenn die API-Anforderungsschicht bereits einen Modellnamen protokolliert, ergänzen Sie vor der Umstellung des Traffic einen Zähler nach Modell und Dienst. Protokollieren Sie nicht nur zum Zwecke der Modellbeobachtung Prompts oder Nutzerinhalte.

Zentralisieren Sie die Standard- und Ersatz-IDs, damit einzelne Routen nicht ihre eigenen Entscheidungen tragen. Zum Beispiel:

const modelByTask = { code: process. env. OPENAI_CODE_MODEL?? " gpt-5.3-codex ", general: process. env.

OPENAI_GENERAL_MODEL?? " gpt-5.1 ", small: process. env. OPENAI_SMALL_MODEL??

" gpt-5.4-nano ", } as const; export function modelFor ( task: keyof typeof modelByTask ) { return modelByTask [ task ]; } Enter fullscreen mode Exit fullscreen mode So bleiben die aktuellen Defaults an einem Ort, während ein Deployment ein Ersatzmodell testen kann, ohne die Anwendungslogik neu zu bauen. Bevor Sie dieses Muster verwenden, validieren Sie die Umgebungswerte beim Start gegen die Menge der Modell-IDs, die Ihre Anwendung bewusst unterstützt. Brechen Sie bei einem Tippfehler mit einem klaren Konfigurationsfehler ab; ein stiller Fallback auf ein anderes Modell kann einen fehlerhaften Rollout verschleiern.

Nehmen Sie nicht an, dass die drei alten IDs auf einen einzigen Nachfolger abgebildet werden. Die Mitteilung von OpenAI ordnet gpt-5.3-codex und gpt-5.1 gpt-6-sol zu und gpt-5.4-nano gpt-6-luna. Bewahren Sie die Unterscheidung der Aufgaben auf, bis Ihre eigene Evaluation einen Grund für eine Änderung zeigt. Prüfen Sie außerdem den Kontozugriff und die aktuelle Modelldokumentation, bevor Sie in der Produktion einen Nachfolger auswählen.

Ein Ersatz ist akzeptabel, wenn er die tatsächliche Aufgabe der Anwendung erfüllt, nicht allein deshalb, weil eine Anfrage HTTP 200 zurückliefert. Wählen Sie eine kleine, berechtigte Menge repräsentativer Eingaben aus jeder Aufgabenfamilie. Entfernen Sie personenbezogene oder kundenidentifizierende Details, behalten Sie das erwartete Ergebnis oder die Bewertungsraster der Prüfer bei und berücksichtigen Sie Fälle, die die Randbereiche testen, über die Ihre Nutzer berichten.

Bei Code-Aufgaben sollten Änderungen enthalten sein, die Repository-Kontext, Tests und eine klare Patch-Prüfung erfordern. Bei allgemeinen Antworten gehören die strukturierten Felder oder Quellenangaben dazu, die Ihre Anwendung verarbeitet. Beim Pfad des kleinen Modells sollten Routinanfragen enthalten sein, bei denen Antwortzeit und Kosten pro Anfrage eine Rolle spielen. Vergleichen Sie nicht nur einfache Prompts: nehmen Sie fehlerhafte Eingaben, mehrdeutige Anfragen und Fälle auf, in denen die richtige Antwort darin besteht, fehlende Informationen zu erfragen oder eine nicht unterstützte Aktion abzulehnen.

Führen Sie dieselben Eingaben gegen das aktuelle und das empfohlene Modell mit denselben Systemanweisungen, Tools, Ausgabebedingungen und Anwendungseinstellungen aus. Wenn sich die unterstützten Parameter eines Modells unterscheiden, dokumentieren Sie die Anpassung, statt den Test stillschweigend zu ändern. Speichern Sie Anfrage-IDs, Modell-IDs, Zeitstempel, Antwortstatus, Latenz, Tokenverbrauch, sofern zurückgemeldet, und aufgabenspezifische Evaluationsergebnisse. Halten Sie den Zugriff auf die Prompt-Daten kontrolliert; der Bericht sollte nur speichern, was die Prüfer benötigen.

Legen Sie Akzeptanzkriterien fest, bevor Sie sich die Ergebnisse ansehen. Sinnvolle Prüfungen umfassen Aufgabenerfüllung, Schema-Validität, Bestehensquote von Code-Tests, Korrekturen durch Prüfer, Verweigungsverhalten, p50- und p95-Latenz sowie die beobachteten Kosten pro abgeschlossener Aufgabe. Vergleichen Sie Gleiches mit Gleichem: messen Sie den gesamten Anwendungspfad einschließlich Wiederholungen und Tool-Aufrufen und trennen Sie bei Streams die Latenz bis zum ersten Token von der Gesamtzeit bis zur Fertigstellung.

Berechnen Sie die Kosten mit den tatsächlichen Verbrauchsfeldern und den aktuellen Preisen für Ihr Konto. Leiten Sie keinen Preis aus einem Modellnamen ab und rechnen Sie keine einzelne Stichprobe in eine Monatsschätzung hoch, ohne Anfragevolumen und Arbeitslastmix zu prüfen. Eine nützliche Einheit sind die Kosten pro erfolgreicher Aufgabe, denn eine günstigere Antwort, die zwei Reparaturaufrufe benötigt, kann insgesamt teurer sein. Führen Sie die rohe Stichprobenzahl neben den Durchschnittswerten; ein kleiner Testumfang liefert eine Richtungsangabe, keine Garantie für künftige Leistung.

Wenn ein Nachfolger sich in einer Weise verändert, die Ihr Bewertungsraster ablehnt, pausieren Sie diese Aufgabenfamilie. Behalten Sie das alte Modell in der Konfiguration, während Sie den Prompt, die Tools, das Ausgabeformat oder das Aufgaben-Routing untersuchen. Ändern Sie jeweils nur einen Faktor, damit Sie erkennen können, ob das Modell oder die Anwendungsänderung die Verschlechterung verursacht hat.

Stellen Sie eine Aufgabenfamilie nach der anderen um. Beginnen Sie in einer Nicht-Produktionsumgebung mit einer kleinen, synthetischen oder freigegebenen Testmenge. Nach bestandenem Test senden Sie einen begrenzten Anteil des berechtigten Produktions-Traffic an den Nachfolger, sofern Ihre Architektur das sicher unterstützt. Vergleichen Sie dieselben Qualitäts- und Latenzsignale und halten Sie einen schnellen Rückweg zum vorherigen Modell offen, solange die alte ID verfügbar ist.

Machen Sie den Rollback explizit. Halten Sie die vorherige Modell-ID in der Konfiguration vor und definieren Sie das Signal, das einen Rollback auslöst, etwa einen Schwellenwert für Aufgabenqualität, einen Anstieg der Fehlerrate oder eine Verletzung des Latenzbudgets. Verwenden Sie nach Beginn des Rollouts keine vage Regel wie „wirkt schlechter“; benennen Sie vorher den Prüfer, das Stichprobenfenster und den Schwellenwert. Erweitern Sie den Traffic erst, wenn die erste Kohorte diese Kriterien erfüllt.

Wenn der Nachfolger stabil läuft, entfernen Sie die alte ID aus den Defaults und den Deployment-Variablen und suchen Sie erneut. Prüfen Sie auch Aufgaben in Warteschlangen und gespeicherte Aufgabeneinstellungen, nicht nur die eingecheckten Dateien. Alarmieren Sie bei jeder Anfrage, die noch ein auslaufendes Modell nennt, damit kein verborgener Aufrufer bis zum Abschalttermin unentdeckt bleibt.

Halten Sie das Inventar, die getesteten Modellpaare, die Version des Evaluationssatzes, die Ergebnisse, den Prüfer, die Rollout-Daten und die Rollback-Entscheidung schriftlich fest. Erfassen Sie Ausnahmen mit einem Verantwortlichen und einem Fälligkeitsdatum. So hat das Team eine konkrete Möglichkeit, die Migration vor dem 1. April 2027 abzuschließen, und eine spätere Störfallanalyse kann eine Modelländerung von einer Prompt- oder Infrastrukturänderung unterscheiden.

Falls Ihre Sorge eher der rotation von Zugangsdaten als der Modellauswahl gilt, lesen Sie, wie Sie eine maximale Lebensdauer für OpenAI-Projekt-API-Schlüssel festlegen. Modellableitung und Schlüsselablauf sind getrennte Kontrollmechanismen; die Erledigung des einen behebt nicht das andere.

Mit Vorlagen lassen sich häufig gestellte Fragen schnell beantworten oder Snippets zur Wiederverwendung speichern.

Sind Sie sicher, dass Sie diesen Kommentar verbergen möchten? Er wird in Ihrem Beitrag ausgeblendet, bleibt aber über den Permalink des Kommentars sichtbar.

Für weitere Maßnahmen können Sie diese Person blockieren und/oder Missbrauch melden.

Automatisch übersetzt. Das Original auf Englisch ist unten aufklappbar.

Original (Englisch) anzeigen

Posted on Oct 8 • Originally published at otf-kit.dev

OpenAI’s API deprecation notice gives teams using gpt-5.3-codex, gpt-5.1, or gpt-5.4-nano until April 1, 2027, before those model IDs are removed. The listed replacements are gpt-6-sol for the first two and gpt-6-luna for gpt-5.4-nano. Treat that date as a migration deadline, not as a reason to replace every model reference in one pull request.

A safer sequence is: find every configured ID, put the choice behind one application setting, compare the old and recommended models on representative work, then move traffic in stages. This guide focuses on an API application you own. Codex product configuration and other OpenAI products may have different migration paths; check their own notices rather than assuming the API table applies to them.

Search the repository, deployment configuration, and operational scripts for the exact identifiers. A source-only search is a useful first pass:

rg -n --hidden \ --glob '!node_modules' --glob '!.git' \ 'gpt-5\.3-codex|gpt-5\.1|gpt-5\.4-nano'. Enter fullscreen mode Exit fullscreen mode Then check the places a repository search cannot see: environment variables in each deployed environment, secret-manager values, scheduled jobs, queued task payloads, admin dashboards, and model names stored in a database. Record the service, environment, owner, current model, and fallback behavior for every hit. A model may be selected by a tenant setting or a persisted workflow version even when the application source has no literal string.

Keep this inventory as a migration artifact. It helps answer the important question after rollout: which production caller still sends a retiring ID? If the API request layer logs a model name already, add a count by model and service before changing traffic. Avoid logging prompts or user content just to observe model selection.

Centralize the default and replacement IDs so individual routes do not carry their own choices. For example:

const modelByTask = { code: process. env. OPENAI_CODE_MODEL?? " gpt-5.3-codex ", general: process. env. OPENAI_GENERAL_MODEL?? " gpt-5.1 ", small: process. env. OPENAI_SMALL_MODEL?? " gpt-5.4-nano ", } as const; export function modelFor ( task: keyof typeof modelByTask ) { return modelByTask [ task ]; } Enter fullscreen mode Exit fullscreen mode This keeps the current defaults in one place while allowing a deployment to test a replacement without rebuilding application logic. Before using this pattern, validate environment values at startup against the set of model IDs your application intentionally supports. Fail with a clear configuration error for a typo; silently falling back to another model can hide a bad rollout.

Do not assume the three old IDs map to one replacement. OpenAI’s notice maps gpt-5.3-codex and gpt-5.1 to gpt-6-sol, and gpt-5.4-nano to gpt-6-luna. Preserve the task distinction until your own evaluation shows a reason to change it. Also verify account access and the current model documentation before selecting a replacement in production.

A replacement is acceptable when it completes the application’s actual job, not merely because a request returns HTTP 200. Choose a small, permissioned set of representative inputs from each task family. Remove personal or customer-identifying details, keep the expected outcome or reviewer rubric, and include cases that exercise the edges your users report.

For code tasks, include changes that need repository context, tests, and a clear patch review. For general responses, include the structured fields or citations your application consumes. For the small-model path, include routine requests where response time and per-request cost matter. Do not compare only easy prompts: include malformed input, ambiguous requests, and cases where the correct answer is to ask for missing information or decline an unsupported action.

Run the same inputs against the current and recommended model with the same system instructions, tools, output constraints, and application settings. If a model’s supported parameters differ, record the adjustment rather than quietly changing the test. Save request IDs, model IDs, timestamps, response status, latency, token usage when returned, and task-specific evaluation results. Keep the prompt data access-controlled; the report should store only what reviewers need.

Set acceptance criteria before looking at the results. Useful checks include task completion, schema validity, code-test pass rate, reviewer corrections, refusal behavior, p50 and p95 latency, and observed cost per completed task. Compare like with like: measure the full application path, including retries and tool calls, and separate first-token latency from total completion time when streaming matters.

Use the actual usage fields and current pricing for your account to calculate cost. Do not infer a price from a model name or multiply a single sample into a monthly estimate without checking request volume and workload mix. A useful unit is cost per successful task, because a cheaper response that needs two repair calls may cost more overall. Keep the raw sample count beside averages; a small test set gives directional evidence, not a guarantee of future performance.

If one replacement changes behavior in a way your rubric rejects, pause that task family. Keep the old model configured while you investigate the prompt, tools, output format, or task routing. Change one factor at a time so you can tell whether the model or application change caused the regression.

Move one task family at a time. Start in a non-production environment with a small, synthetic or approved test set. After it passes, send a limited share of eligible production traffic to the replacement if your architecture supports that safely. Compare the same quality and latency signals, and keep a fast route back to the previous model while the old ID remains available.

Make rollback explicit. Keep the prior model ID in configuration and define the signal that triggers rollback, such as a task-quality threshold, an error-rate increase, or a latency budget breach. Do not use a vague “looks worse” rule after rollout begins; name the reviewer, sample window, and threshold beforehand. Expand traffic only after the first cohort clears those criteria.

When the replacement is stable, remove the old ID from defaults and deployment variables, then search again. Verify queued jobs and stored task settings as well as the checked-in files. Alert on any request that still names a retiring model so a hidden caller cannot survive until the shutdown date unnoticed.

Write down the inventory, tested model pairs, evaluation set version, results, reviewer, rollout dates, and rollback decision. Record exceptions with an owner and a due date. That gives the team a concrete way to finish the migration before April 1, 2027, and lets a later incident review distinguish a model change from a prompt or infrastructure change.

If your concern is credential rotation rather than model selection, see how to set a maximum lifetime for OpenAI project API keys. Model retirement and key expiration are separate controls; completing one does not address the other.

Originaltitel: Migrate three OpenAI API model IDs before the April 2027 shutdownQuelle: dev.to (dev.to). Original öffnen