Migration von Claude Haiku 4.5 auf 5.5: Fünf 400-Fehler und die stillen Änderungen

AIHubMix9 Min. Lesezeit
Migration von Claude Haiku 4.5 auf 5.5: Fünf 400-Fehler und die stillen Änderungen

Die Änderung von claude-haiku-4-5 auf claude-haiku-5-5 ist der kleinste Teil dieser Migration. Fünf Anfrage-Muster, die in Haiku 4.5 funktionierten, geben jetzt einen 400-Fehler zurück, und mehrere weitere Änderungen führen zwar zu keinen Fehlern, verändern jedoch, was Sie zurückbekommen, was es kostet oder wie das Modell innerhalb eines Agenten funktioniert.

Anthropic sagt, dass bestehende Haiku 4.5-Eingabeaufforderungen gut auf Haiku 5.5 ohne Änderungen funktionieren sollten. Der Anfragecode rund um diese Eingabeaufforderungen ist eine andere Geschichte. Dieser Beitrag listet jedes Problem auf, wie Sie es antreffen werden: was Sie sehen werden, warum es passiert und wie Sie es beheben können, gefolgt von einer Checkliste. Die autoritative Referenz ist Anthropics Migration Guide für Haiku 5.5.

Triage: Symptome zuordnen

Was Sie sehen Ursache Lösung
400 bei einer Anfrage mit einem Denkbudget Manuelles Denken entfernt Adaptives Denken plus Aufwand
400 mit Temperatur, top_p oder top_k Sampling-Parameter gesperrt Entfernen Sie sie
400, wenn Nachrichten mit einem Assistentenwechsel enden Vorbefüllung entfernt Ende mit einem Benutzerwechsel
400 bei Computerbenutzung Altes Computerwerkzeug abgelehnt Wechseln Sie zum Computer-Toolset
400 nach Bearbeitung früherer Wechsel Denken an die Historie gebunden Historie nur anhängen
Parser gibt leeren oder falschen Text zurück Denken blockiert zuerst Blöcke nach Typ auswählen
Antwort abgeschnitten oder fehlt Denken zählt zum Limit max_tokens erhöhen oder Aufwand verringern
Tokenanzahl und Rechnungen steigen um etwa 30% Neuer Tokenizer Neu zählen mit dem neuen Modell
Antwort mit Stoppgrund Ablehnung Neue Sicherheitsklassifizierer In Ihrem Client behandeln

Die ersten fünf scheitern laut. Die restlichen scheitern leise, was sie teurer macht, um sie zu finden.

Die fünf lauten Fehler

1. Manuelle Denkbudgets

Was Sie sehen werden: ein 400 bei jeder Anfrage, die thinking: {"type": "enabled", "budget_tokens": N} sendet.

Warum: Haiku 4.5 unterstützte nur manuelles erweitertes Denken mit einem Token-Budget. Haiku 5.5 unterstützt nur adaptives Denken und steuert die Tiefe mit effort.

Lösung: senden Sie {"type": "adaptive"} oder lassen Sie thinking weg und wählen Sie ein Aufwand-Niveau. Wo das alte Budget klein war, um Tokens zu sparen, wählen Sie ein niedriges Niveau.

# Vorher: Haiku 4.5
thinking={"type": "enabled", "budget_tokens": 8000}

# Nachher: Haiku 5.5
thinking={"type": "adaptive"},
output_config={"effort": "medium"},

2. Sampling-Parameter

Was Sie sehen werden: ein 400, wenn eine Anfrage temperature, top_p oder top_k setzt.

Warum: Haiku 5.5 akzeptiert nur die Standardwerte: temperature von 1 und top_p von 0.99. Jeder andere Wert von einem der beiden, jeder top_k oder das Senden von sowohl temperature als auch top_p gibt einen 400 zurück, unabhängig davon, ob Denken verwendet wird oder nicht. Ein top_p von 1 wird ebenfalls abgelehnt.

