Skip to content

Modelos Thinking: Capacidades de Razonamiento de Claude y Gemini 3 ​

Lo que Podrás Hacer al Terminar ​

  • Configurar el thinking budget de los modelos Thinking de Claude Opus 4.5 y Sonnet 4.5
  • Usar thinking level (minimal/low/medium/high) de Gemini 3 Pro/Flash
  • Ajustar la intensidad de razonamiento de forma flexible con el sistema de variantes de OpenCode
  • Entender interleaved thinking (mecanismo de razonamiento durante llamadas a herramientas)
  • Dominar la estrategia de retención de bloques de thinking (configuración keep_thinking)

Tu Dilema Actual ​

Quieres que los modelos de IA funcionen mejor en tareas complejas, como el razonamiento de múltiples pasos, la depuración de código o el diseño de arquitectura. Pero sabes que:

  • Los modelos normales responden demasiado rápido, sin pensar con suficiente profundidad
  • Claude limita oficialmente la función thinking, siendo difícil acceder a ella
  • La configuración de thinking level de Gemini 3 no está clara
  • No está claro cuánto thinking es suficiente (cuánto debería ser el budget)
  • Al leer el contenido de los bloques de thinking encuentras errores de firma

Cuándo Usar Esta Técnica ​

Escenarios aplicables:

  • Problemas complejos que requieren razonamiento de múltiples pasos (diseño de algoritmos, arquitectura de sistemas)
  • Revisión de código o depuración que requiere pensamiento cuidadoso
  • Documentos largos o bases de código que requieren análisis profundo
  • Tareas intensivas en llamadas a herramientas (requiere interleaved thinking)

Escenarios no aplicables:

  • Preguntas y respuestas simples (desperdicia cuota de thinking)
  • Validación rápida de prototipos (la velocidad es prioridad)
  • Consultas de hechos (no requieren razonamiento)

🎒 Preparativos Antes de Empezar ​

Verificación previa

  1. Instalación del complemento y autenticación completadas: Consulta Instalación Rápida y Primera Autenticación
  2. Conocimiento básico del uso de modelos: Consulta Primera Solicitud
  3. Tener modelos Thinking disponibles: Asegúrate de que tu cuenta tenga permiso para acceder a Claude Opus 4.5/Sonnet 4.5 Thinking o Gemini 3 Pro/Flash

Idea Central ​

Qué Son los Modelos Thinking ​

Los modelos Thinking realizan razonamiento interno (thinking blocks) antes de generar la respuesta final. Este contenido de pensamiento:

  • No se cobra: Los tokens de thinking no se cuentan en la cuota de salida estándar (las reglas de facturación específicas están sujetas a la política oficial de Antigravity)
  • Mejora la calidad del razonamiento: Más thinking → respuestas más precisas y lógicas
  • Consume tiempo: El thinking aumenta la latencia de respuesta, pero a cambio obtienes mejores resultados

Diferencias clave:

Modelo NormalModelo Thinking
Genera la respuesta directamentePrimero piensa → Luego genera la respuesta
Rápido pero posiblemente superficialLento pero más profundo
Adecuado para tareas simplesAdecuado para tareas complejas

Dos Implementaciones de Thinking ​

El complemento Antigravity Auth admite dos implementaciones de Thinking:

Claude Thinking (Opus 4.5, Sonnet 4.5) ​

  • Budget basado en tokens: Controla la cantidad de thinking con números (como 8192, 32768)
  • Thinking entrelazado: Puede pensar antes y después de las llamadas a herramientas
  • Claves snake_case: Usa include_thoughts, thinking_budget

Gemini 3 Thinking (Pro, Flash) ​

  • Basado en niveles: Controla la intensidad de thinking con cadenas (minimal/low/medium/high)
  • Claves camelCase: Usa includeThoughts, thinkingLevel
  • Diferencias de modelo: Flash admite los 4 niveles, Pro solo admite low/high

Sígueme ​

Paso 1: Configurar Modelos Thinking mediante Variantes ​

El sistema de variantes de OpenCode te permite seleccionar la intensidad de thinking directamente en el selector de modelos, sin necesidad de recordar nombres de modelos complejos.

Verificar la Configuración Existente ​

Revisa tu archivo de configuración de modelos (generalmente en .opencode/models.json o en el directorio de configuración del sistema):

bash
## Ver configuración de modelos
cat ~/.opencode/models.json

Configurar Modelos Thinking de Claude ​

Encuentra antigravity-claude-sonnet-4-5-thinking o antigravity-claude-opus-4-5-thinking, agrega variantes:

json
{
  "antigravity-claude-sonnet-4-5-thinking": {
    "name": "Claude Sonnet 4.5 Thinking",
    "limit": { "context": 200000, "output": 64000 },
    "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
    "variants": {
      "low": { "thinkingConfig": { "thinkingBudget": 8192 } },
      "medium": { "thinkingConfig": { "thinkingBudget": 16384 } },
      "max": { "thinkingConfig": { "thinkingBudget": 32768 } }
    }
  }
}

Descripción de la configuración:

  • low: 8192 tokens - Thinking ligero, adecuado para tareas de complejidad media
  • medium: 16384 tokens - Equilibrio entre thinking y velocidad
  • max: 32768 tokens - Máximo thinking, adecuado para las tareas más complejas

Configurar Modelos Thinking de Gemini 3 ​

Gemini 3 Pro (solo admite low/high):

json
{
  "antigravity-gemini-3-pro": {
    "name": "Gemini 3 Pro (Antigravity)",
    "limit": { "context": 1048576, "output": 65535 },
    "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
    "variants": {
      "low": { "thinkingLevel": "low" },
      "high": { "thinkingLevel": "high" }
    }
  }
}

Gemini 3 Flash (admite los 4 niveles):

json
{
  "antigravity-gemini-3-flash": {
    "name": "Gemini 3 Flash (Antigravity)",
    "limit": { "context": 1048576, "output": 65536 },
    "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
    "variants": {
      "minimal": { "thinkingLevel": "minimal" },
      "low": { "thinkingLevel": "low" },
      "medium": { "thinkingLevel": "medium" },
      "high": { "thinkingLevel": "high" }
    }
  }
}

Descripción de la configuración:

  • minimal: Mínimo thinking, respuesta más rápida (solo Flash)
  • low: Thinking ligero
  • medium: Thinking equilibrado (solo Flash)
  • high: Máximo thinking (más lento pero más profundo)

Lo que deberías ver: En el selector de modelos de OpenCode, después de seleccionar un modelo Thinking, deberías ver un menú desplegable de variantes.

Paso 2: Usar Modelos Thinking para Realizar Solicitudes ​

Una vez completada la configuración, puedes seleccionar el modelo y la variante a través de OpenCode:

bash
## Usar Claude Sonnet 4.5 Thinking (max)
opencode run "Ayúdame a diseñar la arquitectura de un sistema de caché distribuido" \
  --model=google/antigravity-claude-sonnet-4-5-thinking \
  --variant=max

## Usar Gemini 3 Pro (high)
opencode run "Analiza los cuellos de botella de rendimiento de este código" \
  --model=google/antigravity-gemini-3-pro \
  --variant=high

## Usar Gemini 3 Flash (minimal - el más rápido)
opencode run "Resume rápidamente el contenido de este archivo" \
  --model=google/antigravity-gemini-3-flash \
  --variant=minimal

Lo que deberías ver: El modelo primero mostrará thinking blocks (contenido de pensamiento), luego generará la respuesta final.

Paso 3: Entender el Interleaved Thinking ​

El interleaved thinking es una capacidad especial de los modelos de Claude: puede pensar antes y después de las llamadas a herramientas.

Ejemplo de escenario: Cuando pides a la IA que use herramientas (como operaciones de archivos, consultas a base de datos) para completar tareas:

Thinking: Necesito leer primero el archivo de configuración, luego decidir el siguiente paso según el contenido...

[Llamada a herramienta: read_file("config.json")]

Tool Result: { "port": 8080, "mode": "production" }

Thinking: El puerto es 8080, modo de producción. Necesito verificar si la configuración es correcta...

[Llamada a herramienta: validate_config({ "port": 8080, "mode": "production" })]

Tool Result: { "valid": true }

Thinking: La configuración es válida. Ahora puedo iniciar el servicio.

[Generación de respuesta final]

Por qué es importante:

  • Hay pensamiento antes y después de las llamadas a herramientas → decisiones más inteligentes
  • Se adapta a los resultados devueltos por herramientas → ajusta estrategias dinámicamente
  • Evita ejecutar ciegamente → reduce errores operativos

Manejo automático del complemento

No necesitas configurar manualmente el interleaved thinking. El complemento Antigravity Auth detectará automáticamente los modelos Thinking de Claude e inyectará instrucciones del sistema:

  • "Interleaved thinking is enabled. You may think between tool calls and after receiving tool results before deciding on next action or final answer."

Paso 4: Controlar la Estrategia de Retención de Bloques de Thinking ​

