Skip to Content
ModelosClaudeExtended thinking

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:

ModoFormatoNotas
Presupuesto fijo"thinking": {"type": "enabled", "budget_tokens": 2000}budget_tokens debe ser al menos 1024 y menor que max_tokens
Adaptativo"thinking": {"type": "adaptive"}El modelo decide la profundidad del thinking; se puede ajustar con "output_config": {"effort": "low"} u opciones similares
claude_thinking.py
import os import anthropic client = anthropic.Anthropic(base_url="https://api.ofox.ai/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 content de la respuesta aparece primero el bloque thinking y después el bloque text. El bloque thinking incluye una signature, 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 evento signature_delta, y luego empiezan los text_delta.
  • Con thinking activado, no configure temperature (o déjelo en 1) ni top_k.
  • Los tokens que consume el thinking se cuentan en output_tokens y 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.ai/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 el text de cada elemento.
  • En las respuestas en streaming, el contenido del thinking está en delta.reasoning_content.

Otros errores: Errores habituales.

Última actualización: