Fable 5.2 meldet 400: Verlauf, Thinking und Tool-Aufrufe reparieren
Fehler nach dem Fable-5.2-Upgrade eingrenzen: signierte Historie erhalten, inkompatible Parameter entfernen und Bedrock-Ausnahmen berücksichtigen.
Wenn ein Upgrade auf Fable 5.2 den Status 400 liefert, lesen Sie die vollständige Fehlermeldung, bevor Sie den Prompt ändern. Bei einer fehlerhaften Konversationsbindung muss die Historie repariert werden; bei erzwungener Tool-Auswahl die Anfrage; bei einer Ablehnung wegen Datenaufbewahrung ist eine Entscheidung über Kontorichtlinien nötig. Identische Wiederholungen beheben keinen dieser Fälle.
Diese Diagnose folgt der Migrationsdokumentation für Fable 5.2, geprüft am 10. November 2026. Mit „Before“ markierte Beispiele zeigen Muster, die mit der dokumentierten nativen Schnittstelle unvereinbar sind. Unsere Ofox-Tests reproduzierten den dokumentierten 400 für deaktiviertes Thinking oder erzwungene Tools nicht: Die Route lieferte stattdessen 200. Die folgenden Beobachtungen sind relevant, wenn ein Gateway eine Anfrage annimmt, ohne das beabsichtigte Verhalten durchzusetzen.
Was unsere Ofox-Tests tatsächlich zurückgaben
Wir sendeten drei kleine Anfragen an https://api.ofox.ai/anthropic/v1/messages mit der exakten ID anthropic/claude-fable-5.2, API-Version 2023-06-01, niedrigem Effort und einer Grenze von 4.096 Token. Alle fragten nach dem Wert von drei Einheiten zu je 12 USD und verwendeten ausschließlich synthetische Daten.
| Test | Beobachtete Antwort | Was damit belegt ist |
|---|---|---|
| Minimale Anfrage | 200, end_turn, 36 USD | Der einfache Textfall wurde abgeschlossen |
Zusätzlich thinking: {"type":"disabled"} | 200, dieselbe sichtbare Antwort | Die Route nahm das Feld an; dies belegt nicht, dass Thinking deaktiviert war |
Deklariertes Tool und erzwungenes lookup_stock | 200, Textantwort, kein Tool-Aufruf | Die verlangte erzwungene Ausführung fand in diesem Test nicht statt |
Der Test zur erzwungenen Tool-Auswahl behielt bewusst die Anweisung „Do not use tools“ des ursprünglichen Prompts bei. Eine verbindliche Tool-Auswahl lässt sich nicht allein durch eine plausible Antwort bestätigen: Diese Antwort enthielt keinen tool_use-Block. Wir haben nicht festgestellt, welche Gateway- oder Upstream-Schicht die inkompatiblen Einstellungen verarbeitete. Daher bezeichnen wir sie weder als unterstützt noch behaupten wir, die Ursache lokalisiert zu haben.
Das sind Beobachtungen einzelner Anfragen, keine dauerhaften Kompatibilitätszusagen. Verwenden Sie für portablen Code die dokumentierte Schnittstelle, lassen Sie inkompatible Steuerungen weg und testen Sie das tatsächlich gelieferte Verhalten auf Ihrer exakten Route. Der Rest dieses Artikels erklärt die offiziellen 400-Fälle und die nötigen Änderungen in der Anwendung. Fehler zu signierten Präfixen, Aufbewahrung, Computer-Tools oder Advisor haben wir in diesem kleinen Testumfang nicht reproduziert.

