Todos los artículos
Por Carlos García 10 min de lectura

Modelos thinking de Claude: cuándo usar extended thinking o el modo estándar

Modelos thinking de Claude: cuándo usar extended thinking o el modo estándar

Claude puede responder directamente en modo estándar o dedicar tokens adicionales a razonar antes de contestar. La segunda opción ayuda en tareas difíciles, pero también suma latencia y costo. La pregunta útil no es si thinking es mejor, sino si una tarea concreta aprovecha lo suficiente ese cómputo extra.

Esta guía compara ambos modos, explica sus controles y propone una forma práctica de elegir el presupuesto de thinking según tu workload.

Qué hace extended thinking

Extended thinking le da a Claude más espacio para razonar sobre tareas complejas antes de responder. Cuando está habilitado, la respuesta incluye un bloque de thinking antes del texto final.

La comparación más cercana es una pizarra: el modo estándar entrega la respuesta de inmediato; extended thinking reserva tiempo para trabajar el problema primero.

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-3-7-sonnet-20250219",
    max_tokens=16000,
    thinking={
        "type": "enabled",
        "budget_tokens": 10000
    },
    messages=[{
        "role": "user",
        "content": "Resuelve este problema matemático complejo: ..."
    }]
)

# La respuesta incluye bloques de pensamiento
for block in response.content:
    if block.type == "thinking":
        print(f"Razonamiento de Claude: {block.thinking}")
    elif block.type == "text":
        print(f"Respuesta final: {block.text}")

Cómo funciona extended thinking

Cuando Claude usa extended thinking, se beneficia de lo que se llama “serial test-time compute” (cómputo serial en tiempo de prueba). Esto significa que usa múltiples pasos de razonamiento secuenciales antes de producir la salida final, añadiendo más recursos computacionales mientras procesa el problema.

La mejora es predecible: la precisión de Claude en tareas como problemas matemáticos mejora logarítmicamente con el número de “thinking tokens” (tokens de pensamiento) que se le permite usar.

Diferencias entre modelos

Diferentes modelos de Claude manejan el extended thinking de manera diferente:

  • Claude 3.7 Sonnet: Retorna la salida completa de pensamiento, mostrándote cada paso del proceso de razonamiento de Claude
  • Modelos Claude 4 (Opus 4.6, Sonnet 4.5): Retorna una versión resumida del proceso de pensamiento de Claude. Aún obtienes los beneficios de inteligencia sin exponer el razonamiento interno completo
  • Adaptive Thinking (Opus 4.6): El modelo puede decidir automáticamente cuándo un razonamiento más profundo sería útil
flowchart TD
    Start[Consulta del Usuario] --> Decision{¿Tarea Compleja?}
    Decision -->|Sí| Extended[Modo Extended Thinking]
    Decision -->|No| Standard[Modo Estándar]

    Extended --> Think[Pasos de Razonamiento Secuencial]
    Think --> Budget{¿Dentro del Presupuesto?}
    Budget -->|Sí| MoreThinking[Continuar Pensando]
    Budget -->|No| Response[Generar Respuesta]
    MoreThinking --> Think

    Standard --> QuickResponse[Respuesta Directa]

    Response --> User[Retornar al Usuario]
    QuickResponse --> User

    style Extended fill:#4A90E2
    style Standard fill:#50C878
    style Think fill:#FFB84D

Cuándo compensa usar extended thinking

Extended thinking brilla en escenarios que requieren razonamiento profundo, paso a paso. Aquí están los casos de uso ideales:

1. Problemas STEM complejos

Matemáticas, física, química, o cualquier problema que requiera construir modelos mentales y aplicar conocimiento especializado.

# Ejemplo: Problema complejo de cálculo
response = client.messages.create(
    model="claude-3-7-sonnet-20250219",
    max_tokens=16000,
    thinking={
        "type": "enabled",
        "budget_tokens": 8000  # Darle a Claude espacio para pensar
    },
    messages=[{
        "role": "user",
        "content": """
        Resuelve la siguiente ecuación diferencial:
        d²y/dx² + 4y = sin(2x)
        con condiciones iniciales y(0) = 1 y y'(0) = 0
        """
    }]
)

2. Proyectos grandes de ingeniería

Cuando necesitas desglosar tareas complejas en hitos más pequeños, tales como:

  • Planificar un release de software con múltiples dependencias
  • Delinear un plan de sprint Agile con priorización del backlog
  • Mapear un proyecto de investigación con múltiples etapas
  • Arquitecturar un sistema de microservicios

3. Código con verificación de tests

Tareas donde Claude necesita escribir código, verificarlo contra casos de prueba, e iterativamente mejorar la solución.

// Ejemplo de prompt para tarea de código compleja
const prompt = `
Crea una implementación en TypeScript de una estructura de datos B-tree
con los siguientes requisitos:
1. Soporte para operaciones de inserción, eliminación y búsqueda
2. Mecanismo de auto-balanceo
3. Soporte para tipos genéricos
4. Tests unitarios comprehensivos
5. Complejidad de tiempo O(log n) para todas las operaciones

Por favor piensa cuidadosamente el diseño antes de implementar.
`;

4. Análisis de varios pasos

Tareas que requieren analizar datos desde múltiples ángulos, considerar varios factores, y sintetizar insights.

Cuándo alcanza el modo estándar

El modo estándar (thinking deshabilitado) es perfecto para:

1. Tareas rápidas y directas

Cuando necesitas respuestas rápidas sin razonamiento profundo:

  • Completado simple de código
  • Respuesta básica a preguntas
  • Formateo de contenido
  • Traducciones directas

2. Requisitos de baja latencia

Cuando el tiempo de respuesta es crítico y la tarea no se beneficia del razonamiento extendido.

// Modo estándar para respuestas rápidas
const response = await client.messages.create({
    model: "claude-sonnet-4-5-20250929",
    max_tokens: 1024,
    // Sin parámetro thinking = modo estándar
    messages: [{
        role: "user",
        content: "Convierte este JavaScript a TypeScript: const x = 5;"
    }]
});

3. Aplicaciones sensibles al costo

Cuando necesitas minimizar costos y la tarea no requiere razonamiento profundo.

4. Tareas por debajo de 1.024 thinking tokens

Si necesitas thinking por debajo del presupuesto mínimo (1024 tokens), usa el modo estándar con prompting tradicional de cadena de pensamiento:

# Prompting de cadena de pensamiento en modo estándar
response = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=2048,
    messages=[{
        "role": "user",
        "content": """
        <thinking>
        Déjame trabajar esto paso a paso:
        1. Primero, analizaré los requisitos
        2. Luego, consideraré casos límite
        3. Finalmente, proporcionaré la solución
        </thinking>

        Calcula el interés compuesto para...
        """
    }]
)

Cómo elegir un thinking budget

El presupuesto de thinking determina cuántos tokens puede usar Claude para su razonamiento interno. Aquí está cómo optimizarlo:

Un punto de partida razonable

  • Presupuesto mínimo: 1024 tokens (impuesto por la API)
  • Enfoque recomendado: Empieza con 1024 y aumenta incrementalmente según los resultados
  • Tareas complejas: Empieza con 16,000+ tokens
  • Tareas muy complejas: 32,000+ tokens (usa procesamiento por lotes para evitar timeouts)
# Prueba progresiva de presupuesto
budgets = [1024, 2048, 4096, 8192, 16384]

for budget in budgets:
    response = client.messages.create(
        model="claude-3-7-sonnet-20250219",
        max_tokens=16000,
        thinking={
            "type": "enabled",
            "budget_tokens": budget
        },
        messages=[{"role": "user", "content": problema_complejo}]
    )

    # Analiza el trade-off calidad vs costo
    evaluate_response_quality(response, budget)

Rangos de presupuesto

Complejidad de TareaPresupuesto RecomendadoCaso de Uso
Razonamiento simple1024-2048 tokensLógica básica, matemáticas simples
Complejidad moderada4096-8192 tokensProblemas multi-paso, revisión de código
Tareas complejas16384+ tokensDiseño de arquitectura, planeación de investigación
Muy complejo32768+ tokensSTEM avanzado, diseño de sistemas grandes

