

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Erweitertes Denken
<a name="claude-messages-extended-thinking"></a>

Erweitertes Denken ermöglicht Claude bessere Argumentationsfähigkeiten für komplexe Aufgaben und sorgt gleichzeitig für ein unterschiedliches Maß an Transparenz in Bezug auf den step-by-step Denkprozess, bevor eine endgültige Antwort gefunden wird. Wenn Sie den Denkmodus von Claude aktivieren, müssen Sie ein Budget für die maximale Anzahl von Token festlegen, die für den internen Argumentationsprozess von Claude verwenden werden dürfen.

Es werde folgende Modelle unterstützt:


| Modell | Modell-ID | 
| --- | --- | 
| Claude Opus4.5 | `anthropic.claude-opus-4-5-20251101-v1:0` | 
| Claude Opus 4 | `anthropic.claude-opus-4-20250514-v1:0` | 
| Claude Sonnet 4 | `anthropic.claude-sonnet-4-20250514-v1:0` | 
| Claude Sonnet 4.5 | `anthropic.claude-sonnet-4-5-20250929-v1:0` | 
| Claude Haiku 4.5 | `anthropic.claude-haiku-4-5-20251001-v1:0` | 
| Claude 3.7 Sonnet | `anthropic.claude-3-7-sonnet-20250219-v1:0` | 
| Claude Sonnet 4.5 | `anthropic.claude-opus-4-5-20251101-v1:0` | 

**Anmerkung**  
Das API-Verhalten der Modelle Claude 3.7 und Claude 4 unterscheidet sich. Weitere Informationen finden Sie unter [Unterschiede im Denken zwischen den Modellversionen](claude-messages-thinking-differences.md).

