Erweitertes Denken verleiht Claude 3.7 Sonnet verbesserte Denkfähigkeiten für komplexe Aufgaben und bietet gleichzeitig Transparenz in seinen schrittweisen Denkprozess, bevor es seine endgültige Antwort liefert.

Wie erweitertes Denken funktioniert

Wenn erweitertes Denken aktiviert ist, erstellt Claude thinking-Inhaltsblöcke, in denen es seine internen Überlegungen ausgibt. Claude integriert Erkenntnisse aus diesen Überlegungen, bevor es eine endgültige Antwort formuliert.

Die API-Antwort enthält sowohl thinking- als auch text-Inhaltsblöcke.

In mehrteiligen Gesprächen sind nur Denkblöcke, die mit einer Werkzeugnutzungssitzung oder einem assistant-Turn in der letzten Nachrichtenposition verbunden sind, für Claude sichtbar und werden als Eingabe-Token berechnet; Denkblöcke, die mit früheren assistant-Nachrichten verbunden sind, sind für Claude während des Samplings nicht sichtbar und werden nicht als Eingabe-Token berechnet.

Implementierung von erweitertem Denken

Fügen Sie den thinking-Parameter und ein festgelegtes Token-Budget für erweitertes Denken zu Ihrer API-Anfrage hinzu.

Der budget_tokens-Parameter bestimmt die maximale Anzahl von Tokens, die Claude für seinen internen Denkprozess verwenden darf. 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.

Ihr budget_tokens muss immer kleiner sein als die angegebenen max_tokens.

Die API-Antwort enthält sowohl Denk- als auch Textinhaltsblöcke:

{
    "content": [
        {
            "type": "thinking",
            "thinking": "To approach this, let's think about what we know about prime numbers...",
            "signature": "zbbJhbGciOiJFU8zI1NiIsImtakcjsu38219c0.eyJoYXNoIjoiYWJjMTIzIiwiaWFxxxjoxNjE0NTM0NTY3fQ...."
        },
        {
            "type": "text",
            "text": "Yes, there are infinitely many prime numbers such that..."
        }
    ]
}

Verstehen von Denkblöcken

Denkblöcke repräsentieren Claudes internen Denkprozess. Um Claude zu ermöglichen, Probleme mit minimalen internen Einschränkungen zu bearbeiten und gleichzeitig unsere Sicherheitsstandards und zustandslosen APIs aufrechtzuerhalten, haben wir Folgendes implementiert:

  • Denkblöcke enthalten ein signature-Feld. Dieses Feld enthält ein kryptographisches Token, das bestätigt, dass der Denkblock von Claude generiert wurde und beim Zurücksenden von Denkblöcken an die API verifiziert wird. Beim Streaming von Antworten wird die Signatur über ein signature_delta innerhalb eines content_block_delta-Events kurz vor dem content_block_stop-Event hinzugefügt. Es ist nur dann unbedingt erforderlich, Denkblöcke zurückzusenden, wenn Werkzeugnutzung mit erweitertem Denken verwendet wird. Andernfalls können Sie Denkblöcke aus vorherigen Turns weglassen oder die API sie für Sie entfernen lassen, wenn Sie sie zurücksenden.
  • Gelegentlich werden Claudes interne Überlegungen von unseren Sicherheitssystemen markiert. In diesem Fall verschlüsseln wir einige oder alle thinking-Blöcke und geben sie als redacted_thinking-Block zurück. Diese redigierten Denkblöcke werden beim Zurücksenden an die API entschlüsselt, sodass Claude seine Antwort ohne Kontextverlust fortsetzen kann.

Hier ist ein Beispiel, das sowohl normale als auch redigierte Denkblöcke zeigt:

{
  "content": [
    {
      "type": "thinking",
      "thinking": "Let me analyze this step by step...",
      "signature": "WaUjzkypQ2mUEVM36O2TxuC06KN8xyfbJwyem2dw3URve/op91XWHOEBLLqIOMfFG/UvLEczmEsUjavL...."
    },
    {
      "type": "redacted_thinking",
      "data": "EmwKAhgBEgy3va3pzix/LafPsn4aDFIT2Xlxh0L5L8rLVyIwxtE3rAFBa8cr3qpP..."
    },
    {
      "type": "text",
      "text": "Based on my analysis..."
    }
  ]
}

Das Auftreten von redigierten Denkblöcken in Ihrer Ausgabe ist erwartetes Verhalten. Das Modell kann diese redigierten Überlegungen weiterhin nutzen, um seine Antworten zu informieren, während die Sicherheitsrichtlinien eingehalten werden.

Wenn Sie die Handhabung redigierter Denkblöcke in Ihrer Anwendung testen müssen, können Sie diese spezielle Testzeichenfolge als Prompt verwenden: ANTHROPIC_MAGIC_STRING_TRIGGER_REDACTED_THINKING_46C9A13E193C177646C7398A98432ECCCE4C1253D5E2D82641AC0E52CC2876CB

Wenn Sie thinking- und redacted_thinking-Blöcke in einer mehrteiligen Konversation an die API zurücksenden, müssen Sie den vollständigen, unveränderten Block für den letzten Assistant-Turn an die API zurücksenden.

Dies ist entscheidend für die Aufrechterhaltung des Denkflusses des Modells. Wir empfehlen, immer alle Denkblöcke an die API zurückzusenden. Weitere Details finden Sie im Abschnitt Bewahren von Denkblöcken.

Empfehlungen für den Umgang mit redigierten Denkblöcken in der Produktion

Beim Aufbau kundenorientierter Anwendungen, die erweitertes Denken verwenden:

  • Beachten Sie, dass redigierte Denkblöcke verschlüsselte Inhalte enthalten, die nicht menschenlesbar sind
  • Erwägen Sie eine einfache Erklärung wie: “Einige von Claudes internen Überlegungen wurden aus Sicherheitsgründen automatisch verschlüsselt. Dies hat keinen Einfluss auf die Qualität der Antworten.”
  • Wenn Sie Denkblöcke Benutzern zeigen, können Sie redigierte Blöcke herausfiltern und normale Denkblöcke beibehalten
  • Seien Sie transparent darüber, dass die Verwendung von erweiterten Denkfunktionen gelegentlich dazu führen kann, dass einige Überlegungen verschlüsselt werden
  • Implementieren Sie eine angemessene Fehlerbehandlung, um redigierte Denkblöcke elegant zu verarbeiten, ohne Ihre Benutzeroberfläche zu beeinträchtigen

Streaming von erweitertem Denken

Wenn Streaming aktiviert ist, erhalten Sie Denkinhalte über thinking_delta-Events. Hier erfahren Sie, wie Sie Streaming mit Denken handhaben:

Beispiel für Streaming-Ausgabe:

event: message_start
data: {"type": "message_start", "message": {"id": "msg_01...", "type": "message", "role": "assistant", "content": [], "model": "claude-3-7-sonnet-20250219", "stop_reason": null, "stop_sequence": null}}

event: content_block_start
data: {"type": "content_block_start", "index": 0, "content_block": {"type": "thinking", "thinking": ""}}

event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "Let me solve this step by step:\n\n1. First break down 27 * 453"}}

event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "\n2. 453 = 400 + 50 + 3"}}

// 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": "27 * 453 = 12,231"}}

// 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"}

Über das Streaming-Verhalten mit Denken

Wenn Sie Streaming mit aktiviertem Denken verwenden, werden Sie möglicherweise bemerken, dass Text manchmal in größeren Blöcken ankommt, die sich mit kleinerer, Token-für-Token-Lieferung abwechseln. Dies ist erwartetes Verhalten, besonders bei Denkinhalten.

Das Streaming-System muss Inhalte für optimale Leistung in Batches verarbeiten, was zu diesem “ungleichmäßigen” Liefermuster führen kann. Wir arbeiten kontinuierlich daran, diese Erfahrung zu verbessern, wobei zukünftige Updates darauf abzielen, Denkinhalte gleichmäßiger zu streamen.

redacted_thinking-Blöcke haben keine zugehörigen Deltas und werden als einzelnes Event gesendet.

Wichtige Überlegungen bei der Verwendung von erweitertem Denken

Arbeiten mit dem Denkbudget: Das Mindestbudget beträgt 1.024 Token. Wir empfehlen, mit dem Minimum zu beginnen und das Denkbudget schrittweise zu erhöhen, um den optimalen Bereich zu finden, in dem Claude für Ihren Anwendungsfall gut funktioniert. Höhere Token-Zahlen können es Ihnen ermöglichen, umfassendere und nuanciertere Überlegungen zu erreichen, aber je nach Aufgabe kann es auch abnehmende Erträge geben.

  • Das Denkbudget ist eher ein Ziel als eine strikte Grenze - die tatsächliche Token-Nutzung kann je nach Aufgabe variieren.
  • Seien Sie auf möglicherweise längere Antwortzeiten vorbereitet, die durch die zusätzliche Verarbeitung für den Denkprozess erforderlich sind.
  • Streaming ist erforderlich, wenn max_tokens größer als 21.333 ist.

Für Denkbudgets über 32K: Wir empfehlen die Verwendung von Batch-Verarbeitung für Workloads, bei denen das Denkbudget über 32K Token eingestellt ist, um Netzwerkprobleme zu vermeiden. Anfragen, die das Modell dazu bringen, über 32K Token nachzudenken, verursachen lang laufende Anfragen, die möglicherweise gegen System-Timeouts und Limits für offene Verbindungen stoßen.

Denk-Kompatibilität mit anderen Funktionen:

  • Denken ist nicht kompatibel mit Modifikationen von temperature, top_p oder top_k sowie erzwungener Werkzeugnutzung.
  • Sie können keine Antworten vorausfüllen, wenn Denken aktiviert ist.
  • Änderungen am Denkbudget machen zwischengespeicherte Prompt-Präfixe ungültig, die Nachrichten enthalten. Zwischengespeicherte Systemprompts und Werkzeugdefinitionen funktionieren jedoch weiterhin, wenn sich Denkparameter ändern.

Preisgestaltung und Token-Nutzung für erweitertes Denken

Erweiterte Denk-Token zählen zum Kontextfenster und werden als Ausgabe-Token berechnet. Da Denk-Token wie normale Ausgabe-Token behandelt werden, zählen sie auch zu Ihren Ratenlimits. Berücksichtigen Sie diese erhöhte Token-Nutzung bei der Planung Ihrer API-Nutzung.

Für Claude 3.7 Sonnet sind die Preise:

Token-NutzungKosten
Eingabe-Token$3 / MTok
Ausgabe-Token (einschließlich Denk-Token)$15 / MTok
Prompt-Caching-Schreiben$3,75 / MTok
Prompt-Caching-Lesen$0,30 / MTok

Batch-Verarbeitung für erweitertes Denken ist zu 50% dieser Preise verfügbar und wird oft in weniger als 1 Stunde abgeschlossen.

Alle erweiterten Denk-Token (einschließlich redigierter Denk-Token) werden als Ausgabe-Token berechnet und zählen zu Ihren Ratenlimits.

In mehrteiligen Gesprächen werden Denkblöcke, die mit früheren Assistant-Nachrichten verbunden sind, nicht als Eingabe-Token berechnet.

Wenn erweitertes Denken aktiviert ist, wird automatisch ein spezialisierter 28- oder 29-Token-Systemprompt einbezogen, um diese Funktion zu unterstützen.

Erweiterte Ausgabefähigkeiten (Beta)

Claude 3.7 Sonnet kann wesentlich längere Antworten als frühere Modelle produzieren, mit Unterstützung für bis zu 128K Ausgabe-Token (Beta) - mehr als 15-mal länger als andere Claude-Modelle. Diese erweiterte Fähigkeit ist besonders effektiv für erweiterte Denkanwendungsfälle, die komplexes Denken, umfangreiche Code-Generierung und umfassende Inhaltserstellung beinhalten.

Diese Funktion kann aktiviert werden, indem ein anthropic-beta-Header von output-128k-2025-02-19 übergeben wird.

Bei der Verwendung von erweitertem Denken mit längeren Ausgaben können Sie ein größeres Denkbudget zuweisen, um gründlichere Überlegungen zu unterstützen, während immer noch ausreichend Token für die endgültige Antwort zur Verfügung stehen.

Wir empfehlen die Verwendung von Streaming oder Batch-Modus mit dieser erweiterten Ausgabefähigkeit; weitere Details finden Sie in unseren Hinweisen zu Netzwerkzuverlässigkeitsüberlegungen für lange Anfragen.

Verwendung von erweitertem Denken mit Prompt-Caching

Prompt-Caching mit Denken hat mehrere wichtige Überlegungen:

Einbeziehung von Denkblöcken in zwischengespeicherte Prompts

  • Denken wird nur beim Generieren eines Assistant-Turns einbezogen und ist nicht für das Caching gedacht.
  • Denkblöcke aus vorherigen Turns werden ignoriert.
  • Wenn Denken deaktiviert wird, werden alle an die API übergebenen Denkinhalte einfach ignoriert.

Cache-Invalidierungsregeln

  • Änderungen an Denkparametern (Aktivieren/Deaktivieren oder Budgetänderungen) machen Cache-Breakpoints in Nachrichten ungültig.
  • Systemprompts und Werkzeuge behalten das Caching bei, auch wenn sich Denkparameter ändern.

Beispiele für Prompt-Caching mit erweitertem Denken

Max Tokens und Kontextfenstergröße mit erweitertem Denken

In älteren Claude-Modellen (vor Claude 3.7 Sonnet) würde das System automatisch max_tokens anpassen, um in das Kontextlimit zu passen, wenn die Summe aus Prompt-Tokens und max_tokens das Kontextfenster des Modells überschritt. Das bedeutete, Sie konnten einen großen max_tokens-Wert festlegen und das System würde ihn stillschweigend nach Bedarf reduzieren.

Mit Claude 3.7 Sonnet wird max_tokens (was Ihr Denkbudget einschließt, wenn Denken aktiviert ist) als strikte Grenze durchgesetzt. Das System wird jetzt einen Validierungsfehler zurückgeben, wenn Prompt-Tokens + max_tokens die Kontextfenstergröße überschreitet.

Wie das Kontextfenster mit erweitertem Denken berechnet wird

Bei der Berechnung der Kontextfensternutzung mit aktiviertem Denken gibt es einige Überlegungen zu beachten:

  • Denkblöcke aus vorherigen Turns werden entfernt und nicht zu Ihrem Kontextfenster gezählt
  • Aktuelles Turn-Denken zählt zu Ihrer max_tokens-Grenze für diesen Turn

Das folgende Diagramm zeigt die spezialisierte Token-Verwaltung, wenn erweitertes Denken aktiviert ist:

Das effektive Kontextfenster wird wie folgt berechnet:

Kontextfenster =
  (aktuelle Eingabe-Token - vorherige Denk-Token) +
  (Denk-Token + redigierte Denk-Token + Text-Ausgabe-Token)

Wir empfehlen die Verwendung der Token-Zähl-API, um genaue Token-Zählungen für Ihren spezifischen Anwendungsfall zu erhalten, besonders wenn Sie mit mehrteiligen Gesprächen arbeiten, die Denken beinhalten.

Sie können unseren Leitfaden zu Kontextfenstern für eine gründlichere Vertiefung lesen.

Verwalten von Token mit erweitertem Denken

Angesichts des neuen Kontextfenster- und max_tokens-Verhaltens mit erweiterten Denkmodellen wie Claude 3.7 Sonnet müssen Sie möglicherweise:

  • Ihre Token-Nutzung aktiver überwachen und verwalten
  • max_tokens-Werte anpassen, wenn sich Ihre Prompt-Länge ändert
  • Möglicherweise die Token-Zähl-Endpunkte häufiger verwenden
  • Sich bewusst sein, dass sich vorherige Denkblöcke nicht in Ihrem Kontextfenster ansammeln

Diese Änderung wurde vorgenommen, um ein vorhersehbareres und transparenteres Verhalten zu bieten, besonders da die maximalen Token-Limits deutlich erhöht wurden.

Erweitertes Denken mit Werkzeugnutzung

Bei der Verwendung von erweitertem Denken mit Werkzeugnutzung beachten Sie bitte das folgende Verhaltensmuster:

  1. Erster Assistant-Turn: Wenn Sie eine erste Benutzernachricht senden, wird die Assistant-Antwort Denkblöcke gefolgt von Werkzeuganfragen enthalten.

  2. Werkzeugergebnis-Turn: Wenn Sie die Benutzernachricht mit Werkzeugergebnisblöcken übergeben, wird die nachfolgende Assistant-Nachricht keine zusätzlichen Denkblöcke enthalten.

Um dies zu erweitern, folgt die normale Reihenfolge eines Werkzeugnutzungsgesprächs mit Denken diesen Schritten:

  1. Benutzer sendet erste Nachricht
  2. Assistant antwortet mit Denkblöcken und Werkzeuganfragen
  3. Benutzer sendet Nachricht mit Werkzeugergebnissen
  4. Assistant antwortet entweder mit weiteren Werkzeugaufrufen oder nur Text (keine Denkblöcke in dieser Antwort)
  5. Wenn weitere Werkzeuge angefordert werden, wiederholen Sie die Schritte 3-4, bis das Gespräch abgeschlossen ist

Dieses Design ermöglicht es Claude, seinen Denkprozess vor dem Stellen von Werkzeuganfragen zu zeigen, aber den Denkprozess nicht zu wiederholen, nachdem Werkzeugergebnisse empfangen wurden. Claude wird keinen weiteren Denkblock ausgeben, bis nach dem nächsten nicht-tool_result user-Turn.

