Erweitertes Denken ist Claudes fortschrittliche Funktion, die dem Modell Zeit gibt, komplexe Probleme zu durchdenken, bevor es eine endgültige Antwort generiert. Stell es dir wie Claudes inneren Monolog vor – du kannst sehen, wie es dein Problem Schritt für Schritt angeht.

Funktionsweise von erweitertem Denken
Wenn du erweitertes Denken aktivierst, besteht Claudes Antwort aus zwei Teilen statt aus einem:
- Reasoning-Content-Teil – Claudes interner Denkprozess
- Text-Teil – die endgültige Antwort, die du eigentlich wolltest

Der Reasoning-Content zeigt dir genau, wie Claude dein Problem aufschlüsselt, was es dabei berücksichtigt und wie es zu seiner endgültigen Antwort kommt. Diese Transparenz kann für das Verständnis und das Debuggen komplexer Aufgaben unglaublich wertvoll sein.
Zu berücksichtigende Kompromisse
Erweitertes Denken bringt klare Vorteile und Kosten mit sich:
- Bessere Genauigkeit bei komplexen Aufgaben
- Höhere Kosten – du zahlst für alle Denk-Token
- Erhöhte Latenz – Denken braucht Zeit
Der entscheidende Punkt ist einfach: Nutze deine Evaluierungen. Wenn du deinen Prompt bereits optimiert hast, aber immer noch nicht die benötigte Genauigkeit erreichst, dann wird erweitertes Denken erwägenswert.
Das Signatursystem
Ein wichtiges Detail, das dir sofort auffallen wird, ist die kryptografische Signatur, die dem Reasoning-Content beigefügt ist:

Diese Signatur stellt sicher, dass du den Denktext nicht verändern kannst. Wenn du Claudes vorheriges Reasoning in eine Folgekonversation einbeziehen möchtest, überprüft die Signatur, dass der Inhalt nicht manipuliert wurde. Dies verhindert potenzielle Sicherheitsprobleme durch veränderten Reasoning-Text.
Geschwärzter Inhalt
Manchmal wird Claudes Denken von Sicherheitssystemen markiert. In diesem Fall erhältst du ein redactedContent-Feld statt lesbarem Denktext:

Der geschwärzte Inhalt ist verschlüsselt, aber weiterhin funktionsfähig – du kannst ihn in zukünftigen Konversationen an Claude zurückgeben, ohne den Kontext zu verlieren. Er ist für dich als Entwickler einfach nicht lesbar.
Implementierung
Bei aktuellen Claude-Modellen, wie Claude Opus 5 und Claude Sonnet 5, läuft das Denken als adaptives Denken und ist standardmäßig aktiviert: Claude entscheidet, wie viel Reasoning jede Anfrage benötigt, ohne dass du ein Token-Budget verwalten musst. Diese Modelle lassen den Reasoning-Text weg, sofern du nicht danach fragst, also setze display auf summarized, um ihn zu sehen:
additional_model_fields["thinking"] = {
"type": "adaptive",
"display": "summarized"
}Mit aktiviertem adaptivem Denken kommen einfache Fragen oft schnell zurück, während schwierigere mehr Denkzeit bekommen. Um zu steuern, wie viel Claude denkt, kannst du adaptives Denken mit dem effort-Parameter kombinieren. Die Effort-Stufe fungiert als sanfte Richtlinie für Claudes Denkzuweisung und tritt an die Stelle des manuellen Token-Budgets, das du sonst verwalten müsstest.
Wenn du erweitertes Denken schon einmal verwendet hast, beachte, dass die manuelle Konfiguration ausläuft: thinking.type: "enabled" mit budget_tokens ist bei Claude Opus 4.6 und Claude Sonnet 4.6 abgekündigt, und Claude Opus 4.7 und spätere Modelle, einschließlich Claude Opus 5 und Claude Sonnet 5, unterstützen dies nicht mehr und lehnen solche Anfragen mit einem 400-Fehler ab. Verwende stattdessen thinking.type: "adaptive" mit dem effort-Parameter.
Modelle ohne adaptives Denken
Die Claude-4.5-Modelle (Claude Haiku 4.5, Claude Sonnet 4.5 und Claude Opus 4.5) und frühere Modelle unterstützen kein adaptives Denken. Bei diesen Modellen aktivierst du erweitertes Denken mit einem manuellen Token-Budget:
additional_model_fields["thinking"] = {
"type": "enabled",
"budget_tokens": thinking_budget
}Das thinking_budget steuert, wie viele Token Claude für Reasoning aufwenden kann. Das Minimum sind 1024 Token, aber für komplexe Probleme brauchst du möglicherweise mehr. Wie bei allem anderen mit Claude gilt: Nutze deine Evaluierungen, um das richtige Budget für deinen Anwendungsfall zu finden.
So sieht die aktualisierte Chat-Funktion aus:
def chat(
messages,
system=None,
temperature=1.0,
stop_sequences=[],
tools=None,
tool_choice="auto",
text_editor=None,
thinking=False,
thinking_budget=1024
):Deine Implementierung testen
Beim Aufbau von Anwendungen, die erweitertes Denken verarbeiten, solltest du sowohl normale Reasoning-Content- als auch geschwärzte-Inhalt-Szenarien testen. Es gibt tatsächlich eine spezielle Test-Zeichenkette, die Claude dazu zwingt, geschwärzten Inhalt zurückzugeben – nützlich, um sicherzustellen, dass dein Code beide Fälle korrekt behandelt.
Die wichtigste Erkenntnis zum erweiterten Denken ist, dass die Entscheidung, es zu nutzen, immer datengetrieben sein sollte. Führe zuerst deine Evaluierungen durch, optimiere deine Prompts, und erwäge erweitertes Denken erst dann, wenn du diesen zusätzlichen Genauigkeitsschub für komplexe Aufgaben brauchst. Diese Disziplin beruht auf einer einfachen Gewohnheit: Entscheide, wie gut „gut genug" aussieht, bevor du nach mehr Leistungsfähigkeit greifst. Wenn du die Genauigkeit kennst, die deine Aufgabe benötigt, kannst du erkennen, ob erweitertes Denken seine Kosten wert ist, statt zu raten.
Übung: Adaptives Denken selbst ausprobieren
Adaptives Denken versteht man am leichtesten, wenn man beobachtet, wie es Entscheidungen trifft. Aktiviere es in dem Code, in dem du die Chat-Funktion aufgebaut hast:
additional_model_fields["thinking"] = {
"type": "adaptive",
"display": "summarized"
}Sende nun zwei Anfragen über dieselbe Konfiguration. Stelle zuerst eine schnelle Sachfrage, deren Antwort du bereits kennst. Stelle dann eine wirklich schwierige, wie ein mehrstufiges Analyseproblem aus deiner eigenen Arbeit. Wenn du mit einem Modell arbeitest, das kein adaptives Denken unterstützt, aktiviere das Denken mit der manuellen budget_tokens-Konfiguration aus dem obigen Abschnitt und führe dieselben zwei Anfragen aus.
Überprüfe, was das Denken bewirkt hat
Das Setzen des Flags beweist nur, dass die Anfrage akzeptiert wurde. Diese Prüfungen zeigen dir, was das Denken tatsächlich bewirkt hat:
- Bestätige, dass Denken aktiviert war. Jede Antwort sollte jetzt zwei Teile enthalten, den Reasoning-Content und den endgültigen Text, statt nur Text allein. Die eine Ausnahme ist geschwärzter Inhalt, den du zuvor gesehen hast: Ein
redactedContent-Feld bedeutet, dass Denken stattgefunden hat, der Text aber verschlüsselt ist. - Lies den Reasoning-Content. Prüfe, dass er sich tatsächlich mit der gestellten Frage auseinandersetzt, statt sie nur zu wiederholen. Das ist dieselbe Transparenz, auf die du dich später beim Debuggen komplexer Aufgaben verlassen wirst.
- Vergleiche die beiden Anfragen. Die einfache Frage kommt meist schnell und mit wenig Reasoning zurück, während die schwierige deutlich mehr bekommt. Dieser Unterschied ist adaptives Denken, das die Zuweisungsentscheidung für dich trifft.
- Wäge die Kosten ab. Du zahlst für jedes Denk-Token, also prüfe, ob die schwierigere Antwort besser ist als das, was du ohne Denken erhältst. Deine Evaluierungen sind hierfür maßgebend, und das Erscheinen von Reasoning-Text ist kein Ersatz dafür.
Das Verhalten, das man aus dieser Lektion beibehalten sollte: Wann immer du erweitertes Denken für eine neue Aufgabe aktivierst, lies den Reasoning-Content bei einigen repräsentativen Anfragen und führe deine Evaluierungen erneut durch, bevor du entscheidest, dass die Einstellung bleibt.