Claude Extended Thinking
Diese Seite beschreibt, wie Sie Extended Thinking bei Claude aktivieren und die Thinking-Inhalte auslesen. Modell-IDs und Endpunktadressen finden Sie im Überblick zur Claude-Reihe.
Kurz gesagtAm nativen Endpunkt übergeben Sie thinking, am OpenAI-kompatiblen Endpunkt ein reasoning-Objekt. Setzen Sie bei aktiviertem Thinking keine temperature.
Mit Extended Thinking denkt das Modell vor der Antwort nach; das eignet sich für Mathematik, Code und mehrstufige Analysen. Gemessen liefern die folgenden Modelle beim Standardanbieter zuverlässig Thinking-Inhalte: Opus 5.5, Opus 5, Opus 4.8, Opus 4.6, Sonnet 4.6, Haiku 5.5, Haiku 4.5, Fable 5.
Nativer Anthropic-Endpunkt
Zwei Modi:
Python
claude_thinking.py
import os
import anthropic
client = anthropic.Anthropic(base_url="https://api.ofox.io/anthropic", api_key=os.environ["OFOX_API_KEY"])
message = client.messages.create(
model="anthropic/claude-opus-5.5",
max_tokens=4000,
thinking={"type": "enabled", "budget_tokens": 2000},
messages=[{"role": "user", "content": "Schläger und Ball kosten zusammen 1,10 Dollar. Der Schläger kostet 1 Dollar mehr als der Ball. Wie viel kostet der Ball?"}],
)
for block in message.content:
if block.type == "thinking":
print("[Thinking]", block.thinking)
elif block.type == "text":
print("[Antwort]", block.text)- Im
contentder Antwort steht zuerst derthinking-Block, danach dertext-Block. Derthinking-Block enthält einesignature, die bei mehrstufigen Tool-Aufrufen unverändert zurückgesendet werden muss. - Beim Streaming kommen die Thinking-Inhalte als
thinking_delta-Ereignisse, gefolgt von einemsignature_delta-Ereignis; danach beginnttext_delta. - Setzen Sie bei aktiviertem Thinking keine
temperature(oder setzen Sie sie auf 1) und keintop_k. - Die für das Thinking verbrauchten Tokens zählen zu
output_tokensund werden zum Ausgabepreis abgerechnet.
OpenAI-kompatibler Endpunkt
Aktivierung über das Objekt reasoning; max_tokens ist dabei das Thinking-Budget:
claude_thinking_openai.py
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"])
resp = client.chat.completions.create(
model="anthropic/claude-sonnet-4.6",
max_tokens=4000,
extra_body={"reasoning": {"max_tokens": 2000}},
messages=[{"role": "user", "content": "Schläger und Ball kosten zusammen 1,10 Dollar. Der Schläger kostet 1 Dollar mehr als der Ball. Wie viel kostet der Ball?"}],
)
msg = resp.choices[0].message
details = getattr(msg, "reasoning_details", None) or []
print("[Thinking]", "".join(d.get("text", "") for d in details))
print("[Antwort]", msg.content)- In nicht gestreamten Antworten stehen die Thinking-Inhalte in
message.reasoning_details; fügen Sie dietext-Felder der Einträge der Reihe nach zusammen. - In gestreamten Antworten stehen die Thinking-Inhalte in
delta.reasoning_content.
Weitere Fehler: Häufige Fehler.
Zuletzt aktualisiert am