Por defecto, el complemento elimina los bloques de thinking para mejorar la confiabilidad (evitar errores de firma). Si quieres leer el contenido de thinking, necesitas configurar keep_thinking.

¿Por Qué Se Eliminan por Defecto? ​

Problema de errores de firma:

  • Los thinking blocks necesitan coincidencia de firma en conversaciones de múltiples rondas
  • Si se conservan todos los bloques de thinking, puede causar conflictos de firma
  • Eliminar los bloques de thinking es una solución más estable (pero pierdes el contenido de thinking)

Habilitar la Retención de Bloques de Thinking ​

Crea o edita el archivo de configuración:

Linux/macOS: ~/.config/opencode/antigravity.json

Windows: %APPDATA%\opencode\antigravity.json

json
{
  "$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json",
  "keep_thinking": true
}

O usa variables de entorno:

bash
export OPENCODE_ANTIGRAVITY_KEEP_THINKING=1

Lo que deberías ver:

  • keep_thinking: false (predeterminado): solo ves la respuesta final, los bloques de thinking están ocultos
  • keep_thinking: true: ves el proceso completo de thinking (puedes encontrar errores de firma en algunas conversaciones de múltiples rondas)

Prácticas recomendadas

  • Entorno de producción: Usa keep_thinking: false predeterminado para asegurar estabilidad
  • Depuración/aprendizaje: Habilita temporalmente keep_thinking: true para observar el proceso de thinking
  • Si encuentras errores de firma: Deshabilita keep_thinking, el complemento se recuperará automáticamente

Paso 5: Verificar Max Output Tokens ​

Los modelos Thinking de Claude necesitan un límite mayor de tokens de salida (maxOutputTokens), de lo contrario el thinking budget podría no usarse completamente.

Manejo automático del complemento:

  • Si configuras thinking budget, el complemento ajustará automáticamente maxOutputTokens a 64,000
  • Ubicación del código fuente: src/plugin/transform/claude.ts:78-90

Configuración manual (opcional):

Si configuras manualmente maxOutputTokens, asegúrate de que sea mayor que el thinking budget:

json
{
  "antigravity-claude-sonnet-4-5-thinking": {
    "variants": {
      "max": {
        "thinkingConfig": { "thinkingBudget": 32768 },
        "maxOutputTokens": 64000  // Debe ser >= thinkingBudget
      }
    }
  }
}

Lo que deberías ver:

  • Si maxOutputTokens es demasiado pequeño, el complemento lo ajustará automáticamente a 64,000
  • En los registros de depuración se mostrará "Adjusted maxOutputTokens for thinking model"

Puntos de Control ✅ ​

Verifica que tu configuración sea correcta:

1. Verificar Visibilidad de Variantes ​

En OpenCode:

  1. Abre el selector de modelos
  2. Selecciona Claude Sonnet 4.5 Thinking
  3. Verifica si hay un menú desplegable de variantes (low/medium/max)

Resultado esperado: Deberías ver 3 opciones de variantes.

2. Verificar Salida de Contenido de Thinking ​

bash
opencode run "Piensa en 3 pasos: 1+1=¿? ¿Por qué?" \
  --model=google/antigravity-claude-sonnet-4-5-thinking \
  --variant=max

Resultado esperado:

  • Si keep_thinking: true: ves el proceso detallado de thinking
  • Si keep_thinking: false (predeterminado): ves directamente la respuesta "2"

3. Verificar Interleaved Thinking (requiere llamadas a herramientas) ​

bash
## Usa una tarea que requiere llamadas a herramientas
opencode run "Lee la lista de archivos del directorio actual, luego resume los tipos de archivos" \
  --model=google/antigravity-claude-sonnet-4-5-thinking \
  --variant=medium

Resultado esperado:

  • Ves contenido de thinking antes y después de las llamadas a herramientas
  • La IA ajustará su estrategia según los resultados devueltos por las herramientas

Advertencias de Errores Comunes ​

❌ Error 1: Thinking Budget Excede Max Output Tokens ​

Problema: Configuraste thinkingBudget: 32768, pero maxOutputTokens: 20000

Mensaje de error:

Invalid argument: max_output_tokens must be greater than or equal to thinking_budget

Solución:

  • Deja que el complemento lo maneje automáticamente (recomendado)
  • O configura manualmente maxOutputTokens >= thinkingBudget

❌ Error 2: Gemini 3 Pro Usa Nivel No Soportado ​

Problema: Gemini 3 Pro solo admite low/high, pero intentas usar minimal

Mensaje de error:

Invalid argument: thinking_level "minimal" not supported for gemini-3-pro