Lösung: entfernen Sie alle drei. Der häufigste Fall ist temperature=0 bei einem Klassifizierer, der verwendet wird, um stabile Labels zu erhalten. Ersetzen Sie es durch strukturierten Output oder ein Tool, dessen Eingabe ein Enum ist, sodass das Label-Set durch das Schema und nicht durch Sampling durchgesetzt wird. Überprüfen Sie auch SDK-Wrapper und Gateways, die standardmäßige Sampling-Werte in Ihrem Namen hinzufügen.

3. Assistenten-Vorbefüllung

Was Sie sehen werden: ein 400, wenn der letzte Eintrag in messages ein Assistentenwechsel ist, selbst wenn das Denken deaktiviert ist.

Warum: Vorbefüllung wird in Haiku 5.5 nicht unterstützt, was dem Rest der aktuellen Claude-Reihe entspricht.

Lösung: beenden Sie messages mit einem Benutzerwechsel und ersetzen Sie die Vorbefüllung durch das, wofür sie gedacht war. Die Formatkontrolle wird zu strukturiertem Output (output_config.format). Ein vorbefüllter Vorspann wird zu einer Systemaufforderung, um direkt zu antworten. Eine Fortsetzung einer unterbrochenen Antwort wird in die Benutzer-Nachricht verschoben: "Ihre vorherige Antwort endete mit [Text]. Fahren Sie von dort fort."

4. Computerbenutzung

Was Sie sehen werden: ein 400 bei der Claude-API oder Google Cloud, wenn die Anfrage das Tool computer_20250124 deklariert.

Warum: Auf diesen Plattformen unterstützt Haiku 5.5 die Computerbenutzung nur über das neuere Toolset, computer_toolset_20260801.

Lösung: entfernen Sie den computer-use-2025-01-24 Beta-Header, ersetzen Sie den Tool-Eintrag durch {"type": "computer_toolset_20260801"} und aktualisieren Sie die Agentenschleife: dispatchen Sie auf jedem tool_use-Block name und toolset_name anstelle von input.action, behandeln Sie jeden solchen Block in einem Wechsel und geben Sie toolset_name in den Ergebnissen aus. Zoom ist standardmäßig aktiviert; wenn Ihre Umgebung dies nicht implementiert, deaktivieren Sie es in der Toolset-Konfiguration. Überprüfen Sie bei Amazon Bedrock die Kompatibilitätsnotizen des Computerbenutzertools, bevor Sie eine Version auswählen. Dieselbe Toolset-Familie bringt auch die Nutzung des Browsers, die Haiku 4.5 nie hatte.

5. Bearbeitung früherer Wechsel

Was Sie sehen werden: ein 400, wenn eine Anfrage einen Denkblock zurücksendet, nachdem etwas davor geändert wurde: die Systemaufforderung, die Tool-Liste oder eine frühere Nachricht.

Warum: Ein Haiku 5.5-Denkblock bleibt nur gültig, solange alles, was vorher gesendet wurde, unverändert ist. Die Überprüfung wird standardmäßig für Konten, die am oder nach dem 31. August 2026 erstellt wurden, durchgesetzt, und bei älteren Konten nur, wenn eine Anfrage sich dafür entscheidet.

Lösung: halten Sie Gespräche nur anhängend. Häufige Übeltäter sind eine Systemaufforderung mit einem Zeitstempel, eine Tool-Liste, die wächst, wenn ein Plugin verbunden wird, clientseitige Trunkierung und Erinnerungen, die in die Historie eingefügt und im nächsten Wechsel entfernt werden. Für Anweisungen pro Wechsel unterstützt Haiku 5.5 Systemnachrichten innerhalb von messages, ohne Beta-Header, die Kontext hinzufügen, ohne das, was vorher kam, zu bearbeiten.

Die stillen Fehler

Denken-Blöcke kommen zuerst. Denken ist standardmäßig aktiviert, sodass eine Antwort mit einem oder mehreren thinking-Blöcken beginnen kann. Code, der response.content[0].text als Antwort liest, bricht oder gibt leeren Text zurück. Wählen Sie Blöcke nach type.

Denken-Text ist standardmäßig leer. Haiku 4.5 gab zusammengefasste Gedanken zurück. Haiku 5.5 gibt thinking-Blöcke mit einem leeren Textfeld und nur einer Signatur zurück. Wenn Ihre UI Denkzusammenfassungen anzeigte, setzen Sie thinking: {"type": "adaptive", "display": "summarized"}. In jedem Fall geben Sie Denkblöcke unverändert mit den Tool-Ergebnissen zurück; ein Serializer, der leere Blöcke entfernt, entfernt sie.

max_tokens muss jetzt Denken abdecken. Ein Limit, das für eine kurze Antwort ausgelegt ist, kann durch Denken aufgebraucht werden, wodurch die Antwort mit stop_reason: "max_tokens" endet, bevor irgendein Text erscheint. Erhöhen Sie das Limit oder verringern Sie den Aufwand.

Der gleiche Text benötigt etwa 30% mehr Tokens. Der neue Tokenizer ändert usage-Felder, count_tokens-Ergebnisse, Kontextbudgets und jedes max_tokens, das für Haiku 4.5 optimiert wurde. Er verschiebt auch die Preisgrenze von 100K Tokens auf etwa 77K Tokens, wie Haiku 4.5 sie zählte. Zählen Sie echte Eingabeaufforderungen mit dem Modell auf claude-haiku-5-5 neu, bevor Sie einem Kosten-Dashboard vertrauen.

Der Standardaufwand ist mittel. Haiku 4.5 hatte keine Aufwandseinstellung. Haiku 5.5 hat standardmäßig medium, was möglicherweise mehr Denken erfordert, als ein einfacher Weg benötigt. Setzen Sie es explizit.

Denken-Blöcke bleiben beim Konto, das sie erstellt hat. Wenn Ihr Dienst gespeicherte Gespräche über ein anderes API-Konto wiederholt, werden die Denkblöcke von Haiku 5.5 stillschweigend entfernt und die Anfrage wird ohne dieses Denken ausgeführt. Wiederholen Sie jedes Gespräch über das Konto, das es produziert hat.

Priority Tier wird nicht übertragen. Haiku 5.5 unterstützt Priority Tier nicht, planen Sie also die Kapazität separat, wenn Sie darauf für Haiku 4.5 angewiesen sind.

Gateway-Listings können abweichen. Die Haiku 5.5-Seite auf AIHubMix listet derzeit eine Kontextlänge von 200K, während Anthropic 1M angibt. Bestätigen Sie das Limit auf der Route, die Sie verwenden, bevor Sie lange Eingabeaufforderungen migrieren.

Verhaltensänderungen, die für Agenten mit echten Berechtigungen wichtig sind

Ablehnungen sind neu, und nichts fängt sie für Sie auf. Haiku 5.5 führt Sicherheitsklassifizierer in vier Kategorien aus: Cyber, Bio, Grenz-LLM-Entwicklung und allgemeine Schäden. Eine Ablehnung kommt als normales HTTP 200 mit stop_reason: "refusal" und einer Kategorie in stop_details zurück. Im Gegensatz zu Sonnet 5.5 und Opus 5.5 hat Haiku 5.5 kein serverseitiges Fallback: Eine Liste von Fallback-Modellen gibt einen 400 zurück, und der Standard-Fallback-Modus lässt die Anfrage abgelehnt. Überprüfen Sie stop_reason, bevor Sie content lesen, und entscheiden Sie in Ihrem eigenen Code, ob Sie umformulieren, an ein größeres Modell eskalieren oder stoppen möchten. Laut dem Launch-Beitrag ermöglichen die Cyber-Schutzmaßnahmen eine breitere Palette von defensiven Arbeiten als die von Sonnet 5.5, blockieren jedoch Penetrationstests.

Benutzereingaben in Tool-Ergebnissen können ignoriert werden. Haiku 5.5 ist darauf trainiert, Eingabeaufforderungsinjektionen durch Tool-Ergebnisse zu widerstehen. Wenn Ihr Harness eine Nachricht liefert, die der Benutzer während einer Aufgabe in einem tool_result-Block eingegeben hat, kann das Modell sie als untrusted behandeln und ignorieren. Platzieren Sie Benutzereingaben in einem Textblock nach dem letzten Tool-Ergebnis und halten Sie Harness-Benachrichtigungen in einer separaten Systemnachricht.

