Claude Platform Docs
MessagesNachdenken

Erweitertes Nachdenken

Konfiguriere manuelles erweitertes Nachdenken mit einem festen budget_tokens-Budget auf Claude-Modellen, die es unterstützen, und migriere zu adaptivem Nachdenken.

„Extended thinking“ (erweitertes Nachdenken) im manuellen Modus gibt dir direkte Kontrolle darüber, wie viel Claude nachdenkt. Du legst bei jeder Anfrage mit thinking: {type: "enabled", budget_tokens: N} ein Token-Budget für das Nachdenken fest, und Claude denkt im Rahmen dieses Budgets nach, bevor es mit seiner endgültigen Antwort beginnt. Der manuelle Modus bleibt nützlich, wenn dein Workload vorhersagbare Latenz oder präzise Kontrolle über die Denkkosten erfordert. Diese Seite behandelt, wie du das Budget festlegst und abstimmst, wie der manuelle Modus mit „interleaved thinking“ (verschränktem Nachdenken) und „prompt caching“ (Prompt-Caching) zusammenspielt und wie du zu adaptivem Nachdenken migrierst.

Um zu erfahren, wie das Nachdenken selbst funktioniert, einschließlich Thinking-Blöcken und der Antwortstruktur, des display-Parameters, Streaming, Nachdenken mit Tool-Nutzung und Verschlüsselung, siehe die Übersicht zum Nachdenken.

Unterstützte Modelle

Die Verfügbarkeit von erweitertem Nachdenken pro Modell, einschließlich der Modelle, bei denen erweitertes Nachdenken der einzige Modus ist, ist in der Konfigurationstabelle pro Modell aufgeführt.

So verwendest du erweitertes Nachdenken

Hier ist ein Beispiel für die Verwendung von erweitertem Nachdenken in der Messages API:

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=16000,
    thinking={"type": "enabled", "budget_tokens": 10000},
    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 Textblöcke
for block in response.content:
    match block.type:
        case "thinking":
            print(f"\nThinking summary: {block.thinking}")
        case "text":
            print(f"\nResponse: {block.text}")

Um manuelles erweitertes Nachdenken zu aktivieren, füge ein thinking-Objekt hinzu, bei dem type auf enabled gesetzt ist und das einen budget_tokens-Wert enthält.

Der Parameter budget_tokens legt ein Ziel dafür fest, wie viele Token Claude für seinen internen Denkprozess verwenden kann. Größere Budgets können die Antwortqualität verbessern, indem sie eine gründlichere Analyse komplexer Probleme ermöglichen.

Budgetregeln und Abstimmung

budget_tokens muss diese Bedingungen erfüllen:

  • Minimum von 1.024 Token. Die API lehnt kleinere Werte ab.
  • Kleiner als max_tokens. Thinking-Token zählen zum max_tokens-Limit des Turns, daher muss das Budget Platz für die endgültige Antwort lassen. Die einzige Ausnahme ist Interleaved Thinking, bei dem budget_tokens max_tokens überschreiten kann, weil sich das Budget über alle Thinking-Blöcke innerhalb eines Assistant-Turns erstreckt.
  • Kein Vorwärmen des Caches. Da budget_tokens kleiner als max_tokens sein muss, kann erweitertes Nachdenken nicht mit max_tokens: 0 (Vorwärmen des Caches) kombiniert werden.

Das Budget ist ein Zielwert und keine strikte Obergrenze. Der tatsächliche Token-Verbrauch variiert je nach Aufgabe, und Claude kann das Nachdenken deutlich vor Ausschöpfung des Budgets beenden; max_tokens bleibt die harte Obergrenze für die gesamte Ausgabe.

Auf Claude Opus 4.5, dem einzigen Modell mit ausschließlich erweitertem Nachdenken, das Effort unterstützt, formt Effort die Gesamtantwort, während budget_tokens die Denktiefe festlegt; setze beides.

So stimmst du das Budget ab:

  • Passe den Ausgangspunkt an die Aufgabe an. Beginne bei einfachen Aufgaben nahe dem Minimum von 1.024 Token und erhöhe schrittweise, um den optimalen Bereich für deinen Anwendungsfall zu finden. Beginne bei komplexen Aufgaben mit einem größeren Budget von 16.000 Token oder mehr und passe es an deine Latenz- und Qualitätsanforderungen an. Höhere Budgets ermöglichen umfassenderes Nachdenken, mit abnehmendem Grenznutzen, der von der Aufgabe abhängt, und auf Kosten erhöhter Latenz. Teste bei kritischen Aufgaben verschiedene Einstellungen, um die richtige Balance zu finden.
  • Verwende für Denkbudgets über 32k die Batch-Verarbeitung, um Netzwerkprobleme zu vermeiden. Wenn du das Modell dazu bringst, über 32k Token hinaus nachzudenken, entstehen lang laufende Anfragen, die auf System-Timeouts und Limits für offene Verbindungen stoßen können.

Um nachzuverfolgen, was ein Budget dich tatsächlich kostet, überwache das Feld usage.output_tokens_details.thinking_tokens in der Antwort, das angibt, wie viele der abgerechneten Ausgabe-Token internes Nachdenken waren. Beim Streaming erscheint diese Aufschlüsselung nur im abschließenden message_delta-Event.

Wenn du bereit bist, von manuellen Budgets wegzugehen, siehe Migration zu adaptivem Nachdenken.

Interleaved Thinking im manuellen Modus

Interleaved Thinking ermöglicht es Claude, innerhalb eines einzelnen Assistant-Turns zwischen Tool-Aufrufen nachzudenken und über jedes Tool-Ergebnis zu reflektieren, bevor es entscheidet, was als Nächstes zu tun ist. Zum Konzept, zur Turn-Struktur und zum Verhalten auf Modellen mit adaptivem Nachdenken siehe Interleaved Thinking in der Übersicht zum Nachdenken. Dieser Abschnitt behandelt, wie du es aktivierst, wenn du manuelles Nachdenken mit type: "enabled" verwendest.

Füge bei Claude Opus 4.5, Claude Sonnet 4.5 und früheren Claude-4-Modellen den Beta-Header interleaved-thinking-2025-05-14 zu deiner API-Anfrage hinzu.

Die 4.6-Generation teilt sich im manuellen Modus auf:

  • Claude Sonnet 4.6: Der Beta-Header mit manuellem type: "enabled" funktioniert weiterhin, ist aber abgekündigt. Bevorzuge adaptives Nachdenken, das automatisch und ohne Header verschränkt.
  • Claude Opus 4.6: Der manuelle Modus hat überhaupt kein Interleaved Thinking. Nur sein adaptiver Modus verschränkt, wechsle also zu thinking: {type: "adaptive"}, wenn du auf diesem Modell Nachdenken zwischen Tool-Aufrufen benötigst.

Claude Haiku 4.5 unterstützt kein Interleaved Thinking. Auf der Claude API wird der Beta-Header akzeptiert, aber ignoriert.

Zwei weitere Überlegungen zu Interleaved Thinking im manuellen Modus:

Wie Plattformen den Beta-Header behandeln, unterscheidet sich. Die Claude API und Claude Platform on AWS akzeptieren interleaved-thinking-2025-05-14 auf jedem Modell und ignorieren ihn, wo er nicht unterstützt wird. Akzeptanz ist nicht dasselbe wie Wirkung: Auf Modellen, die type: "enabled" ablehnen (4.7 und später) oder kein Interleaving im manuellen Modus haben (Claude Opus 4.6), hat der Header keine Wirkung im manuellen Modus; adaptives Nachdenken verschränkt dort automatisch.

Von Partnern betriebene Plattformen (Amazon Bedrock und Google Cloud) akzeptieren den Header ebenfalls auf jedem Modell, ohne einen Fehler zurückzugeben, und ignorieren ihn auf Modellen, die Interleaved Thinking nicht unterstützen.

Turn-Struktur im manuellen Modus

Die allgemeinen Regeln zur Turn-Struktur, einschließlich der Tool-Nutzungs-Schleife innerhalb eines Turns, der Behandlung von Konflikten mitten im Turn und des Umschaltens des Nachdenkens zwischen Turns, findest du unter Nachdenken mit Tool-Nutzung.

Der manuelle Modus fügt eine Anforderung hinzu: Der letzte Assistant-Turn einer Anfrage mit aktiviertem Nachdenken muss mit einem Thinking-Block beginnen (adaptives Nachdenken lässt diese Anforderung fallen). Das Ändern der Denkkonfiguration zwischen Turns macht außerdem das Prompt-Caching ungültig; siehe den folgenden Abschnitt.

Prompt-Caching im manuellen Modus

Der manuelle Modus fügt eine Regel zusätzlich zum modusneutralen Caching-Verhalten hinzu, das unter Nachdenken und Prompt-Caching beschrieben ist: Das Ändern von budget_tokens zwischen Anfragen macht Cache-Breakpoints ungültig, genau wie das Wechseln des Denkmodus, weil der Budgetwert in den Prompt gerendert wird. Breakpoints auf Nachrichtenebene verfehlen nach einer Budgetänderung immer; ob auch Tool- und System-Prompt-Breakpoints verfehlen, hängt davon ab, wo das Modell die Konfiguration rendert.

Wähle in der Praxis ein Budget und halte es für die Lebensdauer einer gecachten Konversation stabil. Wenn du eine mehrturnige Konversation mit Caching auf Nachrichtenebene auf Claude Sonnet 4.6 ausführst und das Budget bei der dritten Anfrage von 4.000 auf 8.000 Token änderst, zeigt sich die Invalidierung direkt:

Output
First request - establishing cache
First response usage: { cache_creation_input_tokens: 1370, cache_read_input_tokens: 0, input_tokens: 17, output_tokens: 700 }

Second request - same thinking parameters (cache hit expected)
Second response usage: { cache_creation_input_tokens: 0, cache_read_input_tokens: 1370, input_tokens: 303, output_tokens: 874 }

Third request - different thinking budget (cache miss expected)
Third response usage: { cache_creation_input_tokens: 1370, cache_read_input_tokens: 0, input_tokens: 747, output_tokens: 619 }

Die dritte Anfrage erstellt den Cache neu (cache_creation_input_tokens=1370, cache_read_input_tokens=0), weil sich das Budget zwischen den Anfragen geändert hat. Eine ausführbare Version desselben Experiments im adaptiven Modus, bei dem die Effort-Stufe die Cache-Rolle spielt, die hier budget_tokens spielt, findest du unter Prompt-Caching auf der Seite zur Steuerung des Nachdenkens.

Gemeinsame Mechanik

Das meiste Denkverhalten ist modusneutral und einmalig auf der Seite Nachdenken dokumentiert. Alles dort gilt auch im manuellen Modus:

Migration zu adaptivem Nachdenken

Wenn dein Modell nur erweitertes Nachdenken unterstützt (Claude Sonnet 4.5, Claude Opus 4.5, Claude Haiku 4.5 und frühere Claude-4-Modelle), ist jetzt keine Aktion nötig: Adaptives Nachdenken ist dort nicht verfügbar, und type: "adaptive" gibt einen 400-Fehler zurück. Behalte budget_tokens bei, bis du zu einem Modell wechselst, das adaptives Nachdenken unterstützt, und wende dann die folgende Zuordnung an.

Du musst von type: "enabled" wegmigrieren, wenn:

  • Du Claude Opus 4.6 oder Claude Sonnet 4.6 verwendest, bei denen budget_tokens abgekündigt ist.
  • Du Claude 4.7 oder ein neueres Modell verwendest, etwa Claude Opus 5.5, Claude Sonnet 5, Claude Sonnet 5.5 oder Claude Fable 5.1, bei denen type: "enabled" einen 400-Fehler zurückgibt.

Die Zuordnung ist klein: Entferne budget_tokens, setze thinking: {type: "adaptive"} und steuere die Denktiefe mit output_config: {effort: ...} statt mit einem Token-Budget.

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 16000,
  "thinking": {
    "type": "enabled",
    "budget_tokens": 10000
  }
}

wird zu:

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 16000,
  "thinking": {
    "type": "adaptive"
  },
  "output_config": {
    "effort": "high"
  }
}

effort: "high" entspricht dem API-Standard; es erscheint hier nur, um zu zeigen, wo die Tiefensteuerung jetzt liegt, und das Weglassen führt zu identischem Verhalten.

Erwarte einen Verhaltensunterschied, nicht nur eine Syntaxänderung. Mit einem festen Budget denkt Claude bei jeder Anfrage nach. Mit adaptivem Nachdenken entscheidet Claude bei jeder Anfrage, ob und wie viel es nachdenkt, und bei niedrigeren Effort-Einstellungen kann es das Nachdenken bei einfachen Eingaben ganz überspringen. Du kannst nach der Migration auch den Beta-Header interleaved-thinking-2025-05-14 entfernen: Adaptives Nachdenken verschränkt automatisch, und die Claude API ignoriert den Header auf diesen Modellen. Auch die Beibehaltung von Thinking-Blöcken ändert sich: Claude Opus 4.5 und Modelle mit der Nummer 4.6 und höher behalten die Thinking-Blöcke früherer Turns im Kontext und rechnen sie als Eingabe ab, während Claude Sonnet 4.5, Claude Haiku 4.5 und frühere Modelle sie entfernt haben; siehe Beibehaltung von Thinking-Blöcken nach Modell.

Das Wechseln des Modus ist eine Änderung der Denkkonfiguration, daher macht die erste Anfrage nach dem Wechsel Cache-Breakpoints ungültig, wie unter Prompt-Caching im manuellen Modus beschrieben.

Vollständige Anleitungen findest du unter adaptives Nachdenken, Effort und im Leitfaden zur Modellmigration.

Nächste Schritte

Erfahre, wie Nachdenken funktioniert: Blöcke, Anzeige, Streaming und Tool-Nutzung.

Lass Claude bei jeder Anfrage entscheiden, wann und wie viel es nachdenkt.

Behalte Thinking-Blöcke bei und verwalte das Nachdenken über Tool-Aufrufe und Turns hinweg.

Was this page helpful?