Adaptive thinking en Opus 4.6

Con Claude Opus 4.6 (lanzado en 2026), Anthropic introdujo adaptive thinking. Esta funcionalidad permite a Claude decidir automáticamente cuándo un razonamiento más profundo sería útil.

Cuatro niveles de esfuerzo

  • Low: Pensamiento mínimo, prioriza velocidad
  • Medium: Enfoque balanceado
  • High (predeterminado): Usa extended thinking cuando es útil
  • Max: Máximo esfuerzo de razonamiento para tareas críticas
import anthropic

client = anthropic.Anthropic()

# Adaptive thinking con alto esfuerzo (predeterminado)
response = client.messages.create(
    model="claude-opus-4-6-20260205",
    max_tokens=16000,
    thinking={
        "type": "enabled",
        "budget_tokens": 10000,
        "effort": "high"  # low, medium, high, max
    },
    messages=[{
        "role": "user",
        "content": "Diseña una arquitectura de microservicios escalable para..."
    }]
)

# Claude decide cuándo usar extended thinking
# Obtienes lo mejor de ambos mundos: velocidad cuando es posible,
# razonamiento profundo cuando es necesario

Cuándo usar cada nivel de esfuerzo

  • Low: APIs de producción donde la velocidad es crítica, tareas simples
  • Medium: Aplicaciones de propósito general, rendimiento balanceado
  • High: Recomendación predeterminada para la mayoría de casos de uso
  • Max: Decisiones críticas, análisis complejo, sistemas críticos de seguridad

Los trade-offs

Rendimiento frente a costo

Extended thinking proporciona respuestas más completas pero viene con trade-offs:

Pros:

  • Resultados más precisos en problemas complejos
  • Proceso de razonamiento visible (transparencia)
  • Mejor manejo de casos límite
  • Consistencia lógica mejorada

Contras:

  • Latencia aumentada (toma más tiempo responder)
  • Costos más altos (más tokens consumidos)
  • Puede ser excesivo para tareas simples
graph LR
    A[Extended Thinking] --> B[Mayor Precisión]
    A --> C[Más Tokens]
    A --> D[Mayor Latencia]

    E[Modo Estándar] --> F[Respuesta Rápida]
    E --> G[Menor Costo]
    E --> H[Suficiente para Tareas Simples]

    style A fill:#4A90E2
    style E fill:#50C878
    style B fill:#90EE90
    style C fill:#FFB84D
    style D fill:#FFB84D
    style F fill:#90EE90
    style G fill:#90EE90

Una comparación práctica de costos

Desglosemos las implicaciones de costo:

# Ejemplo de comparación de costos
# Asumiendo precios de Claude Opus 4.6 (tarifas de ejemplo)

# Modo estándar
standard_input_tokens = 1000
standard_output_tokens = 500
standard_cost = (standard_input_tokens * 0.015/1000) +
                (standard_output_tokens * 0.075/1000)

# Modo extended thinking
extended_input_tokens = 1000
extended_thinking_tokens = 8000
extended_output_tokens = 500
extended_cost = (extended_input_tokens * 0.015/1000) +
                (extended_thinking_tokens * 0.015/1000) +
                (extended_output_tokens * 0.075/1000)

print(f"Modo estándar: ${standard_cost:.4f}")
print(f"Extended thinking: ${extended_cost:.4f}")
print(f"Incremento de costo: {(extended_cost/standard_cost - 1) * 100:.1f}%")

Una forma práctica de operarlo

Basado en mi experiencia trabajando con los modelos thinking de Claude, aquí están mis mejores recomendaciones:

1. Empezá con poco y aumentá con criterio

Empieza con modo estándar o presupuestos mínimos de thinking. Solo incrementa cuando veas mejoras de calidad que justifiquen el costo.

2. Usá adaptive thinking cuando encaje

Si estás en Claude Opus 4.6, aprovecha adaptive thinking con el nivel de esfuerzo “high”. Deja que el modelo decida cuándo pensar profundamente.

3. Medí tus propios casos de uso

Crea una suite de pruebas de tareas representativas y mide calidad vs costo a través de diferentes modos y presupuestos.