Bei niedrigem Aufwand können Agenten frühzeitig stoppen oder Prüfungen überspringen. Mit einer langen Codierungs-Agenten-Systemaufforderung bei low gibt Haiku 5.5 manchmal die Aufgabe zurück, bevor sie abgeschlossen ist, und bei low und medium meldet es manchmal eine Codeänderung als abgeschlossen, ohne einen Test durchzuführen. Anthropics Haiku 5.5 Prompting Guide enthält kurze Anweisungen für beide. Für einen Agenten, der Dateien schreiben oder Befehle ausführen kann, ist ein unbestätigtes "fertig" das gefährlichere von beiden.

Das Erzwingen eines Tools überspringt das Denken. Erzwungene tool_choice wird weiterhin akzeptiert, aber das Modell ruft das Tool dann ohne vorheriges Denken auf. Für Tools mit Nebenwirkungen ermöglicht auto plus eine klare Anweisung dem Modell, bevor es handelt, zu überlegen.

Suchwerkzeuge benötigen das heutige Datum. Wenn Haiku 5.5 ein Suchwerkzeug hat, geben Sie ihm das aktuelle Datum in der Systemaufforderung oder der Toolbeschreibung. In Anthropics Tests verankerte dies Antworten in aktuellen Ergebnissen.

Eine migrierte Anfrage über AIHubMix

Ein Haiku 4.5-Klassifizierer, der temperature=0, ein Denkbudget und eine vorbefüllte { für JSON verwendete, umgeschrieben für Haiku 5.5 am AIHubMix Claude Native Endpoint:

import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["AIHUBMIX_API_KEY"],
    base_url="https://aihubmix.com",
)

r = client.messages.create(
    model="claude-haiku-5-5",
    max_tokens=2000,                     # Platz für Denken plus das JSON
    output_config={
        "effort": "low",                 # ersetzt das alte Denkbudget
        "format": {                      # ersetzt die Vorbefüllung und temperature=0
            "type": "json_schema",
            "schema": {
                "type": "object",
                "properties": {
                    "label": {"type": "string", "enum": ["billing", "bug", "other"]}
                },
                "required": ["label"],
                "additionalProperties": False,
            },
        },
    },
    messages=[{"role": "user", "content": "Ticket: 'Ich wurde für Oktober doppelt berechnet.'"}],
)

if r.stop_reason == "refusal":
    raise RuntimeError(f"abgelehnt: {r.stop_details}")
text = next(b.text for b in r.content if b.type == "text")
print(text)

Ob ein Gateway output_config-Felder und neuere Beta-Header unverändert weiterleitet, ist es wert, bei Ihrem ersten Testlauf zu bestätigen. Wenn die migrierte Route Ihre Bewertungen besteht, macht die AIHubMix-Modellübersicht es einfach, denselben Code auf Sonnet 5.5 für jeden Aufgabentyp zu richten, der weiterhin bei Haiku fehlschlägt.