**Topics**
+ [Best Practices und Überlegungen für erweitertes Denken](#claude-messages-extended-thinking-bps)
+ [So funktioniert erweitertes Denken](#claude-messages-how-extended-thinking-works)
+ [Verwenden von erweitertem Denken](#claude-messages-use-extended-thinking)
+ [Erweitertes Denken mit der Verwendung des Tools](#claude-messages-extended-thinking-tool-use)
+ [Denken Sie an Block-Clearing (Beta)](#claude-messages-thinking-block-clearing)
+ [Erweitertes Denken mit Prompt-Caching](#claude-messages-extended-thinking-prompt-caching)
+ [Grundlagen zum Caching-Verhalten von Denkblöcken](#claude-messages-extended-thinking-caching-behavior)
+ [Maximale Anzahl an Token und Größe des Kontextfensters bei erweitertem Denken](#claude-messages-extended-thinking-max-tokens)
+ [Überlegungen zu den Kosten des erweiterten Denkens](#claude-messages-extended-thinking-cost)

## Best Practices und Überlegungen für erweitertes Denken
<a name="claude-messages-extended-thinking-bps"></a>

Richtlinien für die Verwendung
+ **Aufgabenauswahl**: Verwenden Sie erweitertes Denken für besonders komplexe Aufgaben, bei denen logisches step-by-step Denken von Vorteil ist, wie Mathematik, Programmieren und Analysieren.
+ **Umgang mit Kontext**: Sie müssen alte Denkblöcke nicht selbst entfernen. Die Anthropic-API ignoriert Denkblöcke aus früheren Runden automatisch, sodass sie bei der Berechnung der Kontextnutzung nicht berücksichtigt werden.
+ **Prompt-Engineering**: Lesen Sie die [Prompting-Tipps für erweitertes Denken](https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/extended-thinking-tips) von Anthropic, wenn Sie die Leistungsfähigkeit von Claude maximieren möchten.

Leistungsaspekte
+ **Reaktionszeiten**: Seien Sie auf potenziell längere Antwortzeiten vorbereitet, da der Argumentationsprozess eine zusätzliche Bearbeitung erfordert. Berücksichtigen Sie, dass das Generieren von Denkblöcken die Gesamtreaktionszeit verlängern kann.
+ **Streaming-Anfragen**: Streaming ist erforderlich, wenn der Wert für `max_tokens` über 21.333 liegt. Seien Sie beim Streamen auf eingehende Inhaltsblöcke vom Typ `thinking` und `text` vorbereitetet.

Feature-Kompatibilität
+ Erweitertes Denken ist nicht kompatibel mit Änderungen der Parameter `temperature`, `top_p` oder `top_k` bzw. der [erzwungenen Verwendung des Tools](https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/implement-tool-use#forcing-tool-use).
+ Wenn erweitertes Denken aktiviert ist, können Antworten nicht vorab ausgefüllt werden.
+ Änderungen am Budget für erweitertes Denken führen dazu, dass zwischengespeicherte Präfixe für Prompts, die Nachrichten enthalten, ungültig werden. Zwischengespeicherte System-Prompts und Tooldefinitionen funktionieren jedoch weiterhin, wenn sich die Denkparameter ändern.

Arbeiten mit Budgets für erweitertes Denken
+ **Budgetoptimierungen**: Das Mindestbudget beträgt 1.024 Token. Anthropic schlägt vor, mit dem Minimum zu beginnen und das Denkbudget schrittweise zu erhöhen, um den optimalen Bereich für Ihren Anwendungsfall zu finden. Eine größere Anzahl von Token ermöglicht vielleicht eine umfassendere und nuanciertere Argumentation, je nach Aufgabe kann dies aber auch die Ergebnisse beeinträchtigen. Das Budget ist eher ein Ziel als ein striktes Limit. Die tatsächliche Tokennutzung kann je nach Aufgabe variieren.
+ **Minimale und optimale Einstellungen**: 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 eine gute Leistung für Ihren Anwendungsfall erbringen kann. Eine höhere Anzahl von Token ermöglicht vielleicht eine umfassendere und nuanciertere Argumentation, je nach Aufgabe kann dies aber auch die Ergebnisse beeinträchtigen. Das Budget ist eher ein Ziel als ein striktes Limit. Die tatsächliche Tokennutzung kann je nach Aufgabe variieren.
+ **Experimentieren**: Das Modell kann bei unterschiedlichen Einstellungen für das maximale Denkbudget unterschiedlich abschneiden. Eine Erhöhung des maximalen Budgets für erweitertes Denken kann dazu führen, dass das Modell besser oder schärfer denkt, was allerdings mit einer erhöhten Latenz einhergeht. Bei kritischen Aufgaben sollten Sie erwägen, verschiedene Budgeteinstellungen zu testen, um das optimale Gleichgewicht zwischen Qualität und Leistung zu finden.
+ **Große Budgets**: Bei Budgets über 32 000 Token empfehlen wir die Stapelverarbeitung, um Netzwerkprobleme zu vermeiden. Anfragen, die das Modell dazu drängen, beim Denken die Schwelle von 32 000 Token zu überschreiten, führen zu lang andauernden Anfragen, die zu System-Timeouts und offenen Verbindungslimits führen können. Beachten Sie, dass die Grenzwerte für `max_tokens` je nach Claude-Modell variieren. Weitere Informationen finden Sie unter [Maximale Anzahl an Token und Größe des Kontextfensters bei erweitertem Denken](#claude-messages-extended-thinking-max-tokens).
+ **Nachverfolgung der Tokennutzung**: Überwachen Sie die Nutzung von Token für erweitertes Denken, um Kosten und Leistung zu optimieren.

## So funktioniert erweitertes Denken
<a name="claude-messages-how-extended-thinking-works"></a>

Wenn erweitertes Denken aktiviert ist, erstellt Claude `thinking`-Inhaltsblöcke mit interner Argumentation. Claude bezieht Erkenntnisse aus dieser Argumentation mit ein, bevor eine endgültige Antwort verfasst wird. Die API-Antwort wird `thinking`-Inhaltsblöcke enthalten, an die sich `text`-Inhaltsblöcke anschließen.

Das Folgende ist ein Beispiel für das Standardantwortformat:

```
{
  "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 [Anforderung und Antwort](model-parameters-anthropic-claude-messages-request-response.md) von Anthropic.

## Verwenden von erweitertem Denken
<a name="claude-messages-use-extended-thinking"></a>

Um erweitertes Denken zu aktivieren, fügen Sie ein `thinking`-Objekt hinzu und setzen Sie den Parameter `thinking` auf „aktiviert“ und den Parameter `budget_tokens` auf ein bestimmtes Tokenbudget für erweitertes Denken.

Der Parameter `budget_tokens` bestimmt die maximale Anzahl von Token, die in Claude für den internen Argumentationsprozess verwendet werden dürfen. In Claude-4-Modellen gilt dieser Grenzwert für Token für vollständiges Denken und nicht für die zusammengefasste Ausgabe. Durch höhere Budgets kann die Qualität der Antworten verbessert werden, da sie eine gründlichere Analyse komplexer Probleme ermöglichen, obwohl in Claude möglicherweise nicht das gesamte zugewiesene Budget aufgebraucht wird, insbesondere bei Bereichen über 32 000 Token.

Der Wert des Parameters `budget_tokens` muss kleiner als der Wert für `max_tokens` sein. Bei der Verwendung von [Verschachteltes Denken (Beta)](#claude-messages-extended-thinking-tool-use-interleaved) mit Tools können Sie dieses Limit jedoch überschreiten, da das Tokenlimit für das gesamte Kontextfenster gilt (200 000 Token).

### Zusammengefasstes Denken
<a name="claude-messages-use-extended-thinking-summarized"></a>

Wenn erweitertes Denken aktiviert ist, gibt die Messages API für Claude-4-Modelle eine Zusammenfassung des vollständigen Denkprozesses von Claude zurück. Zusammengefasstes Denken bietet alle Vorteile des erweiterten Denkens und verhindert gleichzeitig Missbrauch.

Im Folgenden finden Sie einige wichtige Überlegungen für zusammengefasstes Denken:
+ Es werden die Token für vollständiges Denken berechnet, die durch die ursprüngliche Anfrage generiert wurden, nicht die Token für zusammengefasstes Denken.
+ Die Anzahl der in Rechnung gestellten Ausgabetoken entspricht nicht der Anzahl der Token, die Sie in der Antwort sehen.
+ Der für das Modell für zusammengefasstes Denken bereitgestellte Prompt kann geändert werden.
+ Die ersten Gedankenzeilen sind ausführlicher und bieten eine detaillierte Argumentation, die vor allem für Prompt-Engineering-Zwecke hilfreich ist.

**Anmerkung**  
Claude 3.7 Sonnet gibt trotzdem die vollständige Denkausgabe zurück.  
Wenden Sie sich an Ihr Account-Team, um in Claude-4-Modellen auf die Ausgabe für vollständiges Denken zuzugreifen.

### Streaming-Denken
<a name="claude-messages-use-extended-thinking-streaming"></a>

Sie können mithilfe von servergesendeten Ereignissen Antworten aus erweitertem Denken streamen. Wenn Streaming für erweitertes Denken aktiviert ist, erhalten Sie Denkinhalte über `thinking_delta`-Ereignisse. Es kann nicht garantiert werden, dass gestreamte Ereignisse mit konstanter Geschwindigkeit zurückgegeben werden. Zwischen Streaming-Ereignissen kann es zu Verzögerungen kommen. Weitere Informationen zum Streamen über die Messages API finden Sie unter [Streamen von Nachrichten](https://docs.anthropic.com/en/docs/build-with-claude/streaming).

So gehst du mit Streaming und Denken um: **InvokeModelWithResponseStream**

```
{
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 10000,
    "thinking": {
        "type": "enabled",
        "budget_tokens": 4000
    },
    "messages": [
        {
            "role": "user",
            "content": "What is 27 * 453?"
        }
    ]
}
```

Antwort:

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

**Informationen über das Verhalten von Streaming-Denken**  
Wenn Sie Streaming mit aktiviertem Denken verwenden, stellen Sie möglicherweise fest, dass Text manchmal in größeren Blöcken ankommt und sich mit kleineren Sendungen abwechselt. token-by-token Dies ist ein erwartetes Verhalten, insbesondere bei Denkinhalten. Das Streaming-System muss Inhalte stapelweise verarbeiten, um eine optimale Leistung zu erzielen. Dies kann zu diesem Übertragungsmuster führen.

## Erweitertes Denken mit der Verwendung des Tools
<a name="claude-messages-extended-thinking-tool-use"></a>

Erweitertes Denken kann zusammen mit [Verwendung des Tools](model-parameters-anthropic-claude-messages-tool-use.md) verwendet werden, sodass die Argumentation in Claude durch Toolauswahl und Ergebnisverarbeitung durchgeführt wird. Beachten Sie die folgenden Einschränkungen, wenn Sie erweitertes Denken mit der Verwendung des Tools verwenden:
+ **Einschränkung der Verwendung des Tools**: Bei der Verwendung des Tools in Verbindung mit Denken wird nur `tool_choice: any` unterstützt. Die Bereitstellung eines bestimmten Tools, von `auto` oder anderen Werten wird nicht unterstützt.
+ **Beibehalten von Denkblöcken**: Während der Verwendung des Tools müssen Sie Denkblöcke für die letzte Assistentennachricht an die API zurückgeben. Fügen Sie den gesamten unveränderten Block wieder in die API ein, um die Kontinuität der Argumentation aufrechtzuerhalten.

So funktioniert die Verwaltung von Kontextfenstern mit Tools:

```
{
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 10000,
    "thinking": {
        "type": "enabled",
        "budget_tokens": 4000
    },
  "tools": [
  {
    "name": "get_weather",
    "description": "Get current weather for a location",
    "input_schema": {
      "type": "object",
      "properties": {
        "location": {
          "type": "string"
        }
      },
      "required": [
        "location"
      ]
    }
  }
],
    "messages": [
        {
            "role": "user",
            "content": "What's the weather in Paris?"
        }
    ]
}
```

Die erste Antwort lautet wie folgt:

```
{
    "content": [
        {
            "type": "thinking",
            "thinking": "The user wants to know the current weather in Paris. I have access to a function `get_weather`...",
            "signature": "BDaL4VrbR2Oj0hO4XpJxT28J5TILnCrrUXoKiiNBZW9P+nr8XSj1zuZzAl4egiCCpQNvfyUuFFJP5CncdYZEQPPmLxYsNrcs...."
        },
        {
            "type": "text",
            "text": "I can help you get the current weather information for Paris. Let me check that for you"
        },
        {
            "type": "tool_use",
            "id": "toolu_01CswdEQBMshySk6Y9DFKrfq",
            "name": "get_weather",
            "input": {
                "location": "Paris"
            }
        }
    ]
}
```

Wenn Sie die Konversation unter Verwendung des Tools fortsetzen, wird eine weitere Antwort generiert. Beachten Sie, dass sowohl der Parameter `thinking_block` als auch der Parameter `tool_use_block` übergeben wird. Wenn er nicht übergeben wird, erhalten Sie eine Fehlermeldung.

```
{
  "anthropic_version": "bedrock-2023-05-31",
  "max_tokens": 10000,
  "thinking": {
    "type": "enabled",
    "budget_tokens": 4000
  },
  "tools": [
    {
      "name": "get_weather",
      "description": "Get current weather for a location",
      "input_schema": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string"
          }
        },
        "required": [
          "location"
        ]
      }
    }
  ],
      "messages": [
        {
          "role": "user",
          "content": "What's the weather in Paris?"
        },
        {
          "role": "assistant",
          "content": [
            {
              "type": "thinking",
              "thinking": "The user wants to know the current weather in Paris. I have access to a function `get_weather`…",
              "signature": "BDaL4VrbR2Oj0hO4XpJxT28J5TILnCrrUXoKiiNBZW9P+nr8XSj1zuZzAl4egiCCpQNvfyUuFFJP5CncdYZEQPPmLxY",
            },
            {
              "type": "tool_use",
              "id": "toolu_01CswdEQBMshySk6Y9DFKrfq",
              "name": "get_weather",
              "input": {
                "location": "Paris"
              }
            }
          ]
        },
        {
          "role": "user",
          "content": [
            {
              "type": "tool_result",
              "tool_use_id": "toolu_01CswdEQBMshySk6Y9DFKrfq",
              "content": "Current temperature: 88°F"
            }
          ]
        }
      ]
    }
```

Die API-Antwort enthält jetzt nur Text.

```
{
  "content": [
    {
      "type": "text",
      "text": "Currently in Paris, the temperature is 88°F (31°C)"
    }
  ]
}
```

### Beibehalten von Denkblöcken
<a name="claude-messages-extended-thinking-tool-use-thinking-blocks"></a>

Während der Verwendung des Tools müssen Sie Denkblöcke an die API zurückgeben und den gesamten unveränderten Block wieder in die API aufnehmen. Dies ist entscheidend für die Aufrechterhaltung des Argumentationsflusses und der Konversationsintegrität des Modells.

**Tipp**  
Sie können zwar `thinking`-Blöcke aus früheren Runden der `assistant`-Rolle weglassen, wir empfehlen jedoch, bei Konversationen mit mehreren Runden immer alle Denkblöcke an die API zurückzugeben. Die API führt die folgenden Schritte aus:  
Filtert automatisch die bereitgestellten Denkblöcke
Verwendet die relevanten Denkblöcke, die erforderlich sind, um die Argumentation des Modells beizubehalten
Berechnet nur die Eingabetoken für die in Claude angezeigten Blöcke

Wenn Claude Tools aufruft, wird die Erstellung einer Antwort pausiert, während auf externe Informationen gewartet wird. Wenn die Ergebnisse des Tools zurückgegeben werden, wird die Erstellung der vorhandenen Antwort in Claude fortgesetzt. Dies erfordert die Beibehaltung von Denkblöcken bei der Verwendung des Tools, und zwar aus den folgenden Gründen:
+ **Kontinuität beim Denken**: Die Denkblöcke erfassen Claude die step-by-step Argumentation, die zu Anfragen nach Tools geführt hat. Wenn Sie die Ergebnisse des Tools veröffentlichen, wird durch Einbeziehung des ursprünglichen Denkvorgangs sichergestellt, dass Claude die Argumentation an der Stelle fortsetzen kann, an der sie angehalten wurde.
+ **Kontextwartung**: Die Ergebnisse der Tools werden in der API-Struktur zwar als Benutzernachrichten angezeigt, sind aber Teil eines kontinuierlichen Argumentationsflusses. Durch die Beibehaltung von Denkblöcken wird dieser konzeptionelle Fluss über mehrere API-Aufrufe hinweg aufrechterhalten.

**Wichtig**  
Bei der Bereitstellung von Denkblöcken muss die gesamte Abfolge aufeinanderfolgender Denkblöcke mit den Ergebnissen übereinstimmen, die das Modell während der ursprünglichen Anfrage generiert hat. Sie können die Reihenfolge dieser Blöcke nicht neu anordnen oder ändern.

### Verschachteltes Denken (Beta)
<a name="claude-messages-extended-thinking-tool-use-interleaved"></a>

**Warnung**  
Interleaved Thinking wird Ihnen als „Beta-Service“ gemäß der Definition in den Servicebedingungen zur Verfügung gestellt. AWS Er unterliegt Ihrer Vereinbarung mit AWS und den AWS Servicebedingungen sowie der jeweils geltenden Muster-EULA.

Claude-4-Modelle unterstützen verschachteltes Denken; dieses Feature ermöglicht Claude einen Denkvorgang zwischen den einzelnen Toolaufrufen, sodass nach Erhalt der Ergebnisse differenziertere Schlussfolgerungen möglich sind. Dies ermöglicht komplexere Interaktionen der Kundendienstmitarbeiter, sodass in Claude Folgendes möglich wird:
+ Erläutern der Ergebnisse eines Toolaufrufs vor der Entscheidung, was als Nächstes zu tun ist
+ Verketten mehrerer Toolaufrufe mit dazwischen liegenden Argumentationsschritten
+ Differenziertere Entscheidungen auf der Grundlage von Zwischenergebnissen

Um verschachteltes Denken zu aktivieren, fügen Sie Ihrer API-Anfrage den Beta-Header `interleaved-thinking-2025-05-14` hinzu.

**Anmerkung**  
Beim verschachtelten Denken kann der Parameter `budget_tokens` den Parameter `max_tokens` überschreiten, da er das Gesamtbudget aller Denkblöcke innerhalb einer Assistentenrunde darstellt.

## Denken Sie an Block-Clearing (Beta)
<a name="claude-messages-thinking-block-clearing"></a>

**Warnung**  
Thinking Block Clearing wird als „Beta-Service“ gemäß der Definition in den AWS Servicebedingungen zur Verfügung gestellt.

**Anmerkung**  
Diese Funktion wird derzeit von Claude Sonnet 4/4.5, Claude Haiku 4.5 und Claude Opus 4/4.1/4.5 unterstützt.

Das Löschen von Denkblöcken ist eine Funktion des Anthropic-Claude-Modells (in der Beta-Phase). Mit dieser Funktion kann Claude automatisch ältere Denkblöcke aus früheren Runden löschen. Um das Löschen von Denkblöcken zu verwenden, müssen Sie der Liste der Beta-Header den Anforderungsparameter anthropic\$1beta hinzufügen`context-management-2025-06-27`. Sie müssen außerdem die Verwendung von angeben `clear_thinking_20251015` und aus den folgenden Konfigurationsoptionen auswählen.

Dies sind die verfügbaren Steuerelemente für die Kontextmanagement-Strategie von `clear_thinking_20251015`. Alle sind optional oder haben Standardwerte:


| **Konfigurationsoption** | **Beschreibung** | 
| --- | --- | 
|  `keep` Standard: 1 Denkrunde  |  Definiert, wie viele kürzliche Runden des Assistenten mit Denkblockaden beibehalten werden sollen. Geben Sie `{"type": "thinking_turns", "value": N}` an, wo N > 0 sein muss, um die letzten N Züge oder `{"type": "all"}` alle Denkblöcke beizubehalten.  | 

------
#### [ Request ]

```
{
      "anthropic_version": "bedrock-2023-05-31",
      "max_tokens": 10000,
      "anthropic_beta": [
        "context-management-2025-06-27"
      ],
      "thinking": {
        "type": "enabled",
        "budget_tokens": 4000
      },
      "tools": [
        {
          "name": "get_weather",
          "description": "Get current weather for a location",
          "input_schema": {
            "type": "object",
            "properties": {
              "location": {
                "type": "string"
              }
            },
            "required": [
              "location"
            ]
          }
        }
      ],
      "messages": [
        {
          "role": "user",
          "content": "What's the weather in Paris?"
        },
        {
          "role": "assistant",
          "content": [
            {
              "type": "thinking",
              "thinking": "The user is asking for the weather in Paris. I have access to a get_weather function that takes a location as a parameter. I have all the information I need to make this call - the location is \"Paris\".\n\nLet me call the get_weather function with \"Paris\" as the location.",
              "signature": "ErgDCkgIChABGAIqQC/Ccv8GC+5VfcMEiq78XmpU2Ef2cT+96pHKMedKcRNuPz1x0kFlo5HBpW0r1NcQFVQUPuj6PDmP7jdHY7GsrUwSDKNBMogjaM7wYkwfPhoMswjlmfF09JLjZfFlIjB03NkghGOxLbr3VCQHIY0lMaV9UBvt7ZwTpJKzlz+mulBysfvAmDfcnvdJ/6CZre4qnQJsTZaiXdEgASwPIc5jOExBguerrtYSWVC/oPjSi7KZM8PfhP/SPXupyLi8hwYxeqomqkeG7AQhD+3487ecerZJcpJSOSsf0I1OaMpmQEE/b7ehnvTV/A4nLhxIjP4msyIBW+dVwHNFRFlpJLBHUJvN99b4run6YmqBSf4y9TyNMfOr+FtfxedGE0HfJMBd4FHXmUFyW5y91jAHMWqwNxDgacaKkFCAMaqce5rm0ShOxXn1uwDUAS3jeRP26Pynihq8fw5DQwlqOpo7vvXtqb5jjiCmqfOe6un5xeIdhhbzWddhEk1Vmtg7I817pM4MZjVaeQN02drPs8QgDxihnP6ZooGhd6FCBP2X3Ymdlj5zMlbVHxmSkA4wcNtg4IAYAQ=="
            },
            {
              "type": "tool_use",
              "id": "toolu_bdrk_01U7emCvL5v5z5GT7PDr2vzc",
              "name": "get_weather",
              "input": {
                "location": "Paris"
              }
            }
          ]
        },
        {
          "role": "user",
          "content": [
            {
              "type": "tool_result",
              "tool_use_id": "toolu_bdrk_01U7emCvL5v5z5GT7PDr2vzc",
              "content": "Current temperature: 88°F"
            }
          ]
        }
      ],
      "context_management": {
        "edits": [
          {
            "type": "clear_thinking_20251015",
            "keep": {
              "type": "thinking_turns",
              "value": 1
            }
          }
        ]
      }
    }
```

------
#### [ Response ]

```
{
      "model": "claude-haiku-4-5-20251001",
      "id": "msg_bdrk_01KyTbyFbdG2kzPwWMJY1kum",
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "text",
          "text": "The current weather in Paris is **88°F** (approximately 31°C). It's quite warm! If you need more detailed information like humidity, wind conditions, or a forecast, please let me know."
        }
      ],
      "stop_reason": "end_turn",
      "stop_sequence": null,
      "usage": {
        "input_tokens": 736,
        "cache_creation_input_tokens": 0,
        "cache_read_input_tokens": 0,
        "cache_creation": {
          "ephemeral_5m_input_tokens": 0,
          "ephemeral_1h_input_tokens": 0
        },
        "output_tokens": 47
      },
      "context_management": {
        "applied_edits": [...]
      }
    }
```

------

## Erweitertes Denken mit Prompt-Caching
<a name="claude-messages-extended-thinking-prompt-caching"></a>

Beim erweiterten Denken mit [Prompt-Caching](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html) sind mehrere wichtige Aspekte zu berücksichtigen:

**Kontextentfernung aus Denkblöcken**
+ Denkblöcke aus früheren Runden werden aus dem Kontext entfernt, was sich auf Cache-Haltepunkte auswirken kann.
+ Wenn Konversationen unter Verwendung des Tools fortgesetzt werden, werden Denkblöcke zwischengespeichert und zählen als Eingabetoken, wenn sie aus dem Cache gelesen werden. Dies führt zu einem Kompromiss, bei dem Denkblöcke zwar visuell keinen Platz im Kontextfenster beanspruchen, aber beim Zwischenspeichern trotzdem auf die Nutzung Ihrer Eingabetoken angerechnet werden.
+ Wenn das Denken deaktiviert wird, schlagen Anfragen fehl, wenn Sie Denkinhalte in der aktuellen Runde mit der Verwendung des Tools übergeben. In anderen Kontexten werden Denkinhalte, die an die API übergeben werden, einfach ignoriert.

**Muster für Cache-Invalidierung**
+ Änderungen an Denkparametern (wie das Aktivieren, Deaktivieren oder Ändern der Budgetzuweisung) machen die Haltepunkte für den Nachrichten-Cache ungültig.
+ [Verschachteltes Denken (Beta)](#claude-messages-extended-thinking-tool-use-interleaved) verstärkt die Cache-Invalidierung, da zwischen mehreren Toolaufrufen Denkblöcke gebildet werden können.
+ System-Prompts und Tools bleiben im Cache, auch bei der Änderung von Denkparametern oder dem Entfernen von Blöcken.

**Anmerkung**  
Während Denkblöcke für das Caching und für kontextbezogene Berechnungen beseitigt werden, müssen sie bei der Fortsetzung von Konversationen mit der Verwendung des Tools, insbesondere bei verschachteltem Denken, beibehalten werden.

## Grundlagen zum Caching-Verhalten von Denkblöcken
<a name="claude-messages-extended-thinking-caching-behavior"></a>

Bei Einsatz von erweitertem Denken unter Verwendung des Tools zeigen Denkblöcke ein spezifisches Caching-Verhalten, das sich auf das Zählen von Tokens auswirkt. Der folgenden Sequenz können Sie entnehmen, wie das funktioniert.

1. Das Caching erfolgt nur, wenn Sie eine nachfolgende Anfrage, die Ergebnisse des Tools enthält.

1. Wenn die nachfolgende Anfrage gestellt wird, kann der vorherige Konversationsverlauf (einschließlich Denkblöcken) zwischengespeichert werden.

1. Diese zwischengespeicherten Denkblöcke zählen als Eingabetoken in den Nutzungsmetriken, wenn sie aus dem Cache gelesen werden.

1. Wenn ein non-tool-result Benutzerblock enthalten ist, werden alle vorherigen Denkblöcke ignoriert und aus dem Kontext entfernt.

Im Folgenden ist ein detaillierter 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 mit dem Inhalt der Anfrage (nicht der Antwort). Der Cache enthält die ursprüngliche Benutzernachricht, den ersten Denkblock, die Verwendung des Tool-Blocks 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]
```

Da ein non-tool-result Benutzerblock enthalten war, werden alle vorherigen Denkblöcke ignoriert. Diese Anfrage wird genauso bearbeitet wie die folgende Anfrage:

Alternative zu Anfrage 3:

```
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]
```

Dieses Verhalten ist unabhängig davon, ob normales oder verschachteltes Denken angewendet wird, konsistent.

## Maximale Anzahl an Token und Größe des Kontextfensters bei erweitertem Denken
<a name="claude-messages-extended-thinking-max-tokens"></a>

Wenn in älteren Claude-Modellen (früher Claude 3.7 Sonnet) die Summe aus Prompt-Token und „max\$1tokens“ das Kontextfenster des Modells überschritt, passte das System den Wert für „max\$1tokens“ automatisch an, sodass dieser innerhalb des Kontextlimits lag. Das bedeutete, dass Sie einen großen Wert für „max\$1tokens“ festlegen konnten und das System diesen Wert automatisch nach Bedarf reduzierte. Bei den Modellen Claude 3.7 und 4 (worunter auch Ihr Denkbudget fällt, sofern die Denkfunktion aktiviert ist) wird `max_tokens` als strikter Grenzwert durchgesetzt. Das System gibt jetzt einen Validierungsfehler zurück, wenn die Summe aus Prompt-Token und „max\$1tokens“ die Größe des Kontextfensters überschreiten.

### Das Kontextfenster bei erweitertem Denken
<a name="claude-messages-extended-thinking-max-tokens-calculate"></a>

Bei der Berechnung der Kontextfensternutzung sind bei aktiviertem Denken einige Aspekte zu beachten:
+ Denkblöcke aus früheren Runden werden entfernt und nicht auf das Kontextfenster angerechnet.
+ Das Denken in der aktuellen Runde wird auf das `max_tokens`-Limit für diese Runde angerechnet.

Das effektive Kontextfenster wird wie folgt berechnet: Kontextfenster = (aktuelle Eingabetoken – Vorherige Denktoken) \$1 (Denktoken \$1 verschlüsselte Denktoken \$1 Textausgabetoken).

### Verwalten von Token mit erweitertem Denken und Verwendung des Tools
<a name="claude-messages-extended-thinking-max-tokens-manage-tool"></a>

Wenn erweitertes Denken zusammen mit der Verwendung des Tools verwendet wird, müssen Denkblöcke explizit beibehalten und zusammen mit den Ergebnissen des Tools zurückgegeben werden. Die effektive Berechnung des Kontextfensters für erweitertes Denken bei Verwendung von Tools sieht wie folgt aus:

`context window = (current input tokens + previous thinking tokens + tool use tokens) + (thinking tokens + encrypted thinking tokens + text output tokens)`

### Verwalten von Token mit erweitertem Denken
<a name="claude-messages-extended-thinking-max-tokens-manage"></a>

Angesichts des Kontextfensters und des Verhaltens von `max_tokens` mit den Claude-Modellen 3.7 und 4 für erweitertes Denken müssen Sie möglicherweise eine der folgenden Aktionen ausführen:
+ Überwachen und verwalten Sie Ihre Tokennutzung aktiver.
+ Passen Sie die Werte für `max_tokens` an, wenn sich die Länge des Prompts ändert.
+ Beachten Sie, dass sich frühere Denkblöcke nicht im Kontextfenster ansammeln. Diese Änderung wurde vorgenommen, um ein vorhersehbareres und transparenteres Verhalten zu ermöglichen, insbesondere da die maximale Grenze für Token erheblich erhöht wurde.

## Überlegungen zu den Kosten des erweiterten Denkens
<a name="claude-messages-extended-thinking-cost"></a>

Beim Denkprozess fallen folgende Gebühren an:
+ Für Token, die beim Denken verwendet werden (Ausgabetoken)
+ Für Denkblöcke aus der letzten Runde des Assistenten, die in nachfolgenden Anfragen enthalten sind (Eingabetoken)
+ Für Standard-Textausgabetoken

**Tipp**  
Wenn erweitertes Denken aktiviert ist, wird zur Unterstützung des Features automatisch ein spezieller Prompt mit 28 oder 29 Token hinzugefügt.

Der Parameter `budget_tokens` bestimmt die maximale Anzahl von Token, die in Claude für den internen Argumentationsprozess verwendet werden dürfen. Durch höhere Budgets kann die Qualität der Antworten verbessert werden, da sie eine gründlichere Analyse komplexer Probleme ermöglichen, wobei in Claude möglicherweise nicht das gesamte zugewiesene Budget aufgebraucht wird, insbesondere bei Bereichen über 32 000.

Beim verschachtelten Denken kann der Parameter `budget_tokens` den Parameter `max_tokens` überschreiten, weil er das Gesamtbudget aller Denkblöcke innerhalb einer Assistentenrunde darstellt.

Berücksichtigen Sie bei der Verwendung von zusammengefasstem Denken Folgendes:
+ **Eingabetoken**: Token in der ursprünglichen Anfrage
+ **Ausgabetoken (in Rechnung gestellt)**: Die ursprünglichen Denktoken, die intern in Claude generiert wurden
+ **Ausgabetoken (sichtbar)**: Die zusammengefassten Denktoken, die Sie in der Antwort sehen
+ **Kostenlos**: Token, die zur Generierung der Zusammenfassung verwendet wurden
+ Im Feld `summary_status` wird möglicherweise angegeben, ob das Token die Zusammenfassung der betroffenen Daten einschränkt
+ Die Anzahl der in Rechnung gestellten Ausgabetoken entspricht nicht der Anzahl der Token, die Sie in der Antwort sehen. Ihnen wird der vollständige Denkprozess in Rechnung gestellt, nicht die Zusammenfassung, die Sie sehen.