Solución: Solo usa los niveles que admite Pro (low/high)

❌ Error 3: Error de Firma en Conversaciones de Múltiples Rondas (keep_thinking: true) ​

Problema: Después de habilitar keep_thinking: true, encuentras errores en conversaciones de múltiples rondas

Mensaje de error:

Signature mismatch in thinking blocks

Solución:

  • Deshabilita temporalmente keep_thinking: export OPENCODE_ANTIGRAVITY_KEEP_THINKING=0
  • O reinicia la sesión

❌ Error 4: Las Variantes No Se Muestran ​

Problema: Configuraste variantes, pero no las ves en el selector de modelos de OpenCode

Posibles causas:

  • Ruta incorrecta del archivo de configuración
  • Error de sintaxis JSON (falta de comas, comillas)
  • ID de modelo no coincidente

Solución:

  1. Verifica la ruta del archivo de configuración: ~/.opencode/models.json o ~/.config/opencode/models.json
  2. Valida la sintaxis JSON: cat ~/.opencode/models.json | python -m json.tool
  3. Verifica si el ID del modelo coincide con lo que devuelve el complemento

Resumen de Esta Lección ​

Los modelos Thinking mejoran la calidad de respuesta en tareas complejas al realizar razonamiento interno antes de generar respuestas:

FunciónClaude ThinkingGemini 3 Thinking
Método de configuraciónthinkingBudget (número)thinkingLevel (cadena)
NivelesBudget personalizadominimal/low/medium/high
Clavessnake_case (include_thoughts)camelCase (includeThoughts)
Interleaved✅ Admite❌ No admite
Max OutputAjustado automáticamente a 64,000Usa valores predeterminados

Configuraciones clave:

  • Sistema de variantes: Configura mediante thinkingConfig.thinkingBudget (Claude) o thinkingLevel (Gemini 3)
  • keep_thinking: false predeterminado (estable), true (legible contenido de thinking)
  • Thinking entrelazado: Habilitado automáticamente, no requiere configuración manual

Próxima Lección ​

En la próxima lección aprenderemos Google Search Grounding.

Aprenderás:

  • Habilitar la recuperación de Google Search para modelos Gemini
  • Configurar umbrales de recuperación dinámica
  • Mejorar la precisión factual, reducir alucinaciones

Apéndice: Referencia del Código Fuente ​

Haz clic para expandir y ver las ubicaciones del código fuente

Fecha de actualización: 2026-01-23

FunciónRuta del archivoLínea
Construcción de configuración Claude Thinkingsrc/plugin/transform/claude.ts62-72
Construcción de configuración Gemini 3 Thinkingsrc/plugin/transform/gemini.ts163-171
Construcción de configuración Gemini 2.5 Thinkingsrc/plugin/transform/gemini.ts176-184
Detección de modelo Claude Thinkingsrc/plugin/transform/claude.ts34-37
Detección de modelo Gemini 3src/plugin/transform/gemini.ts137-139
Inyección de Hint de Interleaved Thinkingsrc/plugin/transform/claude.ts96-138
Ajuste automático de Max Output Tokenssrc/plugin/transform/claude.ts78-90
Schema de configuración keep_thinkingsrc/plugin/config/schema.ts78-87
Aplicación de transformación Claude Thinkingsrc/plugin/transform/claude.ts324-366
Aplicación de transformación Gemini Thinkingsrc/plugin/transform/gemini.ts372-434

Constantes clave:

  • CLAUDE_THINKING_MAX_OUTPUT_TOKENS = 64_000: Número máximo de tokens de salida para modelos Claude Thinking
  • CLAUDE_INTERLEAVED_THINKING_HINT: Hint de interleaved thinking inyectado en las instrucciones del sistema

Funciones clave:

  • buildClaudeThinkingConfig(includeThoughts, thinkingBudget): Construye configuración Claude Thinking (claves snake_case)
  • buildGemini3ThinkingConfig(includeThoughts, thinkingLevel): Construye configuración Gemini 3 Thinking (cadena de nivel)
  • buildGemini25ThinkingConfig(includeThoughts, thinkingBudget): Construye configuración Gemini 2.5 Thinking (budget numérico)
  • ensureClaudeMaxOutputTokens(generationConfig, thinkingBudget): Asegura que maxOutputTokens sea lo suficientemente grande
  • appendClaudeThinkingHint(payload, hint): Inyecta hint de interleaved thinking
  • isClaudeThinkingModel(model): Detecta si es un modelo Claude Thinking
  • isGemini3Model(model): Detecta si es un modelo Gemini 3