Migrations-Checkliste

  1. Ändern Sie die Modell-ID auf claude-haiku-5-5, ohne Datumsuffix.
  2. Ersetzen Sie jedes Denkbudget durch adaptives Denken und ein explizites Aufwand-Niveau.
  3. Entfernen Sie Temperatur, top_p und top_k, einschließlich Standardwerte, die von Wrappers hinzugefügt wurden.
  4. Ersetzen Sie Assistenten-Vorbefüllungen durch strukturierten Output, Systemanweisungen oder Benutzerwechsel-Fortsetzungen.
  5. Bewegen Sie die Computerbenutzung zum Computer-Toolset und aktualisieren Sie die Agentenschleife.
  6. Halten Sie die Gesprächshistorie nur anhängend, wenn Denkblöcke wiederholt werden.
  7. Lesen Sie den Antwortinhalt nach Blocktyp und behalten Sie leere Denkblöcke bei der Wiederholung.
  8. Erhöhen Sie max_tokens bei kurzen Antwort-Routen oder verringern Sie den Aufwand.
  9. Behandeln Sie den Ablehnungs-Stoppgrund, bevor Sie den Inhalt lesen; konfigurieren Sie keine serverseitigen Fallbacks.
  10. Zählen Sie die Eingabeaufforderungstokens im neuen Modell neu und setzen Sie die Kosten-Dashboards neu fest.
  11. Überprüfen Sie, welche Eingabeaufforderungen jetzt 100K Tokens überschreiten und kürzen oder teilen Sie sie.
  12. Setzen Sie die Anzeige auf zusammengefasst, wenn Benutzer Denkzusammenfassungen sahen.
  13. Liefern Sie Benutzereingaben in der Mitte des Wechsels außerhalb der Tool-Ergebnisse.
  14. Geben Sie suchfähigen Agenten das heutige Datum.
  15. Überprüfen Sie die Ratenlimits, die Anforderungen an Priority Tier und das Kontextlimit Ihres Gateways, bevor Sie Volumen verschieben.

FAQ

Werden meine Haiku 4.5-Eingabeaufforderungen in Haiku 5.5 funktionieren?
Anthropic sagt, dass bestehende Eingabeaufforderungen gut ohne Änderungen funktionieren sollten. Die Anfrageparameter rund um sie sind das, was bricht: Denkbudgets, Sampling-Einstellungen, Vorbefüllungen und das alte Computerbenutzertool geben alle Fehler zurück.

Warum schlägt mein Klassifizierer fehl, nachdem ich Temperatur 0 entfernt habe?
Er sollte nicht fehlschlagen, aber die Labels können variieren. Verwenden Sie strukturierten Output oder ein Tool mit einem Enum-Feld, sodass die erlaubten Labels durch das Schema durchgesetzt werden. Das ist zuverlässiger als Temperatur 0 jemals war.

Kann ich das Denken weiterhin deaktivieren?
Ja, bei niedrigem, mittlerem und hohem Aufwand. Bei xhoch und maximal gibt das Deaktivieren des Denkens einen Fehler zurück. Anthropic empfiehlt stattdessen ein niedrigeres Aufwand-Niveau, da das Modell bei einfachen Anfragen selbst das Denken überspringen kann.

Was sollte mein Code tun, wenn Haiku 5.5 ablehnt?
Überprüfen Sie den Stoppgrund, bevor Sie den Inhalt lesen. Haiku 5.5 hat kein serverseitiges Fallback, sodass Ihr Code entscheidet, ob er umformuliert, die Anfrage an ein größeres Modell sendet oder einen Fehler an den Benutzer zurückgibt.

Warum ist mein Tokenverbrauch nach der Migration gestiegen?
Zwei Gründe. Der neue Tokenizer zählt etwa 30% mehr Tokens für denselben Text, und das Denken ist standardmäßig aktiviert, was zusätzliche Ausgabetokens hinzufügt. Verringern Sie den Aufwand und zählen Sie Ihre Eingabeaufforderungen im neuen Modell neu.

Musste ich etwas für das Eingabeaufforderung-Caching ändern?
Normalerweise nicht, und es wird einfacher: Die minimale cachebare Eingabeaufforderung sinkt von 4.096 auf 512 Tokens, und Denkblöcke aus früheren Wechseln bleiben standardmäßig im zwischengespeicherten Präfix. Vermeiden Sie es, frühere Wechsel zu bearbeiten, da dies jetzt sowohl Denkblöcke als auch den Cache ungültig macht.

Kann ein Gespräch von Haiku 5.5 auf ein größeres Modell übertragen werden?
Ja. Sonnet 5.5 und Opus 5.5 lesen die Denkblöcke von Haiku 5.5, sodass ein Gespräch, das an eines von beiden eskaliert, sein früheres Denken beibehält. Überprüfen Sie zuerst die Dokumentation zu den erhaltenen Denkblöcken für andere Zielmodelle.

Weiterlesen: die Claude Haiku 5.5-Serie

Quellen