Die neue Claude Fable 5 Reasoning Engine von Anthropic hält das tiefe Nachdenken bei jeder Anfrage aktiviert und lässt Entwickler stattdessen die Reasoning-Tiefe nach oben oder unten regeln. In der Vergangenheit arbeiteten Large Language Models (LLMs) mit festen Rechenparametern und generierten Token mit gleichmäßiger Geschwindigkeit, unabhängig von der Komplexität der Anfrage. Einfache Begrüßungen verbrauchten die gleiche Verarbeitungsenergie wie fortgeschrittene mathematische Beweise. Mit Fable 5 führt Anthropic ein Hybrid Reasoning Framework ein, bei dem das Nachdenken immer aktiv ist und Sie über eine einzige effort-Einstellung steuern, wie intensiv das Modell arbeitet. Dieses Tutorial beschreibt, wie die API funktioniert, wie Sie ein Effort-Niveau auswählen und wie Sie diese Architektur in Produktions-Pipelines implementieren.

[!WARNING] API-Einschränkungswarnung: Das Nachdenken ist bei Fable 5 immer aktiv, sodass Sie es nicht abschalten können. Die Übergabe von thinking: {type: "enabled"} oder thinking: {type: "disabled"} sowie die Angabe eines budget_tokens-Werts geben einen HTTP-400-Fehler zurück – diese Parameter wurden entfernt. Steuern Sie die Reasoning-Tiefe stattdessen mit output_config: {effort: "..."} und lassen Sie bei höheren Effort-Niveaus genügend von Ihrem max_tokens für die endgültige Antwort übrig.

Wichtige Erkenntnisse:

  • Effort regeln, nicht umschalten: Setzen Sie output_config.effort auf low, medium, high, xhigh oder max – es gibt keinen Ein-/Aus-Schalter.
  • Nachdenken ist automatisch: Lassen Sie thinking weg oder übergeben Sie {type: "adaptive"}; adaptives Nachdenken läuft bei jeder Anfrage.
  • Streams parsen: Verarbeiten Sie thinking-Content-Blöcke mit thinking_delta-Deltas in Echtzeit-Server-Streams.
  • Abrechnung verwalten: Das Zwischenspeichern (Caching) von System-Prompts reduziert redundante Denk-Verarbeitungszyklen.

Funktionsweise von Claudes Hybrid Reasoning Engine

Die wichtigste Innovation von Fable 5 ist die Fähigkeit, ein Problem zu durchdenken, bevor die endgültige Antwort ausgegeben wird. Das bedeutet, dass das Modell intern einen logischen Entwurf der Lösung ausarbeitet, bevor es auf Client-Anfragen antwortet. Entscheidend ist, dass diese Denkphase immer aktiv ist – Sie können sie nicht abschalten, und es gibt keinen separaten „Speed-Modus“, in den Sie wechseln.

Wenn Sie eine komplexe Frage einreichen, versucht das Modell nicht sofort, das nächste Wort vorherzusagen. Stattdessen generiert es interne Denk-Token und simuliert so einen schrittweisen Reasoning-Prozess. Diese Architektur verbessert die Genauigkeit bei Mathematik, Codierung und logischen Auswertungen drastisch.

Um unterschiedliche Unternehmensanforderungen zu unterstützen, ermöglicht Anthropic Entwicklern, die Tiefe dieses Nachdenkens bei Bedarf über einen einzigen effort-Regler zu skalieren. Bei low Effort denkt das Modell kurz nach und antwortet schnell, wodurch Latenz und Token-Verbrauch niedrig bleiben. Bei high oder max Effort denkt es sehr viel tiefer nach und setzt die zusätzliche Rechenleistung ein, die für schwierige Mathematik, mehrstufige Logik und komplexen Code erforderlich ist. Der Kompromiss zwischen Geschwindigkeit und Tiefe wird vollständig über dieses Effort-Niveau ausgedrückt und nicht über einen Ein-/Aus-Schalter.

KI-Integrationsdienste erkunden

Konfigurieren der Fable 5 API-Parameter

Um diese Funktionen in Ihrer Software zu implementieren, müssen Sie das aktualisierte Anthropic API-Schema verwenden. Dieses Schema stellt sicher, dass Ihre Client-Anwendungen den korrekten Modellnamen und die Ausführungsparameter angeben.

