This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.
Erweitertes Denken gibt Claude verbesserte Denkfähigkeiten für komplexe Aufgaben, während es unterschiedliche Transparenzstufen in seinen schrittweisen Denkprozess bietet, bevor es seine endgültige Antwort liefert.
Für Claude Opus 4.7 und neuere Modelle verwenden Sie adaptives Denken (thinking: {type: "adaptive"}) mit dem Effort-Parameter. Manuelles erweitertes Denken (thinking: {type: "enabled", budget_tokens: N}) wird auf Claude Opus 4.7 oder neueren Modellen nicht mehr unterstützt und gibt einen 400-Fehler zurück. Für Claude Opus 4.6 und Claude Sonnet 4.6 wird adaptives Denken ebenfalls empfohlen; die manuelle Konfiguration funktioniert auf diesen Modellen noch, ist aber veraltet und wird in einer zukünftigen Modellversion entfernt.
Manuelles erweitertes Denken (thinking: {type: "enabled", budget_tokens: N}) wird auf allen aktuellen Claude-Modellen unterstützt außer Claude Opus 4.7 und neueren Modellen, wo es nicht mehr akzeptiert wird und einen 400-Fehler zurückgibt. Einige Modelle haben modellspezifisches Verhalten:
claude-opus-4-7) und neuere Modelle: Manuelles erweitertes Denken wird nicht mehr unterstützt. Verwenden Sie stattdessen adaptives Denken (thinking: {type: "adaptive"}) mit dem Effort-Parameter.thinking: {type: "enabled", budget_tokens: N} wird ebenfalls akzeptiert. thinking: {type: "disabled"} wird nicht unterstützt, und display wird standardmäßig auf "omitted" gesetzt, anstatt Denkinhalte zurückzugeben. Übergeben Sie display: "summarized", um Zusammenfassungen zu erhalten.claude-opus-4-6): Adaptives Denken empfohlen; manueller Modus (type: "enabled") ist veraltet, funktioniert aber noch.claude-sonnet-4-6): Adaptives Denken empfohlen; manueller Modus (type: "enabled") mit verschachteltem Modus ist veraltet, funktioniert aber noch.Das API-Verhalten unterscheidet sich zwischen Claude Sonnet 3.7 und Claude 4-Modellen, aber die API-Formen bleiben genau gleich.
Weitere Informationen finden Sie unter Unterschiede beim Denken zwischen Modellversionen.
Wenn erweitertes Denken aktiviert ist, erstellt Claude thinking-Inhaltsblöcke, in denen es seine interne Überlegung ausgibt. Claude integriert Erkenntnisse aus dieser Überlegung, bevor es eine endgültige Antwort formuliert.
Die API-Antwort enthält thinking-Inhaltsblöcke, gefolgt von text-Inhaltsblöcken.
Hier ist ein Beispiel des Standard-Antwortformats:
{
"content": [
{
"type": "thinking",
"thinking": "Let me analyze this step by step...",
"signature": "WaUjzkypQ2mUEVM36O2TxuC06KN8xyfbJwyem2dw3URve/op91XWHOEBLLqIOMfFG/UvLEczmEsUjavL...."
},
{
"type": "text",
"text": "Based on my analysis..."
}
]
}Weitere Informationen zum Antwortformat des erweiterten Denkens finden Sie in der Messages API-Referenz.
Hier ist ein Beispiel für die Verwendung von erweitertem Denken in der Messages API:
Um erweitertes Denken zu aktivieren, fügen Sie ein thinking-Objekt hinzu, wobei der type-Parameter auf enabled und budget_tokens auf ein angegebenes Token-Budget für erweitertes Denken gesetzt ist. Für Claude Opus 4.6 und Claude Sonnet 4.6 verwenden Sie stattdessen type: "adaptive". Weitere Informationen finden Sie unter Adaptives Denken. Während type: "enabled" mit budget_tokens auf diesen Modellen noch funktioniert, ist es veraltet und wird in einer zukünftigen Version entfernt.
Der budget_tokens-Parameter bestimmt die maximale Anzahl von Token, die Claude für seinen internen Denkprozess verwenden darf. Bei Claude 4 und neueren Modellen gilt diese Grenze für vollständige Denk-Token und nicht für die zusammengefasste Ausgabe. Größere Budgets können die Antwortqualität verbessern, indem sie eine gründlichere Analyse für komplexe Probleme ermöglichen, obwohl Claude möglicherweise nicht das gesamte zugewiesene Budget nutzt, besonders bei Bereichen über 32k.
budget_tokens ist veraltet auf Claude Opus 4.6 und Claude Sonnet 4.6 und wird in einer zukünftigen Modellversion entfernt. Verwenden Sie adaptives Denken mit dem Effort-Parameter, um die Denktiefe zu steuern.
Claude Mythos Preview, Claude Opus 4.7 und Claude Opus 4.6 unterstützen bis zu 128k Ausgabe-Token. Claude Sonnet 4.6 und Claude Haiku 4.5 unterstützen bis zu 64k. Weitere Informationen zu Limits bei älteren Modellen finden Sie in der Modellübersicht. In der Message Batches API erhöht der output-300k-2026-03-24 Beta-Header das Ausgabe-Limit auf 300k für Opus 4.7, Opus 4.6 und Sonnet 4.6.
budget_tokens muss auf einen Wert kleiner als max_tokens gesetzt werden. Wenn Sie jedoch verschachteltes Denken mit Tools verwenden, können Sie diese Grenze überschreiten, da die Token-Grenze zu Ihrem gesamten Kontextfenster wird.
With extended thinking enabled, the Messages API for Claude 4 models returns a summary of Claude's full thinking process. Summarized thinking provides the full intelligence benefits of extended thinking, while preventing misuse. This is the default behavior on Claude 4 models when the display field on the thinking configuration is unset or set to "summarized". On Claude Opus 4.7 and Claude Mythos Preview, display defaults to "omitted" instead, so you must set display: "summarized" explicitly to receive summarized thinking.
Here are some important considerations for summarized thinking:
Claude Sonnet 3.7 continues to return full thinking output.
In rare cases where you need access to full thinking output for Claude 4 models, contact our sales team.
The display field on the thinking configuration controls how thinking content is returned in API responses. It accepts two values:
"summarized": Thinking blocks contain summarized thinking text. See Summarized thinking for details. This is the default on Claude Opus 4.6, Claude Sonnet 4.6, and earlier Claude 4 models."omitted": Thinking blocks are returned with an empty thinking field. The signature field still carries the encrypted full thinking for multi-turn continuity (see Thinking encryption). This is the default on Claude Opus 4.7 and Claude Mythos Preview.Setting display: "omitted" is useful when your application doesn't surface thinking content to users. The primary benefit is faster time-to-first-text-token when streaming: The server skips streaming thinking tokens entirely and delivers only the signature, so the final text response begins streaming sooner.
No SDK currently includes display in its type definitions. The Python SDK forwards unrecognized dict keys to the API at runtime; passing display in the thinking dict works transparently. The TypeScript SDK requires a type assertion. The C#, Go, Java, PHP, and Ruby SDKs require a direct HTTP request until native support lands.
Here are some important considerations for omitted thinking:
signature to reconstruct the original thinking for prompt construction (see Preserving thinking blocks). Any text you place in the thinking field of a round-tripped omitted block is ignored.display is invalid with thinking.type: "disabled" (there is nothing to display).thinking.type: "adaptive" and the model skips thinking for a simple request, no thinking block is produced regardless of display.The signature field is identical whether display is "summarized" or "omitted". Switching display values between turns in a conversation is supported.
Bei Claude Mythos Preview wird display standardmäßig auf "omitted" gesetzt. Die Beispiele in diesem Abschnitt übergeben display explizit, damit sie auf alle Modelle anwendbar sind, aber bei Mythos Preview können Sie es ungesetzt lassen und das gleiche Verhalten erhalten. Um zusammengefasstes Denken bei Mythos Preview zu erhalten, setzen Sie display: "summarized" explizit.
Automatisierte Pipelines, die Denkinhalte niemals Endbenutzern anzeigen, können den Overhead überspringen, Denk-Token über die Leitung zu empfangen. Latenzempfindliche Anwendungen erhalten die gleiche Denkqualität, ohne auf Denktext zu warten, bevor die endgültige Antwort beginnt.
Wenn display: "omitted" gesetzt ist, enthält die Antwort thinking-Blöcke mit einem leeren thinking-Feld:
{
"content": [
{
"type": "thinking",
"thinking": "",
"signature": "EosnCkYICxIMMb3LzNrMu..."
},
{
"type": "text",
"text": "The answer is 12,231."
}
]
}Beim Streaming mit display: "omitted" werden keine thinking_delta-Ereignisse ausgegeben; weitere Informationen zur Ereignisfolge finden Sie unter Streaming-Denken.
Sie können erweiterte Denkresponses mit Server-Sent Events (SSE) streamen.
Wenn Streaming für erweitertes Denken aktiviert ist, erhalten Sie Denkinhalte über thinking_delta-Events.
Wenn display: "omitted" gesetzt ist, werden keine thinking_delta-Events ausgegeben. Siehe Denkanzeigesteuerung.
Weitere Dokumentation zum Streaming über die Messages API finden Sie unter Streaming Messages.
So handhaben Sie Streaming mit Denken:
Beispiel-Streaming-Ausgabe:
event: message_start
data: {"type": "message_start", "message": {"id": "msg_01...", "type": "message", "role": "assistant", "content": [], "model": "claude-sonnet-4-6", "stop_reason": null, "stop_sequence": null}}
event: content_block_start
data: {"type": "content_block_start", "index": 0, "content_block": {"type": "thinking", "thinking": "", "signature": ""}}
event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "I need to find the GCD of 1071 and 462 using the Euclidean algorithm.\n\n1071 = 2 × 462 + 147"}}
event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "\n462 = 3 × 147 + 21\n147 = 7 × 21 + 0\n\nSo GCD(1071, 462) = 21"}}
// Additional thinking deltas...
event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "signature_delta", "signature": "EqQBCgIYAhIM1gbcDa9GJwZA2b3hGgxBdjrkzLoky3dl1pkiMOYds..."}}
event: content_block_stop
data: {"type": "content_block_stop", "index": 0}
event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "text", "text": ""}}
event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "text_delta", "text": "The greatest common divisor of 1071 and 462 is **21**."}}
// Additional text deltas...
event: content_block_stop
data: {"type": "content_block_stop", "index": 1}
event: message_delta
data: {"type": "message_delta", "delta": {"stop_reason": "end_turn", "stop_sequence": null}}
event: message_stop
data: {"type": "message_stop"}Wenn display: "omitted" gesetzt ist, öffnet sich der Denkblock, ein einzelnes signature_delta kommt an, und der Block schließt sich ohne thinking_delta-Events. Das Textstreaming beginnt unmittelbar danach:
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"thinking","thinking":"","signature":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"signature_delta","signature":"EosnCkYICxIMMb3LzNrMu..."}}
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: content_block_start
data: {"type":"content_block_start","index":1,"content_block":{"type":"text","text":""}}Wenn Sie Streaming mit aktiviertem Denken verwenden, könnten Sie bemerken, dass Text manchmal in größeren Blöcken ankommt, die sich mit kleineren, Token-für-Token-Lieferungen abwechseln. Dies ist ein erwartetes Verhalten, besonders für Denkinhalte.
Das Streaming-System muss Inhalte in Batches für optimale Leistung verarbeiten, was zu diesem „klumpigen" Liefermuster führen kann, mit möglichen Verzögerungen zwischen Streaming-Events. Anthropic arbeitet kontinuierlich daran, diese Erfahrung zu verbessern, mit zukünftigen Updates, die sich auf ein sanfteres Streaming von Denkinhalten konzentrieren.
Erweitertes Denken kann zusammen mit Werkzeugnutzung verwendet werden, was Claude ermöglicht, die Werkzeugauswahl und Ergebnisverarbeitung zu durchdenken.
Bei Verwendung von erweitertem Denken mit Werkzeugnutzung beachten Sie die folgenden Einschränkungen:
Werkzeugauswahl-Einschränkung: Werkzeugnutzung mit Denken unterstützt nur tool_choice: {"type": "auto"} (die Standardeinstellung) oder tool_choice: {"type": "none"}. Die Verwendung von tool_choice: {"type": "any"} oder tool_choice: {"type": "tool", "name": "..."} führt zu einem Fehler, da diese Optionen die Werkzeugnutzung erzwingen, was mit erweitertem Denken nicht kompatibel ist.
Denkblöcke beibehalten: Während der Werkzeugnutzung müssen Sie thinking-Blöcke für die letzte Assistentnachricht an die API zurückgeben. Geben Sie den vollständigen unveränderten Block an die API zurück, um die Denkkontinuität zu bewahren.
Sie können das Denken nicht in der Mitte eines Assistent-Turns umschalten, auch nicht während Tool-Use-Schleifen. Der gesamte Assistent-Turn sollte in einem einzigen Denkmodus arbeiten:
Aus der Perspektive des Modells sind Tool-Use-Schleifen Teil des Assistent-Turns. Ein Assistent-Turn ist nicht abgeschlossen, bis Claude seine vollständige Antwort beendet hat, die mehrere Tool-Aufrufe und Ergebnisse enthalten kann.
Zum Beispiel ist diese Sequenz alles Teil eines einzelnen Assistent-Turns:
User: "What's the weather in Paris?"
Assistant: [thinking] + [tool_use: get_weather]
User: [tool_result: "20°C, sunny"]
Assistant: [text: "The weather in Paris is 20°C and sunny"]Obwohl es mehrere API-Nachrichten gibt, ist die Tool-Use-Schleife konzeptionell Teil einer kontinuierlichen Assistent-Antwort.
Wenn ein Mid-Turn-Denk-Konflikt auftritt (z. B. das Umschalten von Denken während einer Tool-Use-Schleife), deaktiviert die API das Denken automatisch für diese Anfrage. Um die Modellqualität zu bewahren und auf der Verteilung zu bleiben, kann die API:
Das bedeutet, dass der Versuch, das Denken mid-turn umzuschalten, keinen Fehler verursacht, aber das Denken wird für diese Anfrage stillschweigend deaktiviert. Um zu bestätigen, ob Denken aktiv war, überprüfen Sie auf das Vorhandensein von thinking-Blöcken in der Antwort.
Best Practice: Planen Sie Ihre Denkstrategie am Anfang jedes Turns, anstatt zu versuchen, mid-turn umzuschalten.
Beispiel: Denken nach Abschluss eines Turns umschalten
User: "What's the weather?"
Assistant: [tool_use] (thinking disabled)
User: [tool_result]
Assistant: [text: "It's sunny"]
User: "What about tomorrow?"
Assistant: [thinking] + [text: "..."] (thinking enabled - new turn)Durch Abschluss des Assistent-Turns vor dem Umschalten des Denkens stellen Sie sicher, dass Denken tatsächlich für die neue Anfrage aktiviert ist.
Das Umschalten von Denkmodi invalidiert auch Prompt Caching für die Nachrichtenhistorie. Weitere Details finden Sie im Abschnitt Extended thinking with prompt caching.
Während der Tool-Nutzung müssen Sie thinking-Blöcke an die API zurückgeben, und Sie müssen den vollständigen unveränderten Block an die API zurückgeben. Dies ist entscheidend für die Aufrechterhaltung des Denkflusses des Modells und der Konversationsintegrität.
Während Sie thinking-Blöcke aus vorherigen assistant-Rollen-Turns weglassen können, geben Sie immer alle Denkblöcke an die API für jedes Multi-Turn-Gespräch zurück. Die API:
Wenn Sie während eines Gesprächs Denkmodi umschalten, denken Sie daran, dass der gesamte Assistent-Turn (einschließlich Tool-Use-Schleifen) in einem einzigen Denkmodus arbeiten muss. Weitere Details finden Sie unter Toggling thinking modes in conversations.
Wenn Claude Tools aufruft, pausiert es die Konstruktion einer Antwort, um auf externe Informationen zu warten. Wenn Tool-Ergebnisse zurückgegeben werden, setzt Claude den Aufbau dieser bestehenden Antwort fort. Dies erfordert die Bewahrung von Denkblöcken während der Tool-Nutzung aus ein paar Gründen:
Denkkontinuität: Die Denkblöcke erfassen Claudes schrittweise Überlegungen, die zu Tool-Anfragen führten. Wenn Sie Tool-Ergebnisse posten, stellt die Einbeziehung des ursprünglichen Denkens sicher, dass Claude sein Denken von dort fortsetzen kann, wo es aufgehört hat.
Kontextverwaltung: Während Tool-Ergebnisse als Benutzernachrichten in der API-Struktur erscheinen, sind sie Teil eines kontinuierlichen Denkflusses. Die Bewahrung von Denkblöcken erhält diesen konzeptionellen Fluss über mehrere API-Aufrufe hinweg. Weitere Informationen zur Kontextverwaltung finden Sie im Leitfaden zu Kontextfenstern.
Wichtig: Wenn Sie thinking-Blöcke bereitstellen, muss die gesamte Sequenz aufeinanderfolgender thinking-Blöcke den Ausgaben entsprechen, die das Modell während der ursprünglichen Anfrage generiert hat; Sie können die Sequenz dieser Blöcke nicht neu anordnen oder ändern.
Extended Thinking mit Tool-Use in Claude 4-Modellen unterstützt verschachteltes Denken, das Claude ermöglicht, zwischen Tool-Aufrufen zu denken und nach dem Empfang von Tool-Ergebnissen anspruchsvollere Überlegungen anzustellen.
Mit verschachteltem Denken kann Claude:
Modellunterstützung:
interleaved-thinking-2025-05-14 Beta-Header ist veraltet auf Opus 4.6 und wird sicher ignoriert, wenn er enthalten ist.interleaved-thinking-2025-05-14 Beta-Header mit manuellem Extended Thinking (thinking: {type: "enabled"}) ist immer noch funktional, aber veraltet.Hier sind einige wichtige Überlegungen für verschachteltes Denken:
budget_tokens den max_tokens-Parameter überschreiten, da es das Gesamtbudget über alle Denkblöcke innerhalb eines Assistent-Turns darstellt.interleaved-thinking-2025-05-14 in Anfragen an jedes Modell zu übergeben, ohne Auswirkungen (außer Opus 4.7 und Opus 4.6, wo es veraltet ist und sicher ignoriert wird).interleaved-thinking-2025-05-14 an ein anderes Modell als Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 4.6, Claude Opus 4.5, Claude Opus 4.1, Opus 4 (veraltet), Sonnet 4.5 oder Sonnet 4 (veraltet) übergeben, schlägt Ihre Anfrage fehl.Prompt-Caching mit Denken hat mehrere wichtige Überlegungen:
Aufgaben mit erweitertem Denken dauern oft länger als 5 Minuten. Erwägen Sie die Verwendung der 1-Stunden-Cache-Dauer, um Cache-Treffer über längere Denksitzungen und mehrstufige Workflows hinweg zu erhalten.
Entfernung des Denkblock-Kontexts
Cache-Invalidierungsmuster
Während Denkblöcke für Caching und Kontextberechnungen entfernt werden, müssen sie beim Fortsetzen von Gesprächen mit Werkzeugnutzung erhalten bleiben, besonders mit verschachteltem Denken.
Bei der Verwendung von Extended Thinking mit Tool-Nutzung zeigen Thinking Blocks ein spezifisches Caching-Verhalten, das die Token-Zählung beeinflusst:
So funktioniert es:
Detailliertes Beispielablauf:
Anfrage 1:
User: "What's the weather in Paris?"Antwort 1:
[thinking_block_1] + [tool_use block 1]Anfrage 2:
User: ["What's the weather in Paris?"],
Assistant: [thinking_block_1] + [tool_use block 1],
User: [tool_result_1, cache=True]Antwort 2:
[thinking_block_2] + [text block 2]Anfrage 2 schreibt einen Cache des Anfrageinhalts (nicht der Antwort). Der Cache enthält die ursprüngliche Benutzernachricht, den ersten Thinking Block, den Tool-Use-Block und das Tool-Ergebnis.
Anfrage 3:
User: ["What's the weather in Paris?"],
Assistant: [thinking_block_1] + [tool_use block 1],
User: [tool_result_1, cache=True],
Assistant: [thinking_block_2] + [text block 2],
User: [Text response, cache=True]Für Claude Opus 4.5 und später (einschließlich Claude Opus 4.6) werden alle vorherigen Thinking Blocks standardmäßig beibehalten. Bei älteren Modellen werden alle vorherigen Thinking Blocks ignoriert, da ein Non-Tool-Result-Benutzer-Block enthalten war. Diese Anfrage wird genauso verarbeitet wie:
User: ["What's the weather in Paris?"],
Assistant: [tool_use block 1],
User: [tool_result_1, cache=True],
Assistant: [text block 2],
User: [Text response, cache=True]Wichtige Punkte:
cache_control-MarkerBei älteren Claude-Modellen (vor Claude Sonnet 3.7) würde das System automatisch max_tokens anpassen, wenn die Summe der Prompt-Token und max_tokens das Kontextfenster des Modells überschreitet. Das bedeutete, dass Sie einen großen max_tokens-Wert setzen konnten und das System ihn bei Bedarf stillschweigend reduzieren würde.
Bei Claude 3.7 und 4 Modellen wird max_tokens (das Ihr Denkbudget einschließt, wenn Denken aktiviert ist) als strikte Grenze durchgesetzt. Das System gibt nun einen Validierungsfehler zurück, wenn Prompt-Token + max_tokens die Kontextfenstergröße überschreitet.
Sie können den Leitfaden zu Kontextfenstern lesen, um einen tieferen Einblick zu erhalten.
Bei der Berechnung der Kontextfensternutzung mit aktiviertem Denken gibt es einige Überlegungen zu beachten:
max_tokens-Limit für diesen DurchlaufDas folgende Diagramm zeigt die spezialisierte Token-Verwaltung, wenn erweitertes Denken aktiviert ist:
Das effektive Kontextfenster wird berechnet als:
context window =
(current input tokens - previous thinking tokens) +
(thinking tokens + encrypted thinking tokens + text output tokens)Verwenden Sie die Token-Zähl-API, um genaue Token-Zählungen für Ihren spezifischen Anwendungsfall zu erhalten, besonders wenn Sie mit mehrteiligen Konversationen arbeiten, die Denken einschließen.
Bei der Verwendung von erweitertem Denken mit Tool-Nutzung müssen Denkblöcke explizit beibehalten und mit den Tool-Ergebnissen zurückgegeben werden.
Die effektive Kontextfensterberechnung für erweitertes Denken mit Tool-Nutzung wird zu:
context window =
(current input tokens + previous thinking tokens + tool use tokens) +
(thinking tokens + encrypted thinking tokens + text output tokens)Das folgende Diagramm zeigt die Token-Verwaltung für erweitertes Denken mit Tool-Nutzung:
Angesichts des Kontextfenster- und max_tokens-Verhaltens mit erweitertem Denken bei Claude 3.7 und 4 Modellen müssen Sie möglicherweise:
max_tokens-Werte anpassen, wenn sich Ihre Prompt-Länge ändertDiese Änderung wurde vorgenommen, um ein vorhersehbareres und transparenteres Verhalten zu bieten, besonders da die maximalen Token-Limits erheblich gestiegen sind.
Full thinking content is encrypted and returned in the signature field. This field is used to verify that thinking blocks were generated by Claude when passed back to the API.
It is only strictly necessary to send back thinking blocks when using tools with extended thinking. Otherwise you can omit thinking blocks from previous turns, or let the API strip them for you if you pass them back.
If sending back thinking blocks, we recommend passing everything back as you received it for consistency and to avoid potential issues.
Here are some important considerations on thinking encryption:
signature_delta inside a content_block_delta event just before the content_block_stop event.signature values are significantly longer in Claude 4 models than in previous models.signature field is an opaque field and should not be interpreted or parsed.signature values are compatible across platforms (Claude APIs, Amazon Bedrock, and Vertex AI). Values generated on one platform will be compatible with another.Zusätzlich zu regulären thinking-Blöcken kann die API redacted_thinking-Blöcke zurückgeben. Ein redacted_thinking-Block enthält verschlüsselte Denkinhalte in einem data-Feld, ohne lesbare Zusammenfassung:
{
"type": "redacted_thinking",
"data": "..."
}Das data-Feld ist undurchsichtig und verschlüsselt. Wie das signature-Feld bei regulären Denkblöcken sollten Sie redacted_thinking-Blöcke unverändert an die API zurückgeben, wenn Sie eine mehrteilige Konversation mit Tools fortsetzen.
Wenn Ihr Code Inhaltsblöcke nach Typ filtert (zum Beispiel block.type == "thinking"), wenn Sie Antworten mit Tool-Nutzung hin und her geben, schließen Sie auch redacted_thinking-Blöcke ein. Das Filtern nur auf block.type == "thinking" lässt redacted_thinking-Blöcke stillschweigend fallen und bricht das oben beschriebene mehrteilige Protokoll.
redacted_thinking-Blöcke sind ein eigenständiger Inhaltsblocktyp, der von der API zurückgegeben wird, wenn Teile des Denkens aus Sicherheitsgründen redigiert werden. Dies ist getrennt von der display: "omitted"-Option, die reguläre thinking-Blöcke mit einem leeren thinking-Feld zurückgibt.
Die Messages API behandelt Denken unterschiedlich zwischen Claude Sonnet 3.7 und Claude 4 Modellen, hauptsächlich im Zusammenfassungsverhalten.
Siehe die folgende Tabelle für einen komprimierten Vergleich:
| Feature | Claude Sonnet 3.7 | Claude 4 Modelle (vor Opus 4.5) | Claude Opus 4.5 | Claude Sonnet 4.6 | Claude Opus 4.6 (adaptives Denken) | Claude Mythos Preview (adaptives Denken) |
|---|---|---|---|---|---|---|
| Denk-Ausgabe | Gibt vollständige Denk-Ausgabe zurück | Gibt zusammengefasstes Denken zurück | Gibt zusammengefasstes Denken zurück | Gibt zusammengefasstes Denken zurück | Gibt zusammengefasstes Denken zurück | Standardmäßig weggelassen; setzen Sie display: "summarized", um zusammengefasstes Denken zu erhalten. Rohe Denk-Token werden nie zurückgegeben. |
| Verschachteltes Denken | Nicht unterstützt | Unterstützt mit interleaved-thinking-2025-05-14 Beta-Header | Unterstützt mit interleaved-thinking-2025-05-14 Beta-Header |
Ab Claude Opus 4.5 (und fortgesetzt in Claude Opus 4.6) werden Denkblöcke aus vorherigen Assistent-Durchläufen standardmäßig im Modellkontext beibehalten. Dies unterscheidet sich von früheren Modellen, die Denkblöcke aus vorherigen Durchläufen entfernen.
Vorteile der Denkblock-Beibehaltung:
Wichtige Überlegungen:
Für frühere Modelle (Claude Sonnet 4.5, Opus 4.1, usw.) werden Denkblöcke aus vorherigen Durchläufen weiterhin aus dem Kontext entfernt. Das bestehende Verhalten, das im Abschnitt Erweitertes Denken mit Prompt-Caching beschrieben ist, gilt für diese Modelle.
For complete pricing information including base rates, cache writes, cache hits, and output tokens, see the pricing page.
The thinking process incurs charges for:
When extended thinking is enabled, a specialized system prompt is automatically included to support this feature.
When using summarized thinking:
When using display: "omitted":
thinking field is empty)The billed output token count will not match the visible token count in the response. You are billed for the full thinking process, not the thinking content visible in the response.
max_tokens größer als 21.333 ist, um HTTP-Timeouts bei lange laufenden Anfragen zu vermeiden. Dies ist eine Client-seitige Validierung, keine API-Einschränkung. Wenn Sie Ereignisse nicht inkrementell verarbeiten müssen, verwenden Sie .stream() mit .get_final_message() (Python) oder .finalMessage() (TypeScript), um das vollständige Message-Objekt zu erhalten, ohne einzelne Ereignisse zu behandeln. Siehe Streaming Messages für Details. Beim Streaming seien Sie darauf vorbereitet, sowohl Denk- als auch Text-Inhaltsblöcke bei ihrer Ankunft zu behandeln.display: "omitted" in der Denkkonfiguration, um die Zeit bis zum ersten Text-Token zu reduzieren. Siehe Denk-Anzeige steuern.temperature- oder top_k-Änderungen sowie erzwungener Tool-Nutzung.top_p auf Werte zwischen 1 und 0,95 setzen.Erkunden Sie praktische Beispiele des Denkens im Cookbook.
Was this page helpful?
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?",
}
],
)
# The response contains summarized thinking blocks and text blocks
for block in response.content:
if block.type == "thinking":
print(f"\nThinking summary: {block.thinking}")
elif block.type == "text":
print(f"\nResponse: {block.text}")client = anthropic.Anthropic()
with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[
{
"role": "user",
"content": "What is the greatest common divisor of 1071 and 462?",
}
],
) as stream:
thinking_started = False
response_started = False
for event in stream:
if event.type == "content_block_start":
print(f"\nStarting {event.content_block.type} block...")
# Reset flags for each new block
thinking_started = False
response_started = False
elif event.type == "content_block_delta":
if event.delta.type == "thinking_delta":
if not thinking_started:
print("Thinking: ", end="", flush=True)
thinking_started = True
print(event.delta.thinking, end="", flush=True)
elif event.delta.type == "text_delta":
if not response_started:
print("Response: ", end="", flush=True)
response_started = True
print(event.delta.text, end="", flush=True)
elif event.type == "content_block_stop":
print("\nBlock complete.")interleaved-thinking-2025-05-14Unterstützt mit interleaved-thinking-2025-05-14 Beta-Header oder automatisch mit adaptivem Denken |
| Automatisch mit adaptivem Denken (Beta-Header nicht unterstützt) |
| Automatisch mit adaptivem Denken (Beta-Header nicht unterstützt). Inter-Tool-Reasoning wird in Denkblöcke auf diesem Modell verschoben. |
| Denkblock-Beibehaltung | Nicht über Durchläufe hinweg beibehalten | Nicht über Durchläufe hinweg beibehalten | Standardmäßig beibehalten | Standardmäßig beibehalten | Standardmäßig beibehalten | Standardmäßig beibehalten. Blöcke werden entfernt, wenn die Konversation auf einem Modell fortgesetzt wird, das das Mythos-Denkformat nicht unterstützt. |
Lernen Sie Best Practices für Prompt-Engineering mit erweitertem Denken.