Diese Funktion ist für Zero Data Retention (ZDR) qualifiziert. Wenn deine Organisation eine ZDR-Vereinbarung hat, werden Daten, die über diese Funktion gesendet werden, nicht gespeichert, nachdem die API-Antwort zurückgegeben wurde.
Adaptives Denken ist die empfohlene Art, erweitertes Denken mit Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 5 und Claude Sonnet 4.6 zu verwenden, und der einzige Denkmodus auf Claude Fable 5 und Claude Mythos 5. Anstatt manuell ein Token-Budget für das Denken festzulegen, lässt adaptives Denken Claude dynamisch bestimmen, wann und wie viel erweitertes Denken basierend auf der Komplexität jeder Anfrage verwendet wird. Modellspezifische Standardwerte und Einschränkungen sind unter Unterstützte Modelle aufgeführt.
Adaptives Denken kann für viele Workloads eine bessere Leistung erzielen als erweitertes Denken mit einem festen budget_tokens, insbesondere bei Workloads, die triviale und komplexe Anfragen mischen, sowie bei langfristigen agentischen Workflows. Es ist kein Beta-Header erforderlich.
Wenn dein Workload vorhersehbare Latenz oder präzise Kontrolle über die Denkkosten erfordert, ist erweitertes Denken mit budget_tokens auf Claude Opus 4.6 und Claude Sonnet 4.6 weiterhin funktionsfähig, aber veraltet und wird nicht mehr empfohlen. Siehe den Hinweis zur Veraltung unter Unterstützte Modelle.
Adaptives Denken wird auf den folgenden Modellen unterstützt:
thinking: {type: "disabled"} wird nicht unterstützt. Keines der beiden Modelle ist unter Zero Data Retention verfügbar.thinking: {type: "disabled"} wird nicht unterstützt, und manuelles {type: "enabled", budget_tokens: N} wird weiterhin akzeptiert.thinking: {type: "adaptive"} in deiner Anfrage; manuelles thinking: {type: "enabled"} wird mit einem 400-Fehler abgelehnt.thinking: {type: "adaptive"} in deiner Anfrage; manuelles thinking: {type: "enabled"} wird mit einem 400-Fehler abgelehnt.thinking: {type: "adaptive"}; manuelles {type: "enabled", budget_tokens: N} wird weiterhin akzeptiert, ist aber veraltet.thinking: {type: "disabled"}, um es zu deaktivieren. Manuelles {type: "enabled"} wird mit einem 400-Fehler abgelehnt.thinking: {type: "adaptive"}; manuelles {type: "enabled", budget_tokens: N} wird weiterhin akzeptiert, ist aber veraltet.thinking.type: "enabled" und budget_tokens sind auf Opus 4.6 und Sonnet 4.6 veraltet und werden in einer zukünftigen Modellversion entfernt. Verwende stattdessen thinking.type: "adaptive" mit dem effort-Parameter. Bestehende budget_tokens-Konfigurationen sind weiterhin funktionsfähig, werden aber nicht mehr empfohlen; plane eine Migration.
Ältere Modelle wie Claude Sonnet 4.5 und Claude Opus 4.5 unterstützen kein adaptives Denken und erfordern thinking.type: "enabled" mit budget_tokens.
Im adaptiven Modus ist das Denken für das Modell optional. Claude bewertet die Komplexität jeder Anfrage und bestimmt, ob und wie viel erweitertes Denken verwendet wird. Auf der Standard-effort-Stufe (high) denkt Claude fast immer. Auf niedrigeren Effort-Stufen kann Claude das Denken bei einfacheren Problemen überspringen.
Adaptives Denken aktiviert außerdem automatisch interleaved thinking (verschachteltes Denken). Das bedeutet, dass Claude zwischen Tool-Aufrufen denken kann, was es besonders effektiv für agentische Workflows macht.
Setze thinking.type in deiner API-Anfrage auf "adaptive". Die Beispiele setzen außerdem thinking.display auf "summarized", um den Denktext sichtbar zu machen: Bei den neuesten Modellen ist der Standardwert für display "omitted", wodurch Denkblöcke mit einem leeren thinking-Feld zurückgegeben werden. Siehe Steuerung der Denkanzeige für Details.
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
thinking={"type": "adaptive", "display": "summarized"},
messages=[
{
"role": "user",
"content": "Explain why the sum of two even numbers is always even.",
}
],
)
for block in response.content:
if block.type == "thinking":
print(f"\nThinking: {block.thinking}")
elif block.type == "text":
print(f"\nResponse: {block.text}")Denk-Token zählen zu max_tokens, also setze den Wert hoch genug, um Platz sowohl für das Denken als auch für den Antworttext zu lassen. Siehe Kostenkontrolle.
Du kannst adaptives Denken mit dem Effort-Parameter kombinieren, um zu steuern, wie viel Claude denkt. Die Effort-Stufe dient als weiche Orientierung für Claudes Denkzuweisung:
| Effort-Stufe | Denkverhalten |
|---|---|
max | Claude denkt immer, ohne Einschränkungen der Denktiefe. Verfügbar auf allen Modellen, die adaptives Denken unterstützen. |
xhigh | Claude denkt immer gründlich mit erweiterter Exploration. Verfügbar auf Claude Fable 5, Claude Mythos 5, Claude Opus 4.8, Claude Opus 4.7 und Claude Sonnet 5. |
high (Standard) | Claude denkt fast immer. Bietet tiefgehendes Schlussfolgern bei komplexen Aufgaben. |
medium | Claude verwendet moderates Denken. Kann das Denken bei einfachen Anfragen überspringen. |
low | Claude minimiert das Denken. Überspringt das Denken bei einfachen Aufgaben, bei denen Geschwindigkeit am wichtigsten ist. |
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "medium"},
messages=[{"role": "user", "content": "What is the capital of France?"}],
)
for block in response.content:
if block.type == "text":
print(block.text)Adaptives Denken funktioniert mit Streaming. Denkblöcke werden über thinking_delta-Events gestreamt, genau wie im manuellen Denkmodus. Wie in den vorherigen Beispielen macht thinking.display: "summarized" den gestreamten Denktext sichtbar:
client = anthropic.Anthropic()
with client.messages.stream(
model="claude-opus-4-8",
max_tokens=16000,
thinking={"type": "adaptive", "display": "summarized"},
messages=[
{
"role": "user",
"content": "What is the greatest common divisor of 1071 and 462?",
}
],
) as stream:
for event in stream:
if event.type == "content_block_start":
print(f"\nStarting {event.content_block.type} block...")
elif event.type == "content_block_delta":
if event.delta.type == "thinking_delta":
print(event.delta.thinking, end="", flush=True)
elif event.delta.type == "text_delta":
print(event.delta.text, end="", flush=True)| Modus | Konfiguration | Verfügbarkeit | Wann verwenden |
|---|---|---|---|
| Adaptiv | thinking: {type: "adaptive"} | Claude Fable 5 (immer aktiviert), Claude Mythos 5 (immer aktiviert), Claude Mythos Preview (Standard), Claude Opus 4.8 (einziger Modus), Claude Opus 4.7 (einziger Modus), Claude Opus 4.6, Claude Sonnet 5 (Standard) und Claude Sonnet 4.6 | Claude bestimmt, wann und wie viel erweitertes Denken verwendet wird. Verwende effort zur Steuerung. |
| Manuell | thinking: {type: "enabled", budget_tokens: N} | Alle Modelle außer Claude Fable 5, Claude Mythos 5, Claude Sonnet 5, Claude Opus 4.8 und Claude Opus 4.7 (mit einem 400-Fehler abgelehnt). Veraltet auf Opus 4.6 und Sonnet 4.6 (erwäge stattdessen den adaptiven Modus). | Wenn du präzise Kontrolle über den Verbrauch von Denk-Token benötigst. |
| Deaktiviert | thinking: {type: "disabled"} | Alle Modelle außer Claude Fable 5, Claude Mythos 5 und Claude Mythos Preview. Auf Claude Sonnet 5 übergib {type: "disabled"} explizit (das Weglassen von thinking führt standardmäßig zu adaptiv). | Wenn du kein erweitertes Denken benötigst und die niedrigste Latenz möchtest. |
Modellspezifische Standardwerte und Einschränkungen sind unter Unterstützte Modelle aufgeführt. Modelle, die älter sind als die aufgeführten, akzeptieren nur type: "enabled" mit budget_tokens, sofern sie erweitertes Denken überhaupt unterstützen.
Verfügbarkeit von Interleaved Thinking nach Modus:
interleaved-thinking-2025-05-14.Bei der Verwendung von adaptivem Denken müssen vorherige Assistant-Turns nicht mit Denkblöcken beginnen. Dies ist flexibler als der manuelle Modus, bei dem die API erzwingt, dass Turns mit aktiviertem Denken mit einem Denkblock beginnen.
Unabhängig davon lehnen Claude Fable 5, Claude Mythos 5, Claude Mythos Preview, Claude Opus 4.8, Claude Opus 4.7 und Claude Sonnet 5 nicht-standardmäßige Werte für temperature, top_p und top_k mit einem 400-Fehler ab. Dies gilt für jede Anfrage an diese Modelle, unabhängig davon, ob das Denken aktiv ist.
Aufeinanderfolgende Anfragen mit adaptive-Denken bewahren Prompt-Cache-Breakpoints. Das Wechseln zwischen den Denkmodi adaptive und enabled/disabled bricht jedoch Cache-Breakpoints für Nachrichten. System-Prompts und Tool-Definitionen bleiben unabhängig von Moduswechseln im Cache.
Das Auslöseverhalten des adaptiven Denkens ist über Prompts steuerbar. Wenn Claude häufiger oder seltener denkt, als du möchtest, kannst du deinem System-Prompt eine Anweisung hinzufügen:
Extended thinking adds latency and should only be used when it
will meaningfully improve answer quality, typically for problems
that require multi-step reasoning. When in doubt, respond directly.Um stattdessen das Denken zu fördern, verwende eine Formulierung wie:
This task involves multi-step reasoning. Think carefully before responding.Die Wirksamkeit der Steuerung kann von der genauen Formulierung abhängen. Wenn eine Formulierung nicht das gewünschte Verhalten erzeugt, probiere eine direktere Variante.
Du kannst das Denken auch pro Nachricht über den User-Turn steuern. Das Anhängen von "Please think hard before responding." an eine User-Nachricht ermutigt Claude, in diesem Turn zu denken; "Answer directly without deliberating." unterdrückt es. Dies funktioniert unabhängig vom System-Prompt und ist nützlich, wenn nur einige Anfragen in einer Konversation erweitertes Schlussfolgern rechtfertigen.
Claude dazu zu steuern, seltener zu denken, kann die Qualität bei Aufgaben verringern, die vom Schlussfolgern profitieren. Miss die Auswirkungen auf deine spezifischen Workloads, bevor du Prompt-basierte Feinabstimmung in die Produktion bringst. Erwäge, zuerst mit niedrigeren Effort-Stufen zu testen.
Verwende max_tokens als harte Obergrenze für die gesamte Ausgabe (Denken + Antworttext). Der effort-Parameter bietet zusätzliche weiche Orientierung dafür, wie viel Denken Claude zuweist. Zusammen geben sie dir effektive Kontrolle über die Kosten.
Auf den Effort-Stufen high und max kann Claude ausführlicher denken und das max_tokens-Budget mit höherer Wahrscheinlichkeit ausschöpfen. Wenn du stop_reason: "max_tokens" in Antworten beobachtest, erwäge, max_tokens zu erhöhen, um dem Modell mehr Raum zu geben, oder die Effort-Stufe zu senken.
Die folgenden Konzepte gelten für alle Modelle, die erweitertes Denken unterstützen, unabhängig davon, ob du den adaptiven oder manuellen Modus verwendest.
Wenn erweitertes Denken aktiviert ist, gibt die Messages API für Claude 4-Modelle eine Zusammenfassung von Claudes vollständigem Denkprozess zurück. Zusammengefasstes Denken bietet die vollen Intelligenzvorteile des erweiterten Denkens und verhindert gleichzeitig Missbrauch. Dies ist das Standardverhalten bei Claude 4-Modellen, wenn das Feld display in der Thinking-Konfiguration nicht gesetzt oder auf "summarized" gesetzt ist. Bei Claude Fable 5, Claude Mythos 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7 und Claude Mythos Preview ist display stattdessen standardmäßig auf "omitted" gesetzt, sodass du display: "summarized" explizit setzen musst, um zusammengefasstes Denken zu erhalten.
Hier sind einige wichtige Überlegungen zum zusammengefassten Denken:
In seltenen Fällen, in denen du Zugriff auf die vollständige Thinking-Ausgabe für Claude 4-Modelle benötigst, kontaktiere den Anthropic-Vertrieb.
Das Feld display in der Thinking-Konfiguration steuert, wie Thinking-Inhalte in API-Antworten zurückgegeben werden. Es akzeptiert zwei Werte:
"summarized": Thinking-Blöcke enthalten zusammengefassten Thinking-Text. Siehe Zusammengefasstes Thinking für Details. Dies ist die Standardeinstellung bei Claude Opus 4.6, Claude Sonnet 4.6 und früheren Claude 4-Modellen."omitted": Thinking-Blöcke werden mit einem leeren thinking-Feld zurückgegeben. Das signature-Feld enthält weiterhin das verschlüsselte vollständige Thinking für die Kontinuität über mehrere Turns hinweg (siehe Thinking-Verschlüsselung). Dies ist die Standardeinstellung bei Claude Fable 5, Claude Mythos 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7 und Claude Mythos Preview.Die Einstellung display: "omitted" ist nützlich, wenn deine Anwendung den Nutzern keine Thinking-Inhalte anzeigt. Der Hauptvorteil ist eine schnellere Zeit bis zum ersten Text-Token beim Streaming: Der Server überspringt das Streaming der Thinking-Tokens vollständig und liefert nur die Signatur, sodass das Streaming der endgültigen Textantwort früher beginnt.
Hier sind einige wichtige Überlegungen zum ausgelassenen Thinking:
signature, um das ursprüngliche Thinking für die Prompt-Konstruktion zu rekonstruieren (siehe Thinking-Blöcke beibehalten). Jeglicher Text, den du im thinking-Feld eines zurückgesendeten ausgelassenen Blocks platzierst, wird ignoriert.display ist ungültig mit thinking.type: "disabled" (es gibt nichts anzuzeigen).thinking.type: "adaptive" verwendest und das Modell das Thinking für eine einfache Anfrage überspringt, wird unabhängig von display kein Thinking-Block erzeugt.Das signature-Feld ist identisch, unabhängig davon, ob display auf "summarized" oder "omitted" gesetzt ist. Das Wechseln der display-Werte zwischen Turns in einer Konversation wird unterstützt.
Die display-Einstellung steuert nur die Sichtbarkeit. Bei jeder Einstellung findet das Denken statt und wird gleich abgerechnet.
Der Standardwert für thinking.display hängt vom Modell ab:
"omitted". Denkblöcke erscheinen weiterhin im Antwort-Stream, aber ihr thinking-Feld ist leer, es sei denn, du aktivierst es explizit. Dies ist eine stille Änderung gegenüber Claude Opus 4.6, wo der Standard "summarized" war."summarized". Die lesbare Zusammenfassung erscheint ohne explizite Aktivierung.Um zusammengefassten Denktext auf Modellen zu erhalten, bei denen der Standard "omitted" ist, setze thinking.display explizit auf "summarized":
thinking = {
"type": "adaptive",
"display": "summarized",
}Für Codebeispiele und Streaming-Verhalten mit display: "omitted" siehe Steuerung der Denkanzeige auf der Seite zum erweiterten Denken. Die dortigen Beispiele verwenden type: "enabled"; mit adaptivem Denken verwende:
thinking = {"type": "adaptive", "display": "omitted"}Der vollständige Denkinhalt wird verschlüsselt und im Feld signature zurückgegeben. Dieses Feld wird verwendet, um zu verifizieren, dass die Denkblöcke von Claude generiert wurden, wenn sie an die API zurückgegeben werden.
Es ist nur dann zwingend erforderlich, Denkblöcke zurückzusenden, wenn du Tools mit erweitertem Denken verwendest. Andernfalls kannst du Denkblöcke aus vorherigen Turns weglassen. Wenn du sie zurückgibst, hängt es vom Modell ab, ob die API sie beibehält oder entfernt: Opus 4.5+ und Sonnet 4.6+ behalten sie standardmäßig im Kontext; frühere Opus/Sonnet-Modelle und alle Haiku-Modelle entfernen sie. Siehe Kontextbearbeitung, um dies zu konfigurieren.
Wenn du Denkblöcke zurücksendest, gib alles so zurück, wie du es erhalten hast, um Konsistenz zu gewährleisten und potenzielle Probleme zu vermeiden.
Hier sind einige wichtige Überlegungen zur Verschlüsselung des Denkens:
signature_delta innerhalb eines content_block_delta-Events direkt vor dem content_block_stop-Event hinzugefügt.signature-Werte sind in Claude 4-Modellen deutlich länger als in früheren Modellen.signature-Feld ist ein opakes Feld und sollte nicht interpretiert oder geparst werden.signature-Werte sind plattformübergreifend kompatibel (Claude APIs, Amazon Bedrock und Google Cloud). Werte, die auf einer Plattform generiert wurden, sind mit einer anderen kompatibel.Auf Claude Fable 5 und Claude Mythos 5 wird die rohe Gedankenkette niemals zurückgegeben. Die Denkblöcke, die du erhältst, sind reguläre thinking-Blöcke, keine redacted_thinking. Die thinking.display-Einstellung funktioniert genauso wie bei anderen Modellen:
"summarized" gibt eine lesbare Zusammenfassung des Schlussfolgerns zurück."omitted" (der Standard auf diesen Modellen) enthält weiterhin thinking-Blöcke in den Antworten, aber ihr thinking-Feld ist ein leerer String.Für die Antwortstruktur von Denkblöcken siehe die Messages-API-Referenz.
Wenn du eine Konversation auf demselben Modell fortsetzt, übergib jeden Denkblock genau so an die API zurück, wie du ihn erhalten hast, einschließlich Blöcken, deren thinking-Feld leer ist. Bearbeite oder rekonstruiere sie nicht. Das Lesen des Zusammenfassungstexts zur Anzeige ist in Ordnung: Die API lehnt Blöcke ab, deren Inhalt verändert wurde, nicht Blöcke, die du gelesen hast.
Wenn du das Modell wechselst, zum Beispiel nach einem Classifier-Refusal-Fallback, entferne thinking- und redacted_thinking-Blöcke aus vorherigen Assistant-Turns. Denkblöcke sind an das Modell gebunden, das sie erzeugt hat. Andere Modelle ignorieren sie stillschweigend, anstatt die Anfrage abzulehnen, aber ignorierte Blöcke erhöhen trotzdem die Input-Token.
Zwei Ausnahmen, die in Fallback-Credit behandelt werden:
fallback-Blöcke aus einem Fallback mitten in der Ausgabe bleiben dort, wo sie erschienen sind.Um Einblick in das Schlussfolgern des Modells zu erhalten, lies die in diesem Abschnitt beschriebenen thinking-Blöcke, anstatt im Antworttext nach Begründungen zu fragen. Auf Claude Fable 5 kann eine Anfrage, die versucht, das interne Schlussfolgern des Modells als Teil des Antworttexts zu entlocken, mit stop_details.category: "reasoning_extraction" abgelehnt werden. Siehe Ablehnungskategorien für die Feldreferenz und Hinweise zur Handhabung.
Vollständige Preisinformationen einschließlich Basistarifen, Cache-Schreibvorgängen, Cache-Treffern und Output-Token findest du auf der Preisseite.
Der Denkprozess verursacht Kosten für:
Wenn erweitertes Denken aktiviert ist, wird automatisch ein spezialisierter System-Prompt eingebunden, um diese Funktion zu unterstützen.
Bei Verwendung von zusammengefasstem Denken:
Bei Verwendung von display: "omitted":
thinking-Feld ist leer)Die abgerechnete Anzahl der Output-Token stimmt nicht mit der sichtbaren Token-Anzahl in der Antwort überein. Dir wird der vollständige Denkprozess in Rechnung gestellt, nicht der in der Antwort sichtbare Thinking-Inhalt.
Um zu sehen, wie viele abgerechnete Output-Token für internes Reasoning aufgewendet wurden, lies usage.output_tokens_details.thinking_tokens in der Antwort aus. Dieser Wert spiegelt das rohe Reasoning wider, das das Modell generiert hat (nicht den zusammengefassten Text, der im Body zurückgegeben wird), und ist immer kleiner oder gleich output_tokens. Ziehe ihn von output_tokens ab, um den Nicht-Reasoning-Anteil der Ausgabe näherungsweise zu bestimmen.
{
"usage": {
"input_tokens": 25,
"output_tokens": 348,
"output_tokens_details": {
"thinking_tokens": 312
}
}
}output_tokens bleibt die inklusive, maßgebliche Gesamtsumme, die für die Abrechnung verwendet wird. output_tokens_details ist eine schreibgeschützte Aufschlüsselung für Observability-Zwecke.
Die Seite zum erweiterten Denken behandelt mehrere Themen ausführlicher mit modusspezifischen Codebeispielen:
tool_choice, wenn das Denken aktiv ist.max_tokens und den Grenzen des Kontextfensters interagieren.Steuere mit dem Effort-Parameter, wie viele Token Claude beim Antworten verwendet, und wäge zwischen Gründlichkeit der Antwort und Token-Effizienz ab.
Gib Claude verbessertes Schlussfolgern für komplexe Aufgaben und steuere, wie Denkinhalte zurückgegeben werden.
Verhaltensunterschiede und Prompting-Muster für Claude Sonnet 5, einschließlich Effort, Standardwerten für adaptives Denken, Tool-Nutzung und Migration von Claude Sonnet 4.6.
Was this page helpful?