Englischsprachiger Screenshot unseres lokal dargestellten Testprotokolls mit Daten aus echten API-Antworten. Er zeigt keine Ofox-Produktoberfläche.
Zuerst feststellen, an welcher Stelle der Fehler beginnt
Notieren Sie exaktes Modell, Endpunkt, API-Version, SDK-Version, Status, Fehler-Body und Request-ID. Bestimmen Sie anschließend die erste fehlschlagende Anfrage. Zugangsdaten und private Gesprächsinhalte gehören nicht in öffentliche Fehlerberichte.
| Fehlerstelle oder Meldung | Zuerst prüfen | Sinnvoller nächster Schritt |
|---|---|---|
| Erste Anfrage nennt Thinking oder Sampling | Vom SDK-Wrapper eingefügte Standardwerte | Inkompatible Felder entfernen |
| Folgeanfrage meldet einen Block aus einer anderen Konversation | System, Tool-Definitionen und frühere Nachrichten | Ursprüngliches Präfix wiederherstellen |
Meldung nennt tool_choice | Erzwungene Auswahl durch ein Framework | auto verwenden; Erfüllung in Anwendungscode prüfen |
| Meldung nennt eine nicht zugeordnete Tool-ID | Tool-Aufrufe des Assistenten und folgende Ergebnisnachricht | Jedes tatsächliche passende Ergebnis wiederherstellen |
| Meldung nennt Computer- oder Advisor-Tools | Kompatibilität von Modell und Plattform | Plattformspezifisch migrieren |
| Erste Claude-API-Anfrage nennt Aufbewahrung oder ZDR | Aufbewahrungsberechtigung des Workspace | Vor dem Senden von Daten mit dem Kontoverantwortlichen klären |
| HTTP-Erfolg, aber kein Antworttext | Abbruchgrund und Ausgabelimit | Erschöpftes Ausgabebudget untersuchen, nicht einen 400 |
Bewahren Sie eine nachweislich funktionierende Anfrage mit synthetischen Daten auf. Entfernen Sie in einer Kopie optionale Felder und fügen Sie sie einzeln wieder hinzu. So lässt sich eine Modelleinschränkung von einem Wrapper unterscheiden, der unbemerkt Standardwerte ergänzt. Lassen Sie die ursprüngliche aufgezeichnete Anfrage als Vergleich unverändert.
Eine fehlerhafte Konversationsbindung reparieren
Fable 5.2 prüft das Präfix bei jedem Konto. Eine Anfrage, die mit Fable 5.1 über ein älteres Konto funktionierte, kann nach dem Upgrade scheitern, wenn der Client frühere Historie bearbeitet. Die dokumentierte Meldung enthält The block is bound to a different conversation.
Typische Ursachen sind ein mit neuem Zeitstempel neu aufgebauter System-Prompt, ein zwischen Schritten geändertes Tool-Schema, eine andere Nachrichtenreihenfolge oder der Ersatz früherer Inhalte durch eine lokale Zusammenfassung. Eine unveränderte Signatur allein macht ein bearbeitetes Präfix nicht gültig.
Auf Anwendungsebene sieht der Unterschied so aus:
# Before: rewriting history after the model has produced signed content.
system = base_system + " Current time: " + current_timestamp
messages[0] = {"role": "user", "content": shortened_original_request}
# After: freeze the original request prefix; add genuinely new instructions.
system = original_system
messages.append({"role": "user", "content": new_instruction})
Das „After“-Muster ist für neue Informationen gedacht, nicht als universelle Methode zur Verdichtung eines vollen Kontextfensters. Müssen Sie Aufgabe, Tools oder Zusammenfassung ändern, starten Sie eine neue Unterhaltung mit einem geprüften Anwendungs-Checkpoint oder verwenden Sie ein dokumentiertes Kontextmanagement, das Ihre Route unterstützt. Behalten Sie nicht alte signierte Blöcke in der Hoffnung, die bearbeitete Historie sei gleichwertig.
Vergleichen Sie die serialisierten Werte unmittelbar vor dem Absenden. Prüfen Sie ursprünglichen System-Prompt, Tool-Definitionen, Nachrichtenreihenfolge und vollständige Assistentenblöcke. Ein lesbares Chatprotokoll kann gerade die entscheidenden Felder auslassen. Bei MCP-Integrationen prüfen Sie auch, ob eine wechselnde Tool-Liste des Servers das Präfix verändert; nur das lokale Tool-Verzeichnis zu fixieren reicht dafür möglicherweise nicht.
Der Leitfaden zu erhaltenem Thinking beschreibt eine Recovery-Beta mit thinking.block_binding.prefix_mismatch_behavior: "drop_block" und dem Header thinking-binding-controls-2026-08-01. Sie verwirft betroffene Reasoning-Blöcke, statt sie zu reparieren. Nutzen Sie den Bericht input_transformations, um die Änderung zu finden, und berücksichtigen Sie eine mögliche zusätzliche Generierung. Prüfen Sie die Beta-Unterstützung auf Ihrer Route, bevor Sie davon abhängen; dieser Artikel behauptet nicht, dass Ofox über Bedrock diese Steuerung durchreicht.
Ganze Assistentennachrichten einschließlich opaker Blöcke behalten
Rekonstruieren Sie die nächste Anfrage nicht nur aus dem in einer Oberfläche sichtbaren Text. Native Thinking-Blöcke enthalten opake Signaturen, geschwärzte Blöcke (redacted_thinking) opake Daten. Bewahren Sie bei Fortsetzung derselben Konversation alle Antwortblöcke und ihre Reihenfolge auf.
# response is a completed native SDK Message.
messages.append({
"role": "assistant",
"content": [block.model_dump(exclude_none=True)
for block in response.content],
})
Warten Sie beim Streaming auf den Abschluss und übernehmen Sie die zusammengesetzte endgültige Nachricht. Ein Sammler, der nur Textdeltas speichert, kann eine brauchbare Antwort anzeigen und dennoch eine unbrauchbare Fortsetzung ablegen. Erzeugen Sie niemals eine Ersatzsignatur. Ging Zustand verloren, stellen Sie die ursprüngliche Nachricht wieder her oder beginnen Sie eine neue Aufgabensitzung mit geprüften Fakten.
„Invalid signature“ und „Different conversation“ sind verwandte Diagnosehinweise, aber keine identischen Ursachen. Der bestehende englische Artikel zu Claude-Thinking-Signaturen behandelt Serialisierungs- und Streamingfehler. Dieser 5.2-Leitfaden ergänzt die strengere Upgrade-Grenze; er unterstellt nicht, dass alle früheren Modelle dieselben Regeln erzwingen.
Übernommene Thinking- und Sampling-Einstellungen entfernen
Das adaptive Thinking von Fable 5.2 lässt sich nicht deaktivieren. Ein Wrapper aus einem Modell mit manuellem Thinking sendet möglicherweise ein festes budget_tokens oder thinking: {"type":"disabled"}. Entfernen Sie diese Einstellungen und verwenden Sie die unterstützte Effort-Steuerung.
{
"model": "claude-fable-5-2",
"max_tokens": 4096,
"output_config": {"effort": "low"},
"messages": [{"role": "user", "content": "Calculate 3 times 12."}]
}
Das ist eine Vorlage für den Request-Body der Claude API. Verwenden Sie bei Ofox ID und Endpunkt aus dem API-Leitfaden. Das Feld thinking entfällt, weil adaptives Verhalten bereits der Modellstandard ist.
Entfernen Sie temperature, top_p und top_k, statt zufällige Werte zu probieren. Die Thinking-Kompatibilitätsreferenz unterscheidet API-Versionen: Bei diesen neueren Modellen werden von Standardwerten abweichende Sampling-Werte unter älteren Versionen abgelehnt; ab API-Version 2026-10-21 werden diese Felder mit jedem Wert abgelehnt. Prüfen Sie außerdem, ob die letzte Assistentennachricht vorbefüllt ist. Das ist hier kein unterstützter Ausweg für die Ausgabeformatierung.
Stets aktives Thinking und Beschränkungen erzwungener Tools gelten auch für Fable 5.1. Es sind übernommene Einschränkungen, die ein Upgrade über geänderte Codepfade sichtbar machen kann, nicht ausschließlich neue 5.2-Regeln.
Erzwungene Tool-Auswahl ersetzen und Ausführung trotzdem prüfen
Nach dem dokumentierten nativen Claude-Vertrag sind diese Muster mit Fable 5.2 inkompatibel. Wie die Ofox-Tests zeigen, sollten Sie nicht annehmen, dass jedes Gateway denselben Fehler zurückgibt:
{"tool_choice": {"type": "any"}}
{"tool_choice": {"type": "tool", "name": "lookup_stock"}}
Verwenden Sie {"tool_choice":{"type":"auto"}} und beschreiben Sie, wann die Abfrage erforderlich ist. Prüfen Sie anschließend die tatsächliche Antwort. Verlangt die Aufgabe verlässliche Lagerdaten, das Modell antwortet aber ohne Tool-Aufruf, darf die Antwort nicht als abgeschlossene Lagerprüfung gelten.
Für schemagebundene Ausgaben können unterstützte strikte Tool-Schemas oder strukturierte Ausgabe Formatvorgaben abdecken. Sie erzwingen aber nicht, dass ein bestimmtes Tool läuft; Modell- und Kontobeschränkungen bleiben bestehen. Insbesondere nennt der offizielle Migrationsleitfaden Organisationen mit kundenseitig verwalteten Verschlüsselungsschlüsseln als Fall, der zusätzliche Kompatibilitätsprüfungen für strukturierte Ausgabe benötigt.
Eine sichere Anwendungsschleife trennt drei Entscheidungen: Wurde ein Tool-Aufruf angefordert? Sind seine Argumente gültig und autorisiert? Erfüllt das Ergebnis die Aufgabe? Sie braucht eine begrenzte Zahl von Schritten und einen ausdrücklichen Zustand „fehlgeschlagen/unvollständig“. Sonst kann der Wechsel von erzwungener Auswahl zu auto einen sichtbaren 400 in eine unbemerkt ausgebliebene Aktion verwandeln.
Fehlende Tool-Ergebnisse auf Protokollebene reparieren
Nennt der Fehler tool_use_id, listen Sie alle Tool-Aufrufe des vorherigen Assistentenschritts auf und ordnen jedem sein tatsächliches Ergebnis zu. Für Anthropic Messages verwenden Sie tool_result innerhalb einer nativen Nutzernachricht, für Chat Completions dessen Tool-Nachrichtenformat. Es sind unterschiedliche Protokolle.
Bei einer fehlgeschlagenen Abfrage liefern Sie einen wahrheitsgemäßen Fehler. War eine Abfrage vor einem Prozessabsturz erfolgreich, holen Sie das dauerhaft gespeicherte Ergebnis. Wiederholen Sie keine Zahlung, E-Mail oder Schreiboperation nur, um einen neuen Tool-Ergebnisblock zu erhalten. Die englische 400-Diagnose zu Tool-Ergebnissen erklärt die Nachrichtenplatzierung; die Checkpoint-Anleitung erklärt die dauerhafte Aufzeichnung über Neustarts hinweg.
Bedrock- und Advisor-Ausnahmen prüfen
Das alte Tool computer_20251124 erzeugt mit Fable 5.2 auf den dokumentierten Plattformen einen Fehler, außer auf Amazon Bedrock. Anderswo verlangt die Migration die neuere Deklaration computer_toolset_20260801 und entsprechende Änderungen an der Agent-Schleife. Nur den Typnamen zu ersetzen und alte Argumente beizubehalten reicht nicht.
Die Ausnahme ist für Ofox relevant: Der Katalog vom 10. November nennt aws_bedrock für Fable 5.2. Stellen Sie das alte Computer-Tool nicht allein aufgrund eines Claude-API-Beispiels als beobachteten Ofox-Fehler dar. Prüfen Sie zuerst tatsächliche Route, unterstützte Tools und vollständige Anfrage.
Bei Anthropics Advisor-Tool benötigt ein 5.2-Executor einen unterstützten 5.2-Advisor. Eine geänderte Advisor-Deklaration verändert das Tool-Präfix. Migrieren Sie daher in einer neuen Konversation, statt eine bestehende signierte Sitzung zu bearbeiten. Auch die Advisor-Beta muss unabhängig von gewöhnlichem Text und Function Calling auf Verfügbarkeit geprüft werden.
Richtlinien- oder Kapazitätsfehler nicht als Prompt-Fehler behandeln
Anthropic dokumentiert für Fable 5.2 eine Aufbewahrungspflicht von 30 Tagen; Ausnahmen benötigen ausdrückliche Freigabe. Ein Claude-API-Workspace mit unvereinbaren ZDR-Einstellungen kann einen 400 erhalten. Schwächen Sie die Aufbewahrungsrichtlinie eines Kunden nicht automatisch ab, nur damit die Anfrage funktioniert. Geben Sie diese Entscheidung an den Kontoverantwortlichen und prüfen Sie die Bedingungen der tatsächlich verwendeten Plattform. Die Regel belegt nicht die Kontokonfiguration von Ofox.
Bei 429 oder 529 prüfen Sie stattdessen Kapazität und Wiederholungshinweise. Begrenzte Wiederholungen mit Backoff können bei vorübergehender Überlastung sinnvoll sein; eine unverändert fehlerhafte 400-Anfrage zu wiederholen ist es nicht. Nutzen Sie den englischen Leitfaden zu 529-Überlastung und die aktuelle Ofox-Dokumentation zu Ratenlimits.
Die Reparatur am ursprünglich fehlschlagenden Workflow prüfen
Führen Sie eine neue Anfrage, eine Folgeanfrage, einen lesenden Tool-Ablauf und die Wiederherstellung einer gespeicherten Sitzung aus. Eine erfolgreiche neue Anfrage beweist keine reparierte Historienverwaltung. Ändern Sie in einem separaten synthetischen Test absichtlich ein Präfix und prüfen Sie, ob Ihre Diagnose die Veränderung erkennt, statt sie zu verdecken.
Bewahren Sie Anfrageformen vor und nach der Änderung, Fehler, exakte Route und Abschlussstatus auf. Haben Sie eine Wiederherstellung durch Verwerfen von Blöcken aktiviert, protokollieren Sie den verworfenen Zustand und prüfen Sie auch die gelieferte Antwort. Schließen Sie die Untersuchung erst ab, wenn der reale Workflow seine unabhängigen Abnahmeprüfungen ohne wiederholte Seiteneffekte erfüllt.
Weiterführende Dokumentation: Ofox native Messages, Authentifizierung und der offizielle Migrationsleitfaden.