Das folgende Diagramm veranschaulicht die Kontextfenster-Token-Verwaltung bei der Kombination von erweitertem Denken mit Werkzeugnutzung:

Bewahren von Denkblöcken

Während der Werkzeugnutzung müssen Sie thinking- und redacted_thinking-Blöcke an die API zurücksenden, und Sie müssen den vollständigen, unveränderten Block an die API zurücksenden. Dies ist entscheidend für die Aufrechterhaltung des Denkflusses des Modells und der Gesprächsintegrität.

Während Sie thinking- und redacted_thinking-Blöcke aus früheren assistant-Rollen-Turns weglassen können, empfehlen wir, immer alle Denkblöcke für jedes mehrteilige Gespräch an die API zurückzusenden. Die API wird:

  • Automatisch die bereitgestellten Denkblöcke filtern
  • Die relevanten Denkblöcke verwenden, die notwendig sind, um das Denken des Modells zu bewahren
  • Nur die Eingabe-Token für die Blöcke berechnen, die Claude gezeigt werden

Warum Denkblöcke bewahrt werden müssen

Wenn Claude Werkzeuge aufruft, pausiert es die Konstruktion einer Antwort, um auf externe Informationen zu warten. Wenn Werkzeugergebnisse zurückgegeben werden, wird Claude diese bestehende Antwort weiter aufbauen. Dies macht es notwendig, Denkblöcke während der Werkzeugnutzung zu bewahren, aus mehreren Gründen:

  1. Denkfortsetzung: Die Denkblöcke erfassen Claudes schrittweise Überlegungen, die zu Werkzeuganfragen führten. Wenn Sie Werkzeugergebnisse posten, stellt das Einbeziehen des ursprünglichen Denkens sicher, dass Claude seine Überlegungen von dort aus fortsetzen kann, wo es aufgehört hat.

  2. Kontexterhaltung: Während Werkzeugergebnisse in der API-Struktur als Benutzernachrichten erscheinen, sind sie Teil eines kontinuierlichen Denkflusses. Das Bewahren von Denkblöcken erhält diesen konzeptionellen Fluss über mehrere API-Aufrufe hinweg.

Wichtig: Wenn Sie thinking- oder redacted_thinking-Blöcke bereitstellen, muss die gesamte Sequenz aufeinanderfolgender thinking- oder redacted_thinking-Blöcke mit den Ausgaben übereinstimmen, die das Modell während der ursprünglichen Anfrage generiert hat; Sie können die Reihenfolge dieser Blöcke nicht neu anordnen oder modifizieren.

Tipps für die bestmögliche Nutzung des erweiterten Denkmodus

Um das Beste aus erweitertem Denken herauszuholen:

  1. Angemessene Budgets festlegen: Beginnen Sie mit größeren Denkbudgets (16.000+ Token) für komplexe Aufgaben und passen Sie sie nach Ihren Bedürfnissen an.

  2. Experimentieren Sie mit Denk-Token-Budgets: Das Modell könnte bei verschiedenen maximalen Denkbudget-Einstellungen unterschiedlich funktionieren. Die Erhöhung des maximalen Denkbudgets kann das Modell besser/härter denken lassen, auf Kosten erhöhter Latenz. Für kritische Aufgaben sollten Sie verschiedene Budget-Einstellungen testen, um die optimale Balance zwischen Qualität und Leistung zu finden.

  3. Sie müssen vorherige Denkblöcke nicht selbst entfernen: Die Anthropic-API ignoriert automatisch Denkblöcke aus vorherigen Turns und sie werden bei der Berechnung der Kontextnutzung nicht einbezogen.

  4. Token-Nutzung überwachen: Behalten Sie die Denk-Token-Nutzung im Auge, um Kosten und Leistung zu optimieren.

  5. Erweitertes Denken für besonders komplexe Aufgaben verwenden: Aktivieren Sie Denken für Aufgaben, die von schrittweisen Überlegungen profitieren, wie Mathematik, Programmierung und Analyse.

  6. Verlängerte Antwortzeit berücksichtigen: Berücksichtigen Sie, dass das Generieren von Denkblöcken die Gesamtantwortzeit erhöhen kann.

  7. Streaming angemessen handhaben: Beim Streaming seien Sie darauf vorbereitet, sowohl Denk- als auch Textinhaltsblöcke zu verarbeiten, wenn sie ankommen.

  8. Prompt-Engineering: Lesen Sie unsere erweiterten Denk-Prompting-Tipps, wenn Sie Claudes Denkfähigkeiten maximieren möchten.

Nächste Schritte