Extended thinking de Claude
Esta página explica cómo activar el extended thinking de Claude y leer su contenido. Los IDs de modelo y las URL de los endpoints están en el resumen de la familia Claude.
ClaveEn el endpoint nativo envíe thinking; en el compatible con OpenAI, un objeto reasoning. Con thinking activado, no configure temperature.
El extended thinking hace que el modelo razone antes de responder; es adecuado para matemáticas, código y análisis de varios pasos. En nuestras mediciones, los siguientes modelos devuelven el contenido del thinking de forma estable con el proveedor predeterminado: Opus 5.5, Opus 5, Opus 4.8, Opus 4.6, Sonnet 4.6, Haiku 5.5, Haiku 4.5 y Fable 5.
Endpoint nativo de Anthropic
Dos modos:
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": "Un bate y una pelota cuestan 1,10 dólares en total. El bate cuesta 1 dólar más que la pelota. ¿Cuánto cuesta la pelota?"}],
)
for block in message.content:
if block.type == "thinking":
print("[Thinking]", block.thinking)
elif block.type == "text":
print("[Respuesta]", block.text)- En el
contentde la respuesta aparece primero el bloquethinkingy después el bloquetext. El bloquethinkingincluye unasignature, que debe devolverse tal cual en las llamadas a herramientas de varios turnos. - En streaming, el contenido del thinking llega mediante eventos
thinking_delta, seguidos de un eventosignature_delta, y luego empiezan lostext_delta. - Con thinking activado, no configure
temperature(o déjelo en 1) nitop_k. - Los tokens que consume el thinking se cuentan en
output_tokensy se facturan al precio de salida.
Endpoint compatible con OpenAI
Se activa con el objeto reasoning, cuyo max_tokens es el presupuesto de thinking:
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": "Un bate y una pelota cuestan 1,10 dólares en total. El bate cuesta 1 dólar más que la pelota. ¿Cuánto cuesta la pelota?"}],
)
msg = resp.choices[0].message
details = getattr(msg, "reasoning_details", None) or []
print("[Thinking]", "".join(d.get("text", "") for d in details))
print("[Respuesta]", msg.content)- En las respuestas sin streaming, el contenido del thinking está en
message.reasoning_details; concatene por orden eltextde cada elemento. - En las respuestas en streaming, el contenido del thinking está en
delta.reasoning_content.
Otros errores: Errores habituales.
Última actualización: