„Extended thinking" (erweitertes Denken) im manuellen Modus gibt dir direkte Kontrolle darüber, wie viel Claude denkt. Du legst bei jeder Anfrage ein Denk-Token-Budget mit thinking: {type: "enabled", budget_tokens: N} fest, und Claude denkt innerhalb dieses Budgets, bevor es mit seiner endgültigen Antwort beginnt. Der manuelle Modus bleibt nützlich, wenn deine Workload vorhersehbare Latenz oder präzise Kontrolle über die Denkkosten erfordert. Diese Seite behandelt, wie du das Budget festlegst und abstimmst, wie der manuelle Modus mit verschachteltem Denken und Prompt-Caching interagiert und wie du zu adaptivem Denken migrierst.
Wie das Denken selbst funktioniert, einschließlich Denkblöcken und der Antwortstruktur, dem display-Parameter, Streaming, Denken mit Tool-Nutzung und Verschlüsselung, findest du in der Übersicht zum Denken.
Die Verfügbarkeit von erweitertem Denken pro Modell, einschließlich der Modelle, bei denen erweitertes Denken der einzige Modus ist, ist in der Konfigurationstabelle pro Modell aufgeführt.
Hier ist ein Beispiel für die Verwendung von erweitertem Denken 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 Denkblö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 Denken zu aktivieren, füge ein thinking-Objekt hinzu, bei dem type auf enabled gesetzt ist, und gib einen budget_tokens-Wert an.
Der budget_tokens-Parameter 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 für komplexe Probleme ermöglichen.
budget_tokens muss diese Bedingungen erfüllen:
max_tokens. Denk-Token zählen zum max_tokens-Limit für den Turn, daher muss das Budget Platz für die endgültige Antwort lassen. Die einzige Ausnahme ist verschachteltes Denken, bei dem budget_tokens max_tokens überschreiten kann, da das Budget alle Denkblöcke innerhalb eines Assistenten-Turns umfasst.budget_tokens kleiner als max_tokens sein muss, kann erweitertes Denken nicht mit max_tokens: 0 (Cache-Pre-Warming) kombiniert werden.Das Budget ist ein Zielwert und keine strikte Obergrenze. Die tatsächliche Token-Nutzung variiert je nach Aufgabe, und Claude kann das Denken deutlich vor Ausschöpfung des Budgets beenden; max_tokens bleibt die harte Obergrenze für die Gesamtausgabe.
Bei Claude Opus 4.5, dem einzigen Modell mit ausschließlich erweitertem Denken, das Effort unterstützt, formt Effort die Gesamtantwort, während budget_tokens die Denktiefe festlegt; setze beide.
So stimmst du das Budget ab:
Um zu verfolgen, was dich ein Budget tatsächlich kostet, überwache das Feld usage.output_tokens_details.thinking_tokens in der Antwort, das angibt, wie viele der abgerechneten Output-Token internes Denken 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 Denken.
„Interleaved thinking" (verschachteltes Denken) lässt Claude zwischen Tool-Aufrufen innerhalb eines einzelnen Assistenten-Turns denken und über jedes Tool-Ergebnis nachdenken, bevor es entscheidet, was als Nächstes zu tun ist. Für das Konzept, die Turn-Struktur und das Verhalten auf Modellen mit adaptivem Denken siehe verschachteltes Denken in der Übersicht zum Denken. Dieser Abschnitt behandelt, wie du es aktivierst, wenn du manuelles Denken mit type: "enabled" verwendest.
Bei Claude Opus 4.5, Claude Sonnet 4.5 und früheren Claude-4-Modellen (Claude Opus 4.1, Claude Opus 4 und Claude Sonnet 4) füge den Beta-Header interleaved-thinking-2025-05-14 zu deiner API-Anfrage hinzu.
Die 4.6-Generation teilt sich im manuellen Modus auf:
type: "enabled" ist noch funktional, aber veraltet. Bevorzuge adaptives Denken, das automatisch ohne Header verschachtelt.thinking: {type: "adaptive"}, wenn du bei diesem Modell Denken zwischen Tool-Aufrufen benötigst.Claude Haiku 4.5 unterstützt kein verschachteltes Denken. In der Claude API wird der Beta-Header akzeptiert, aber ignoriert.
Zwei weitere Überlegungen für verschachteltes Denken im manuellen Modus:
budget_tokens kann hier max_tokens überschreiten; die Budget-Regeln erklären diese Ausnahme.Wie Plattformen den Beta-Header behandeln, unterscheidet sich. Die Claude API und Claude Platform auf AWS akzeptieren interleaved-thinking-2025-05-14 bei jedem Modell und ignorieren ihn, wo er nicht unterstützt wird. Akzeptanz ist nicht dasselbe wie Wirkung: Bei Modellen, die type: "enabled" ablehnen (4.7 und später) oder kein verschachteltes Denken im manuellen Modus haben (Claude Opus 4.6), hat der Header keine Wirkung im manuellen Modus; adaptives Denken verschachtelt dort automatisch.
Partner-betriebene Plattformen (Amazon Bedrock und Google Cloud) akzeptieren den Header ebenfalls bei jedem Modell, ohne einen Fehler zurückzugeben, und ignorieren ihn bei Modellen, die verschachteltes Denken nicht unterstützen.
Die allgemeinen Regeln zur Turn-Struktur, einschließlich der Single-Turn-Tool-Nutzungs-Schleife, der Behandlung von Konflikten mitten im Turn und dem Umschalten des Denkens zwischen Turns, findest du unter Denken mit Tool-Nutzung.
Der manuelle Modus fügt eine Anforderung hinzu: Der letzte Assistenten-Turn einer Anfrage mit aktiviertem Denken muss mit einem Denkblock beginnen (adaptives Denken hebt diese Anforderung auf). Das Ändern der Denk-Konfiguration zwischen Turns macht außerdem das Prompt-Caching ungültig; siehe den folgenden Abschnitt.
Der manuelle Modus fügt eine Regel zum modusneutralen Caching-Verhalten hinzu, das unter Denken und Prompt-Caching beschrieben ist: Das Ändern von budget_tokens zwischen Anfragen macht Cache-Breakpoints ungültig, genau wie das Wechseln des Denkmodus, da der Budget-Wert in den Prompt gerendert wird. Breakpoints auf Nachrichtenebene verfehlen nach einer Budget-Änderung immer; ob Tool- und System-Prompt-Breakpoints ebenfalls verfehlen, hängt davon ab, wo das Modell die Konfiguration rendert.
In der Praxis wähle ein Budget und halte es für die Dauer einer gecachten Konversation stabil. Wenn du eine Multi-Turn-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:
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. Für eine ausführbare Version desselben Experiments im adaptiven Modus, bei dem die Effort-Stufe die Cache-Rolle spielt, die budget_tokens hier spielt, siehe Prompt-Caching auf der Steuerungsseite.
Das meiste Denkverhalten ist modusneutral und wird einmal auf der Seite Denken dokumentiert. Alles dort gilt auch im manuellen Modus:
Wenn dein Modell nur erweitertes Denken unterstützt (Claude Sonnet 4.5, Claude Opus 4.5, Claude Haiku 4.5 und frühere Claude-4-Modelle), ist jetzt keine Aktion erforderlich: Adaptives Denken 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 Denken unterstützt, und wende dann die folgende Zuordnung an.
Du musst von type: "enabled" migrieren, wenn:
budget_tokens veraltet ist.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. Mit adaptivem Denken entscheidet Claude bei jeder Anfrage, ob und wie viel es denkt, und bei niedrigeren Effort-Einstellungen kann es das Denken bei einfachen Eingaben vollständig überspringen. Du kannst nach der Migration auch den Beta-Header interleaved-thinking-2025-05-14 entfernen: Adaptives Denken verschachtelt automatisch, und die Claude API ignoriert den Header bei diesen Modellen. Auch die Erhaltung von Denkblöcken ändert sich: Claude Opus 4.5 und Modelle mit Nummer 4.6 und höher behalten die Denkblöcke vorheriger Turns im Kontext und rechnen sie als Input ab, während Claude Sonnet 4.5, Claude Haiku 4.5 und frühere Modelle sie entfernt haben; siehe Erhaltung von Denkblöcken nach Modell.
Das Wechseln des Modus ist eine Änderung der Denk-Konfiguration, daher macht die erste Anfrage nach dem Wechsel Cache-Breakpoints ungültig, wie unter Prompt-Caching im manuellen Modus beschrieben.
Für vollständige Anleitungen siehe adaptives Denken, Effort und den Modell-Migrationsleitfaden.
Erfahre, wie Denken funktioniert: Blöcke, Anzeige, Streaming und Tool-Nutzung.
Lass Claude entscheiden, wann und wie viel es bei jeder Anfrage denkt.
Erhalte Denkblöcke und verwalte das Denken über Tool-Aufrufe und Turns hinweg.
Was this page helpful?