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

Wie erweitertes Denken funktioniert

Wenn erweitertes Denken aktiviert ist, erstellt Claude thinking-Inhaltsblöcke, in denen er seine internen Überlegungen ausgibt. Claude integriert Erkenntnisse aus diesen Überlegungen, bevor er 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 Tool-Verwendungssitzung 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 wird überprüft, wenn Denkblöcke an die API zurückgegeben werden. 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 Tool-Verwendung mit erweitertem Denken genutzt wird. Andernfalls können Sie Denkblöcke aus vorherigen Durchgängen 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 an Sie zurück. Diese redigierten Denkblöcke werden entschlüsselt, wenn sie an die API zurückgegeben werden, sodass Claude seine Antwort ohne Kontextverlust fortsetzen kann.
  • thinking- und redacted_thinking-Blöcke werden vor den text-Blöcken in der Antwort zurückgegeben.

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 einem mehrteiligen Gespräch an die API zurückgeben, müssen Sie den vollständigen, unveränderten Block für den letzten Assistant-Turn an die API zurückgeben.

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

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 Denkprozesse ohne Beeinträchtigung Ihrer Benutzeroberfläche zu verarbeiten

Streaming von erweitertem Denken

Wenn Streaming aktiviert ist, erhalten Sie Denkinhalte über thinking_delta-Events. So gehen Sie mit Streaming und Denken um:

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 abwechselnd mit kleinerer, Token-für-Token-Lieferung ankommt. Dies ist erwartetes Verhalten, besonders bei Denkinhalten.

Das Streaming-System muss Inhalte für optimale Leistung in Batches verarbeiten, was zu diesem “stückweisen” Liefermuster führen kann. Wir arbeiten kontinuierlich daran, diese Erfahrung zu verbessern, wobei zukünftige Updates darauf abzielen, Denkinhalte flüssiger zu streamen.

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

[Rest of translation continues in next part due to length…]