Migration zu Claude Sonnet 5
Migriere von früheren Claude-Modellen zu Claude Sonnet 5: Modell-IDs, Breaking Changes und Migrations-Checklisten.
Claude Sonnet 5 bietet die beste Kombination aus Geschwindigkeit und Intelligenz in der Claude-Modellfamilie. Es baut auf Claude Sonnet 4.6 auf.
Claude Sonnet 5 ist ein Drop-in-Upgrade für Claude Sonnet 4.6 zum Preis von 2 $/10 $ USD pro Million Input-/Output-Token; Details findest du unter Preise. Es gibt zwei „breaking changes“ (inkompatible Änderungen) an der API für Code, der bereits auf Claude Sonnet 4.6 läuft. Erstens ist „adaptive thinking“ (adaptives Denken) standardmäßig aktiviert, und manuelles „extended thinking“ (erweitertes Denken) (thinking: {type: "enabled", budget_tokens: N}) gibt einen 400-Fehler zurück, sodass Anfragen, die bisher ohne Denken liefen, jetzt thinking-Blöcke vor dem ersten text-Block zurückgeben können und Code, der Inhalte nach Position liest, Inhaltsblöcke stattdessen nach type auswählen muss. Zweitens geben Sampling-Parameter (temperature, top_p, top_k), die auf Nicht-Standardwerte gesetzt sind, einen 400-Fehler zurück. Verwende adaptives Denken mit dem Effort-Parameter, um die Denktiefe zu steuern. Claude Sonnet 5 unterstützt denselben Funktionsumfang wie Claude Sonnet 4.6, einschließlich des „context window“ (Kontextfensters) mit 1 Mio. Token, adaptivem Denken, „prompt caching“ (Prompt-Caching), „batch processing“ (Stapelverarbeitung), der Files API, PDF-Unterstützung, „vision“ (Bildverarbeitung) und des vollständigen Satzes serverseitiger und clientseitiger Tools. Auf der Claude API und Google Cloud unterstützt Claude Sonnet 5 außerdem „computer use“ (Computernutzung) als stabiles computer_toolset_20260801-Toolset sowie das Browser-Use-Tool für Aufgaben innerhalb von Webseiten – beides wird von Claude Sonnet 4.6 nicht unterstützt; bestehende Integrationen auf der früheren Version computer_20251124 funktionieren auf beiden Modellen unverändert weiter. Um eine bestehende Integration zu aktualisieren, siehe Migration von computer_20251124. Priority Tier ist auf Claude Sonnet 5 nicht verfügbar. Claude Sonnet 5 verwendet außerdem einen neuen Tokenizer.
Migration zu Claude Sonnet 5 von Claude Sonnet 4.6
Aktualisiere deinen Modellnamen
# Sonnet-Migration
model = "claude-sonnet-4-6" # Before
model = "claude-sonnet-5" # AfterWas sich geändert hat
Die Punkte 4 und 5 in der folgenden Liste sind Breaking Changes. max_tokens bleibt eine harte Obergrenze für die gesamte Ausgabe (Denken plus Antworttext), überprüfe den Wert daher für Workloads, die auf Claude Sonnet 4.6 ohne Denken liefen.
-
Neuer Tokenizer: Claude Sonnet 5 verwendet einen neuen Tokenizer. Derselbe Eingabetext erzeugt ungefähr 30 % mehr Token als auf Claude Sonnet 4.6. Der genaue Anstieg hängt vom Inhalt ab. Anfragen, Antworten und Streaming-Events behalten dieselbe Form, und es sind keine Codeänderungen erforderlich, aber alles, was du in Token misst oder budgetierst, verschiebt sich:
usage-Felder und Ergebnisse der Token-Zählung für denselben Text sind höher, das Kontextfenster mit 1 Mio. Token fasst weniger Text, und ein auf Claude Sonnet 4.6 abgestimmtesmax_tokens-Limit kann gleichwertige Ausgaben abschneiden. Der Preis pro Token ist niedriger (2 $/10 $ USD gegenüber 3 $/15 $ USD bei Claude Sonnet 4.6 pro Million Input-/Output-Token), aber die Kosten einer gleichwertigen Anfrage sinken nicht im direkten Verhältnis. Führe die Token-Zählung erneut gegen Claude Sonnet 5 aus, anstatt Zählungen wiederzuverwenden, die gegen frühere Modelle gemessen wurden. -
128k maximale Output-Token (unverändert): Claude Sonnet 5 unterstützt bis zu 128k Output-Token, genau wie Claude Sonnet 4.6. Bestehende
max_tokens-Werte bleiben gültig. Berücksichtige den neuen Tokenizer bei ihrer Dimensionierung. -
Prefilling von Assistant-Nachrichten (unverändert): Das Prefilling der Assistant-Nachricht gibt auf Claude Sonnet 5 einen
400-Fehler zurück, genau wie auf Claude Sonnet 4.6. Wenn du Prefill bei der Migration zu Claude Sonnet 4.6 entfernt hast, sind keine weiteren Änderungen nötig. Verwende stattdessen „structured outputs“ (strukturierte Ausgaben), Anweisungen im System-Prompt oderoutput_config.format. -
Adaptives Denken standardmäßig aktiviert: Auf Claude Sonnet 4.6 laufen Anfragen ohne
thinking-Feld ohne Denken; auf Claude Sonnet 5 laufen dieselben Anfragen mit adaptivem Denken. Um das Denken auszuschalten, übergibthinking: {type: "disabled"}. Manuelles erweitertes Denken (thinking: {type: "enabled", budget_tokens: N}) wird nicht unterstützt und gibt einen 400-Fehler zurück. Verwende den Effort-Parameter (Standardhigh), um die Denktiefe zu steuern.Bei aktiviertem Denken kann eine Antwort mit einem oder mehreren
thinking-Blöcken vor dem erstentext-Block beginnen, die beim Standardwertdisplay: "omitted"mit einem leerenthinking-Feld zurückgegeben werden. Code, der die Antwort nach Position liest, etwacontent[0].textoder ein Stream-Handler, der den ersten Inhaltsblock als Text behandelt, muss Inhaltsblöcke stattdessen nach ihremtype-Feld auswählen, und Tool-Use-Schleifen müssenthinking-Blöcke vollständig und unverändert zusammen mit ihren Tool-Ergebnissen zurückgeben (siehe Thinking-Blöcke beibehalten). Thinking-Token werden als Output-Token abgerechnet, auch wenn der Denktext nicht zurückgegeben wird. Wenn du auf Claude Sonnet 4.6 Denken verwendet hast und den zurückgegebenen Denktext anzeigst, beachte, dassthinking.displaydort standardmäßig"summarized"war und auf Claude Sonnet 5 standardmäßig"omitted"ist; setzedisplay: "summarized", wie im folgenden Beispiel, um weiterhin lesbare Zusammenfassungen zu erhalten (siehe Anzeige des Denkens steuern).client = anthropic.Anthropic() response = client.messages.create( model="claude-sonnet-5", max_tokens=16000, thinking={"type": "adaptive", "display": "summarized"}, output_config={"effort": "high"}, messages=[ { "role": "user", "content": "Are there an infinite number of prime numbers such that n mod 4 == 3?", } ], ) # Die Antwort enthält zusammengefasste Thinking-Blöcke und Text-Blöcke for block in response.content: match block.type: case "thinking": print(f"\nThinking summary: {block.thinking}") case "text": print(f"\nResponse: {block.text}") -
Sampling-Parameter entfernt: Sampling-Parameter (
temperature,top_p,top_k), die auf einen Nicht-Standardwert gesetzt sind, werden nicht akzeptiert und geben einen 400-Fehler zurück. -
Cybersicherheits-Schutzmaßnahmen: Claude Sonnet 5 ist das erste Modell der Sonnet-Klasse mit Echtzeit-Schutzmaßnahmen für Cybersicherheit. Anfragen, die verbotene oder hochriskante Cybersicherheitsthemen betreffen, können abgelehnt werden. Ablehnungen werden als erfolgreiche HTTP-200-Antwort mit
stop_reason: "refusal"zurückgegeben, nicht als Fehler. Siehe Real-time cyber safeguards on Claude Opus and Sonnet, um zu erfahren, was die Schutzmaßnahmen blockieren und wie sich legitime Sicherheitsarbeit für das Cyber Verification Program bewerben kann.
Migrations-Checkliste
- Aktualisiere den Modellnamen von
claude-sonnet-4-6aufclaude-sonnet-5. - Führe die Token-Zählung erneut gegen Claude Sonnet 5 aus. Der neue Tokenizer erzeugt ungefähr 30 % mehr Token für denselben Text, was die Kosten pro Anfrage verändern kann, obwohl der Preis pro Token niedriger ist. Der genaue Anstieg hängt vom Inhalt und der Form des Workloads ab.
- Überprüfe
max_tokens-Limits, die nahe an deiner erwarteten Ausgabelänge dimensioniert sind, und erhöhe sie, wo sinnvoll, bis zum Maximum von 128k (unverändert gegenüber Claude Sonnet 4.6). - Entferne die Konfiguration
thinking: {type: "enabled", budget_tokens: N}(gibt einen 400-Fehler zurück). Adaptives Denken ist standardmäßig aktiviert; übergib{type: "disabled"}, um es auszuschalten, oder verwende den Effort-Parameter, um die Tiefe zu steuern. - Aktualisiere Antwort-Parsing, das Inhalte nach Position liest, etwa
content[0].text: Bei aktiviertem Denken kommenthinking-Blöcke vortext-Blöcken an. Wähle Inhaltsblöcke stattdessen nachtypeaus und gibthinking-Blöcke in Tool-Use-Schleifen unverändert zurück; veränderte Blöcke geben einen 400-Fehler zurück. - Stelle sicher, dass jeglicher Code, der das
thinking-Feld parst, es ausschließlich als Anzeigetext behandelt.thinking.displayist auf Claude Sonnet 5 standardmäßig"omitted"(auf Claude Sonnet 4.6 war es standardmäßig"summarized"), sodass Thinking-Blöcke mit einem leerenthinking-Feld ankommen; setzedisplay: "summarized", um lesbare Zusammenfassungen zu erhalten. Siehe Anzeige des Denkens steuern. - Entferne die Parameter
temperature,top_pundtop_k, die auf Nicht-Standardwerte gesetzt sind (sie geben auf Claude Sonnet 5 einen 400-Fehler zurück). - Füge eine Behandlung für
stop_reason: "refusal"hinzu, wenn dein Workload Cybersicherheitsthemen berühren könnte. - Ermittle vor dem Produktionseinsatz eine neue Kostenbasis für deinen typischen Workload.
- Überprüfe
max_tokensfür Workloads, die zuvor ohne Denken liefen.
Migration zu Claude Sonnet 5 von Claude Sonnet 4.5 und früheren Sonnet-Modellen
Wenn du von Claude Sonnet 4.5 oder einem früheren Sonnet-Modell direkt zu Claude Sonnet 5 migrierst, wende die Änderungen aus Migration zu Claude Sonnet 5 von Claude Sonnet 4.6 sowie die Änderungen in diesem Abschnitt an.
Breaking Changes
Bei der Migration von Sonnet 4.5
-
Prefilling von Assistant-Nachrichten wird nicht mehr unterstützt
Das Prefilling von Assistant-Nachrichten gibt auf Claude Sonnet 4.6 und späteren Modellen, einschließlich Claude Sonnet 5, einen
400-Fehler zurück. Verwende stattdessen strukturierte Ausgaben, Anweisungen im System-Prompt oderoutput_config.format.Häufige Prefill-Anwendungsfälle und Migrationen:
-
Steuerung der Ausgabeformatierung (Erzwingen von JSON-/YAML-Ausgabe): Verwende strukturierte Ausgaben oder Tools mit Enum-Feldern für Klassifizierungsaufgaben.
-
Eliminieren von Einleitungen (Entfernen von „Hier ist...“-Phrasen): Füge direkte Anweisungen im System-Prompt hinzu: „Antworte direkt ohne Einleitung. Beginne nicht mit Phrasen wie ‚Hier ist...', ‚Basierend auf...' usw.“
-
Vermeiden unangemessener Ablehnungen: Claude ist jetzt deutlich besser bei angemessenen Ablehnungen. Klares Prompting in der User-Nachricht ohne Prefill sollte ausreichen.
-
Fortsetzungen (Wiederaufnahme unterbrochener Antworten): Verschiebe die Fortsetzung in die User-Nachricht: „Deine vorherige Antwort wurde unterbrochen und endete mit
[previous_response]. Fahre dort fort, wo du aufgehört hast." -
Kontext-Hydration / Rollenkonsistenz (Auffrischen des Kontexts in langen Gesprächen): Füge das, was zuvor als Prefill in der Assistant-Nachricht als Erinnerung diente, stattdessen in den User-Turn ein.
-
-
JSON-Escaping von Tool-Parametern kann abweichen
Das Escaping von JSON-Strings in Tool-Parametern kann von früheren Modellen abweichen. Standard-JSON-Parser handhaben dies automatisch, aber benutzerdefiniertes stringbasiertes Parsing muss möglicherweise angepasst werden.
Änderungen beim erweiterten Denken: budget_tokens-Konfigurationen von Claude Sonnet 4.5 (thinking: {type: "enabled", budget_tokens: N}) werden auf Claude Sonnet 5 nicht unterstützt und geben einen 400-Fehler zurück. Adaptives Denken ist standardmäßig aktiviert, sodass die meisten Workloads überhaupt keine thinking-Konfiguration benötigen; verwende den Effort-Parameter, um die Denktiefe zu steuern. Wenn du Claude Sonnet 4.5 ohne erweitertes Denken betrieben hast, übergib thinking: {type: "disabled"}, um dieses Verhalten beizubehalten.
Bei der Migration von Claude 3.x
-
Sampling-Parameter entfernen
Sampling-Parameter (
temperature,top_p,top_k), die auf einen Nicht-Standardwert gesetzt sind, geben auf Claude Sonnet 5 einen 400-Fehler zurück. Entferne sie aus den Anfragen und verwende stattdessen Prompting, um das Verhalten des Modells zu steuern. -
Tool-Versionen aktualisieren
Aktualisiere auf die neuesten Tool-Versionen (
text_editor_20250728,code_execution_20260521). Entferne jeglichen Code, der den Befehlundo_editverwendet. -
Den Stop-Reason
refusalbehandelnAktualisiere deine Anwendung, um
refusal-Stop-Reasons zu behandeln. -
Deine Prompts für Verhaltensänderungen aktualisieren
Claude-4-Modelle haben einen prägnanteren, direkteren Kommunikationsstil. Lies die Best Practices für Prompting für Optimierungshinweise.
Migration zu Claude Sonnet 5 von Claude Haiku 4.5
Claude Haiku 4.5 und Claude Sonnet 5 unterscheiden sich auf API-Ebene stärker als benachbarte Modelle innerhalb einer Klasse: Claude Haiku 4.5 verwendet manuelles erweitertes Denken (standardmäßig deaktiviert), ein Kontextfenster mit 200k Token und bis zu 64k Output-Token, während Claude Sonnet 5 standardmäßig mit aktiviertem adaptivem Denken läuft, standardmäßig ein Kontextfenster mit 1 Mio. Token bereitstellt und bis zu 128k Output-Token unterstützt.
Aktualisiere deinen Modellnamen
model = "claude-haiku-4-5-20251001" # Before
model = "claude-sonnet-5" # AfterWas sich geändert hat
-
Thinking-Konfiguration: Claude Haiku 4.5 unterstützt manuelles erweitertes Denken (
thinking: {type: "enabled", budget_tokens: N}) und lehntthinking: {type: "adaptive"}ab. Auf Claude Sonnet 5 ist die Unterstützung umgekehrt: Adaptives Denken ist standardmäßig aktiviert, und manuelles erweitertes Denken gibt einen 400-Fehler zurück. Entfernethinking: {type: "enabled", budget_tokens: N}-Konfigurationen und verlasse dich auf den Standard, oder übergibthinking: {type: "disabled"}, um das Denken auszuschalten.budget_tokenshat keinen direkten Ersatz; verwende den Effort-Parameter, um die Denktiefe zu steuern. Effort ist auf Claude Haiku 4.5 nicht verfügbar und ist auf Claude Sonnet 5 standardmäßighigh.Die Antwortform ändert sich für beide Arten von Claude-Haiku-4.5-Anfragen. Anfragen, die ohne erweitertes Denken liefen, können jetzt einen oder mehrere
thinking-Blöcke vor dem erstentext-Block zurückgeben, sodass Code, der die Antwort nach Position liest, etwacontent[0].text, Inhaltsblöcke stattdessen nach ihremtype-Feld auswählen muss, und Tool-Use-Schleifen müssenthinking-Blöcke vollständig und unverändert zusammen mit ihren Tool-Ergebnissen zurückgeben (siehe Thinking-Blöcke beibehalten). Anfragen, die erweitertes Denken verwendet haben, erhalten weiterhinthinking-Blöcke, aberthinking.displayist auf Claude Sonnet 5 standardmäßig"omitted"statt"summarized", sodass diese Blöcke mit einem leerenthinking-Feld ankommen; setzedisplay: "summarized", um weiterhin lesbare Zusammenfassungen zu erhalten (siehe Anzeige des Denkens steuern). Thinking-Token werden als Output-Token abgerechnet, auch wenn der Denktext nicht zurückgegeben wird. -
Sampling-Parameter entfernt:
temperatureundtop_pfunktionieren auf Claude Haiku 4.5 (jeweils einzeln, nicht beide zusammen). Auf Claude Sonnet 5 gibt das Setzen vontemperature,top_podertop_kauf einen Nicht-Standardwert einen 400-Fehler zurück. Entferne diese Parameter und verwende Prompting, um das Verhalten des Modells zu steuern. -
Assistant-Prefill entfernt: Das Prefilling der Assistant-Nachricht funktioniert auf Claude Haiku 4.5, gibt aber auf Claude Sonnet 5 einen 400-Fehler zurück. Verwende stattdessen strukturierte Ausgaben, Anweisungen im System-Prompt oder
output_config.format. -
Größeres Kontextfenster und größere Ausgabe: Claude Sonnet 5 stellt standardmäßig ein Kontextfenster mit 1 Mio. Token bereit, gegenüber 200k Token auf Claude Haiku 4.5, und unterstützt bis zu 128k Output-Token, gegenüber 64k. Claude Sonnet 5 verwendet außerdem einen anderen Tokenizer, führe daher die Token-Zählung erneut aus, anstatt Zählungen wiederzuverwenden, die gegen Claude Haiku 4.5 gemessen wurden.
-
Preise: Claude Haiku 4.5 kostet 1 $/5 $ USD pro Million Input-/Output-Token. Claude Sonnet 5 kostet 2 $/10 $ USD pro Million Input-/Output-Token. Siehe Claude-Preise.
-
Cybersicherheits-Schutzmaßnahmen: Claude Sonnet 5 verfügt über Echtzeit-Schutzmaßnahmen für Cybersicherheit. Anfragen, die verbotene oder hochriskante Cybersicherheitsthemen betreffen, können abgelehnt werden und werden als erfolgreiche HTTP-200-Antwort mit
stop_reason: "refusal"zurückgegeben. Siehe Real-time cyber safeguards on Claude Opus and Sonnet, um zu erfahren, was die Schutzmaßnahmen blockieren und wie sich legitime Sicherheitsarbeit für das Cyber Verification Program bewerben kann.
Migrations-Checkliste
- Aktualisiere den Modellnamen von
claude-haiku-4-5-20251001(oder dem Aliasclaude-haiku-4-5) aufclaude-sonnet-5. - Entferne die Konfiguration
thinking: {type: "enabled", budget_tokens: N}(gibt einen 400-Fehler zurück). Adaptives Denken ist standardmäßig aktiviert; übergibthinking: {type: "disabled"}, um das Verhalten ohne Denken beizubehalten, und überprüfemax_tokensfür Workloads, die ohne Denken liefen. - Aktualisiere Antwort-Parsing, das Inhalte nach Position liest, etwa
content[0].text: Bei aktiviertem Denken kommenthinking-Blöcke vortext-Blöcken an. Wähle Inhaltsblöcke stattdessen nachtypeaus und gibthinking-Blöcke in Tool-Use-Schleifen unverändert zurück; veränderte Blöcke geben einen 400-Fehler zurück. - Wenn deine UI Denkinhalte anzeigt, setze
display: "summarized".thinking.displayist auf Claude Sonnet 5 standardmäßig"omitted", sodass Thinking-Blöcke andernfalls mit einem leerenthinking-Feld ankommen. Siehe Anzeige des Denkens steuern. - Verwende den Effort-Parameter (Standard
high), um Denktiefe und Token-Verbrauch zu steuern; er ist auf Claude Haiku 4.5 nicht verfügbar, sodass keine bestehende Einstellung übernommen wird. - Entferne
temperature- undtop_p-Einstellungen (Nicht-Standardwerte geben auf Claude Sonnet 5 einen 400-Fehler zurück). - Entferne jegliche Prefills von Assistant-Nachrichten (sie geben auf Claude Sonnet 5 einen 400-Fehler zurück).
- Führe die Token-Zählung erneut gegen Claude Sonnet 5 aus und überprüfe
max_tokens-Limits, die du bis zum Maximum von 128k erhöhen kannst. - Füge eine Behandlung für
stop_reason: "refusal"hinzu, wenn dein Workload Cybersicherheitsthemen berühren könnte. - Ermittle vor dem Produktionseinsatz eine neue Kostenbasis für deinen typischen Workload; der Preis pro Token unterscheidet sich.
Was this page helpful?