Die Reasoning-Tiefe wird über einen output_config-Block festgelegt. Darin akzeptiert das Feld effort einen der Werte "low", "medium", "high", "xhigh" oder "max", und dieser einzelne Wert ersetzt den alten Token-Budget-Regler. Im einfachen Fall übergeben Sie überhaupt keinen thinking-Block – das adaptive Nachdenken läuft automatisch. Die folgende JavaScript-Integration zeigt, wie diese Anfrage strukturiert wird:

 1import Anthropic from "@anthropic-ai/sdk";
 2
 3export default {
 4  async fetch(request, env) {
 5    const anthropic = new Anthropic({ apiKey: env.ANTHROPIC_API_KEY });
 6
 7    try {
 8      const response = await anthropic.messages.create({
 9        model: "claude-fable-5",
10        max_tokens: 8192,
11        // Thinking is always on for Fable 5; dial reasoning depth with effort:
12        output_config: { effort: "high" }, // "low" | "medium" | "high" | "xhigh" | "max"
13        messages: [
14          {
15            role: "user",
16            content: "Generate an optimised database migration script for 10 million records."
17          }
18        ]
19      });
20
21      return Response.json(response);
22    } catch (err) {
23      return Response.json({ error: err.message }, { status: 500 });
24    }
25  }
26};

Versuchen Sie nicht, das Nachdenken zu deaktivieren oder einen budget_tokens-Wert zu übergeben: thinking: {type: "disabled"}, thinking: {type: "enabled"} und jedes budget_tokens-Feld geben auf Fable 5 einen HTTP-400-Fehler zurück, da diese Parameter auf diesem Modell (sowie auf Opus 4.7 und 4.8) entfernt wurden. Wählen Sie ein niedrigeres Effort-Niveau für Geschwindigkeit und ein höheres für Tiefe, und lassen Sie in max_tokens genügend Spielraum für die endgültige Antwort, wenn Sie den Effort erhöhen. Details zu serverlosen Architekturen finden Sie in unserem Leitfaden zum Aufbau einer serverlosen API mit Cloudflare Workers .


Verarbeitung von Reasoning-Token in Streams

Für Echtzeit-Anwendungen wie Chat-Schnittstellen ist das Streamen von Antworten unerlässlich. Fable 5 gibt sowohl Denkschritte als auch den endgültigen Inhalt über SSE-Kanäle (Server-Sent Events) aus.

Während eines Streams kommt das Nachdenken als thinking-Content-Blöcke an, die über content_block_delta-Ereignisse geliefert werden, deren delta.type gleich "thinking_delta" ist. Lesen Sie den Text aus delta.thinking und die endgültige Antwort aus den üblichen text_delta-Deltas. Die rohe Gedankenkette (Chain-of-Thought) wird niemals zurückgegeben – um eine lesbare Zusammenfassung zu erhalten, müssen Sie sich mit thinking: {type: "adaptive", display: "summarized"} explizit dafür entscheiden; der Standardwert "omitted" streamt leeren Thinking-Text. Ein minimaler Handler sieht so aus:

 1const stream = await anthropic.messages.stream({
 2  model: "claude-fable-5",
 3  max_tokens: 8192,
 4  output_config: { effort: "high" },
 5  thinking: { type: "adaptive", display: "summarized" },
 6  messages: [{ role: "user", content: prompt }]
 7});
 8
 9for await (const event of stream) {
10  if (event.type === "content_block_delta") {
11    if (event.delta.type === "thinking_delta") {
12      process.stdout.write(event.delta.thinking); // summarised reasoning
13    } else if (event.delta.type === "text_delta") {
14      process.stdout.write(event.delta.text);      // final answer
15    }
16  }
17}

Sie können diese thinking_delta-Blöcke in ein reduzierbares „Thinking…“-Panel leiten oder sie verwerfen und nur die Antwort darstellen. Eine detaillierte Referenz zu Anthropic-Integrationen finden Sie direkt in der Anthropic Entwicklerdokumentation .

Verwalten Sie Ihre Token-Abrechnung sorgfältig. Denk-Token zählen für Ihre ausgehende API-Abrechnung. Implementieren Sie daher aggressives Prompt-Caching, um zu vermeiden, dass Reasoning-Zyklen bei identischen Eingaben erneut ausgeführt werden. Bei der Planung einer Produktionsbereitstellung hilft Ihnen die Verfolgung dieser Metriken über eine Edge-Telemetrie-Ebene dabei, festzustellen, wo die Nutzung von Denk-Token typische Parameter überschreitet.