# Ejemplo de enfoque de benchmarking
test_cases = [
    ("consulta_simple", "¿Cuánto es 2+2?"),
    ("tarea_moderada", "Refactoriza este código para usar async/await"),
    ("problema_complejo", "Diseña un sistema distribuido tolerante a fallos")
]

configs = [
    {"mode": "standard"},
    {"mode": "thinking", "budget": 2048},
    {"mode": "thinking", "budget": 8192},
]

for name, query in test_cases:
    for config in configs:
        result = run_test(query, config)
        log_metrics(name, config, result)

4. Monitoreá el uso de thinking tokens

Rastrea cuántos thinking tokens se usan realmente vs los presupuestados. Esto ayuda a optimizar tus presupuestos.

5. Usá procesamiento por lotes para presupuestos grandes

Para presupuestos de thinking superiores a 32K tokens, usa procesamiento por lotes para evitar problemas de timeout.

6. Ajustá el modo al tipo de tarea

Crea una matriz de decisión para tu equipo:

flowchart TD
    Start[Nueva Tarea] --> Q1{¿Requiere razonamiento multi-paso?}
    Q1 -->|No| Standard[Usar Modo Estándar]
    Q1 -->|Sí| Q2{¿Sensible al tiempo?}

    Q2 -->|Sí| Q3{¿Se necesita precisión crítica?}
    Q2 -->|No| Extended[Usar Extended Thinking]

    Q3 -->|Sí| Extended
    Q3 -->|No| Standard

    Extended --> Q4{¿Complejidad de tarea?}
    Q4 -->|Simple| Budget1[1024-2048 tokens]
    Q4 -->|Moderada| Budget2[4096-8192 tokens]
    Q4 -->|Compleja| Budget3[16384+ tokens]

    Standard --> Done[Ejecutar]
    Budget1 --> Done
    Budget2 --> Done
    Budget3 --> Done

    style Extended fill:#4A90E2
    style Standard fill:#50C878

Ejemplo: revisión de arquitectura de código

Déjame mostrarte un ejemplo práctico comparando ambos modos:

# Modo estándar
# Rápido pero podría perder casos límite
response = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=2048,
    messages=[{
        "role": "user",
        "content": "Revisa este código por problemas"
    }]
)
# Tiempo de respuesta: ~2 segundos
# Encuentra: 3 bugs obvios
# Modo extended thinking
# Más lento pero más exhaustivo
response = client.messages.create(
    model="claude-3-7-sonnet-20250219",
    max_tokens=8000,
    thinking={
        "type": "enabled",
        "budget_tokens": 4096
    },
    messages=[{
        "role": "user",
        "content": "Revisa este código por problemas"
    }]
)
# Tiempo de respuesta: ~8 segundos
# Encuentra: 3 bugs + 2 casos límite +
#           1 preocupación arquitectónica

Una regla simple para decidir

Ningún modo gana por defecto. Conviene elegir según la tarea y las restricciones que la rodean.

Usa Extended Thinking cuando:

  • La tarea requiere razonamiento multi-paso
  • La precisión es más importante que la velocidad
  • Estás trabajando en problemas complejos de STEM, ingeniería o analíticos
  • El trade-off de costo está justificado por la mejora de calidad

Usa Modo Estándar cuando:

  • Necesitas respuestas rápidas
  • La tarea es directa
  • La optimización de costos es una prioridad
  • La latencia es un factor crítico

Usa Adaptive Thinking cuando:

  • Quieres que el modelo decida automáticamente
  • Estás usando Claude Opus 4.6
  • Quieres un enfoque balanceado a través de tareas variadas

Empezá con el modo estándar o un presupuesto pequeño, medí el resultado con tareas representativas y aumentá el budget solo cuando la mejora de calidad justifique la latencia y el costo adicionales.

Lee la documentación oficial de extended thinking de Claude

De la idea a la acción

¿Quieres convertir esto en un agente que trabaje para tu equipo?

Cuéntanos qué proceso quieres mejorar. En una llamada gratuita identificaremos el primer flujo que vale la pena construir.

Agenda una llamada gratuita