Schritt-für-Schritt-API-Integrations-Workflow

Um die Reasoning Engine in Ihren Anwendungen zu implementieren, aktualisieren Sie zunächst Ihre lokalen Pakete, um sie an die Spezifikationen von Fable 5 anzupassen. Ältere SDK-Versionen senden weiterhin budget_tokens, was jetzt während der API-Serialisierung HTTP-400-Schema-Fehler auslöst.

Definieren Sie als Nächstes klare Latenzschwellenwerte. Setzen Sie für einfache Konversationsflüsse oder Begrüßungen ein low Effort-Niveau, um die Latenz gering zu halten. Reservieren Sie high oder max Effort für Aufgaben wie Code-Generierung oder Mathematik.

Speichern Sie außerdem Ihre API-Zugangsdaten sicher in Ihren serverlosen Umgebungsparametern unter Verwendung von Tools wie Wrangler. Schreiben Sie beim Umgang mit Stream-Ausgabeereignissen robuste Frontend-Handler, um thinking_delta-Pakete herauszufiltern. Dies ist erforderlich, es sei denn, Sie möchten die Denkschritte des Modells direkt anzeigen. Überprüfen Sie schließlich die Prompt-Cache-Hit-Ratios, um zu bestätigen, dass das Caching den Token-Verbrauchs-Overhead minimiert. Um mehr über Edge-API-Designs zu erfahren, lesen Sie unser Cloudflare Workers AI-Tutorial .


Low Effort vs. High Effort im Überblick

Die Wahl eines Effort-Niveaus ist ein Kompromiss zwischen Latenz, Kosten und Antwortqualität. Die folgende Tabelle vergleicht die Dimensionen, die bei der Dimensionierung einer Anfrage am wichtigsten sind. Die Latenz- und Durchsatzwerte sind illustrativ und variieren je nach Prompt-Länge, Last und Region, aber die Beziehungen zwischen ihnen bleiben bestehen.

DimensionLow EffortHigh Effort
Zeit bis zum ersten TokenUnter einer Sekunde (illustrativ)Wächst, je mehr das Modell nachdenkt
Kosten pro AnfrageWeniger Denk-Token, daher geringere AusgabenMehr Denk-Token, abgerechnet zum Ausgabetarif
Genauigkeit bei schweren AufgabenBasislinieDeutlich höher bei Mathematik, mehrstufiger Logik und Code
Token-VorhersagbarkeitEnger und leichter vorherzusehenVariabel und größer bei schweren Prompts
Bestgeeignete WorkloadsChat, Klassifizierung, Retrieval-FormatierungDebugging, Beweise, Planung, komplexe Generierung
Konfigurationoutput_config.effort = "low"output_config.effort = "high" oder "max"

Der wesentliche Punkt ist, dass Denk-Token echte Ausgabe-Token sind. Eine Anfrage mit niedrigem Effort denkt kurz nach und berechnet größtenteils die Antwort, die sie schreibt; eine Anfrage mit hohem oder maximalem Effort kann eine große Menge an Denk-Token generieren, bevor das erste Wort der Antwort überhaupt erscheint. Das Nachdenken ist niemals abgeschaltet – Sie wählen lediglich, wie viel davon Sie aufwenden.


Wann welches Effort-Niveau verwendet werden sollte

Ein praktischer Ansatz besteht darin, jedem Aufgabentyp ein Standard-Effort-Niveau zuzuordnen und dieses nur dann zu überschreiben, wenn eine bestimmte Anfrage eindeutig mehr Spielraum benötigt. Reservieren Sie high und max Effort für Probleme, bei denen es teuer ist, eine falsche Antwort im Nachhinein zu erkennen.

AufgabentypEmpfohlener Effort
Begrüßungen, FAQ und Smalltalklow
Absichtsklassifizierung und Routinglow
Zusammenfassung kurzer Dokumentelow
Strukturierte Datenextraktionlow oder medium
Dateiübergreifende Code-Generierunghigh
Finanzielles oder mathematisches Denkenhigh oder xhigh
Fehleranalyse (Root-Cause)xhigh oder max

Wählen Sie ein niedriges Effort-Niveau, wenn die Antwort kurz und weitgehend deterministisch ist, wenn die Zeit bis zum ersten Token das Benutzererlebnis bestimmt (Live-Chat, Autovervollständigung, Formularassistenten) oder wenn Sie eine volumenstarke Workload mit geringer Marge betreiben, bei der sich jedes zusätzliche Ausgabe-Token über Millionen von Aufrufen hinweg multipliziert.

Wählen Sie ein hohes oder maximales Effort-Niveau, wenn eine einzige falsche Antwort echte Kosten verursacht – ein fehlerhaftes Migrationsskript, ein falsch berechnetes Angebot, ein unsicherer Codepfad – oder wenn die Aufgabe mehrere voneinander abhängige Schritte umfasst, die das Modell zusammenhalten muss. Dies sind die Workloads, bei denen einige Sekunden zusätzliche Latenz einen deutlichen Gewinn an Zuverlässigkeit bringen.


Praxisbeispiel: Abwägung von Latenz und Kosten

Betrachten wir einen Support-Assistenten, der 50.000 Anfragen pro Tag verarbeitet. Nehmen wir an, dass jede endgültige Antwort etwa 250 Token umfasst, dass ein low Effort-Niveau nur eine Handvoll Denk-Token hinzufügt und dass ein high Effort-Niveau bei einer typischen schweren Anfrage etwa 1.500 Denk-Token verbraucht. Jeder unten stehende Token-Preis ist illustrativ – betrachten Sie ihn als Modellierungsübung und nicht als Angebot – und nehmen Sie einen Ausgabetarif von 15 $ pro Million Token an.

Die Ausführung jeder Anfrage bei niedrigem Effort führt zu 50.000 × 250 = 12,5 Mio. Ausgabe-Token pro Tag oder etwa 188 $ pro Tag zum illustrativen Tarif. Die Ausführung jeder Anfrage bei hohem Effort berechnet stattdessen 50.000 × (1.500 + 250) = 87,5 Mio. Token pro Tag, was etwa 1.313 $ pro Tag entspricht – siebenmal mehr, wovon der größte Teil für das Durchdenken von Anfragen ausgegeben wird, die die zusätzliche Tiefe nie benötigt hätten.

Führen Sie nun eine selektive Weiterleitung ein. Angenommen, ein günstiger Klassifikator mit niedrigem Effort entscheidet, dass nur 15 % des Datenverkehrs tatsächlich komplex sind. Das Senden von 7.500 Anfragen an hohen Effort und 42.500 an niedrigen Effort ergibt 13,1 Mio. + 10,6 Mio. ≈ 23,7 Mio. Token pro Tag, was etwa 356 $ pro Tag entspricht – eine Ersparnis von ~73 % gegenüber der Ausführung von allem bei hohem Effort, während dennoch tiefes Reasoning dort angewendet wird, wo es sich bezahlt macht.

Das Latenzbild spiegelt dies wider. Bei niedrigem Effort erscheint das erste Token typischerweise in deutlich unter einer Sekunde. Bei hohem Effort generiert das Modell einen viel größeren Reasoning-Entwurf, bevor die Antwort beginnt, sodass ein interner Entwurf von 1.500 Token bei illustrativen 60 Token pro Sekunde die sichtbare Antwort um etwa 25 Sekunden verzögert. Das Streamen der thinking_delta-Blöcke in ein reduzierbares „Thinking…“-Panel ist das, was diese Wartezeit für den Endbenutzer erträglich macht.


Migration und Gesamtbetriebskosten

Wenn Sie von einem Modell mit fester Rechenleistung migrieren, besteht die größte Umstellung darin, dass die Reasoning-Tiefe jetzt ein Regler ist, den Sie pro Anfrage einstellen, und keine Pauschale, die Sie bei jedem Aufruf bezahlen. Der größte Hebel auf Ihrer Rechnung ist nicht das effort-Niveau eines einzelnen Aufrufs, sondern die Routing-Schicht, die entscheidet, welche Anfragen überhaupt ein hohes Effort-Niveau verdienen. Ein leichtgewichtiger Klassifizierungsaufruf mit niedrigem Effort – einige hundert Token –, der den teuren Aufruf mit hohem Effort vorschaltet, macht sich fast immer bezahlt.

Zwei Gewohnheiten halten die Gesamtbetriebskosten vorhersehbar. Erstens: Setzen Sie das niedrigste Effort-Niveau, das jede Aufgabenklasse zuverlässig löst, anstatt eines großzügigen globalen Standardwerts; ein überall angewendetes max-Effort-Niveau ist die häufigste Quelle für überraschende Rechnungen. Zweitens: Cachen Sie stabile System-Prompts, damit wiederholter Kontext nicht bei jedem Reasoning-Zyklus erneut berechnet wird. Zusammen verschieben Routing pro Anfrage und Prompt-Caching den Großteil der Ausgaben auf die Minderheit der Anfragen, die tatsächlich davon profitieren.


Wichtige Erkenntnisse

  • Fable 5 (claude-fable-5, 1-Mio.-Token-Kontext, 128K max. Ausgabe) hält das Nachdenken immer aktiv; Sie skalieren dessen Tiefe, anstatt es umzuschalten.
  • Konfigurieren Sie die Reasoning-Tiefe mit output_config: {effort: "low" | "medium" | "high" | "xhigh" | "max"}; budget_tokens und thinking.type „enabled“/„disabled“ geben jetzt HTTP 400 zurück.
  • Streamen Sie das Nachdenken über thinking-Content-Blöcke (thinking_delta-Deltas), um die Schritte des Modells für Endbenutzer anzuzeigen, und aktivieren Sie mit thinking: {type: "adaptive", display: "summarized"} eine lesbare Zusammenfassung.
  • Kontrollieren Sie die API-Abrechnungskosten, indem Sie das niedrigste praktikable Effort-Niveau wählen und häufig verwendete Prompts cachen.
  • Stellen Sie Ihre API-Middleware in serverlosen Edge-Netzwerken bereit, um die Transitlatenz zu reduzieren.

Häufig gestellte Fragen (FAQ)

Was ist Claude Fable 5 Reasoning? Claude Fable 5 Reasoning ist eine stets aktive Fähigkeit, bei der das Modell interne Denk-Token generiert, um komplexe logische Probleme zu lösen, bevor die endgültige Antwort ausgegeben wird. Anstatt zu versuchen, das nächste Wort sofort zu erraten, simuliert das Netzwerk einen schrittweisen Denkprozess, um architektonische, mathematische und Codierungsfehler zu beheben, und Sie skalieren über die effort-Einstellung, wie tief es nachdenkt.

Wie konfiguriere ich den Reasoning-Effort in der API? Sie konfigurieren die Reasoning-Tiefe, indem Sie output_config: { effort: "low" | "medium" | "high" | "xhigh" | "max" } im API-Anfrage-Payload übergeben. Ein niedrigeres Effort-Niveau denkt kurz nach und antwortet schneller mit weniger Token, während ein höheres Niveau tiefer nachdenkt. Der alte budget_tokens-Parameter wurde entfernt und gibt jetzt auf Fable 5 einen HTTP-400-Fehler zurück.

Werden Reasoning-Token anders abgerechnet? Nein, Reasoning-Token werden zum Standardtarif für Ausgabe-Token des Modells abgerechnet. Da diese Token Ausgabe-Rechenleistung darstellen, zählen sie direkt für Ihre API-Abrechnung, was Prompt-Caching und ein sinnvolles Effort-Niveau unerlässlich macht, um die Softwarekosten zu kontrollieren.

Wie bringe ich Fable 5 dazu, schneller zu antworten? Sie können das Reasoning nicht deaktivieren – das Nachdenken ist bei Fable 5 immer aktiv, und die Übergabe von thinking: {type: "disabled"} gibt einen HTTP-400-Fehler zurück. Um die Latenz zu reduzieren, senken Sie das Effort-Niveau mit output_config: { effort: "low" }, was die Denkphase verkürzt und die Zeit bis zum ersten Token für einfache Konversationsaufgaben minimiert.

Wie parse ich Reasoning-Token aus einem SSE-Stream in Echtzeit? Während des serverlosen SSE-Streamings kommt das Nachdenken als thinking-Content-Blöcke über content_block_delta-Ereignisse an, deren delta.type gleich thinking_delta ist; lesen Sie den Text aus delta.thinking, getrennt von der Standard-text_delta-Ausgabe. Aktivieren Sie mit thinking: {type: "adaptive", display: "summarized"} eine lesbare Zusammenfassung und stellen Sie diese Token dann je nach Frontend-UI-Präferenzen dar oder verwerfen Sie sie.