Gemini está pensando
Los modelos de las series Gemini 3 y 2.5 usan un "proceso de pensamiento" interno que mejora significativamente sus capacidades de razonamiento y planificación de varios pasos, lo que los hace muy eficaces para tareas complejas, como programación, matemáticas avanzadas y análisis de datos.
En esta guía, se muestra cómo trabajar con las capacidades de pensamiento de Gemini usando la API de Gemini.
Genera contenido con razonamiento
Iniciar una solicitud con un modelo de razonamiento es similar a cualquier otra solicitud de generación de contenido. La diferencia clave radica en especificar uno de los modelos con asistencia para el pensamiento en el campo model:
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3-flash-preview",
input="Explain the concept of Occam's Razor and provide a simple, everyday example."
)
print(interaction.steps[-1].content[0].text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: "gemini-3-flash-preview",
input: "Explain the concept of Occam's Razor and provide a simple, everyday example."
});
console.log(interaction.steps.at(-1).content[0].text);
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gemini-3-flash-preview",
"input": "Explain the concept of Occam'\''s Razor and provide a simple example."
}'
Resúmenes de pensamientos
Los resúmenes de pensamiento brindan información sobre el proceso de razonamiento interno del modelo.
De forma predeterminada, solo se devuelve el resultado final. Puedes habilitar los resúmenes de pensamientos con thinking_summaries:
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3-flash-preview",
input="What is the sum of the first 50 prime numbers?",
generation_config={
"thinking_summaries": "auto"
}
)
for step in interaction.steps:
if step.type == "thought":
print("Thought summary:")
for content_block in step.summary:
if content_block.type == "text":
print(content_block.text)
print()
elif step.type == "model_output":
for content_block in step.content:
if content_block.type == "text":
print("Answer:")
print(content_block.text)
print()
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: "gemini-3-flash-preview",
input: "What is the sum of the first 50 prime numbers?",
generationConfig: {
thinkingSummaries: "auto"
}
});
for (const step of interaction.steps) {
if (step.type === "thought") {
console.log("Thought summary:");
for (const contentBlock of step.summary) {
if (contentBlock.type === "text") console.log(contentBlock.text);
}
} else if (step.type === "model_output") {
for (const contentBlock of step.content) {
if (contentBlock.type === "text") {
console.log("Answer:");
console.log(contentBlock.text);
}
}
}
}
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gemini-3-flash-preview",
"input": "What is the sum of the first 50 prime numbers?",
"generationConfig": {
"thinkingSummaries": "auto"
}
}'
Transmite con pensamiento
Usa la transmisión para recibir resúmenes de pensamientos incrementales durante la generación. Esto devuelve resúmenes incrementales y continuos a medida que se generan:
Python
from google import genai
client = genai.Client()
prompt = """
Alice, Bob, and Carol each live in a different house on the same street: red, green, and blue.
Alice does not live in the red house.
Bob does not live in the green house.
Carol does not live in the red or green house.
Which house does each person live in?
"""
thoughts = ""
answer = ""
stream = client.interactions.create(
model="gemini-3-flash-preview",
input=prompt,
generation_config={
"thinking_summaries": "auto"
},
stream=True
)
thoughts = ""
answer = ""
for event in stream:
if event.event_type == "step.delta":
if event.delta.type == "thought":
if not thoughts:
print("Thinking...")
summary_text = getattr(event.delta, 'text', '')
print(f"[Thought] {summary_text}", end="")
thoughts += summary_text
elif event.delta.type == "text" and event.delta.text:
if not answer:
print("\nAnswer:")
print(event.delta.text, end="")
answer += event.delta.text
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const prompt = `Alice, Bob, and Carol each live in a different house on the same
street: red, green, and blue. Alice does not live in the red house.
Bob does not live in the green house.
Carol does not live in the red or green house.
Which house does each person live in?`;
let thoughts = "";
let answer = "";
const stream = await client.interactions.create({
model: "gemini-3-flash-preview",
input: prompt,
generationConfig: {
thinkingSummaries: "auto"
},
stream: true
});
for await (const event of stream) {
if (event.type === "step.delta") {
if (event.delta.type === "thought") {
if (!thoughts) console.log("Thinking...");
process.stdout.write(`[Thought] ${event.delta.text || ""}`);
thoughts += event.delta.text || "";
} else if (event.delta.type === "text" && event.delta.text) {
if (!answer) console.log("\nAnswer:");
process.stdout.write(event.delta.text);
answer += event.delta.text;
}
}
}
Pensamiento de control
De forma predeterminada, los modelos de Gemini participan en el pensamiento dinámico, ya que ajustan automáticamente la cantidad de esfuerzo de razonamiento según la complejidad de la solicitud. Sin embargo, puedes controlar este comportamiento con parámetros de configuración.
Niveles de pensamiento (Gemini 3)
El parámetro thinking_level, recomendado para los modelos de Gemini 3 y posteriores, te permite controlar el comportamiento del razonamiento.
| Nivel de pensamiento | Gemini 3.1 Pro | Gemini 3 Pro (no disponible) | Gemini 3 Flash | Descripción |
|---|---|---|---|---|
minimal |
No compatible | No compatible | Admitido | Coincide con el parámetro de configuración "sin pensar" para la mayoría de las búsquedas. El modelo puede pensar de forma muy mínima para tareas de programación complejas. Minimiza la latencia para aplicaciones de chat o de alta capacidad de procesamiento. Ten en cuenta que minimal no garantiza que el pensamiento esté desactivado. |
low |
Admitido | Admitido | Admitido | Minimiza la latencia y el costo. Es la mejor opción para seguir instrucciones, chatear o usar aplicaciones de alta capacidad de procesamiento. |
medium |
Admitido | No compatible | Admitido | Pensamiento equilibrado para la mayoría de las tareas. |
high |
Admitida (predeterminada, dinámica) | Admitida (predeterminada, dinámica) | Admitida (predeterminada, dinámica) | Maximiza la profundidad del razonamiento. El modelo puede tardar mucho más en generar el primer token de salida (sin pensar), pero la salida se razonará con más cuidado. |
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3-flash-preview",
input="Provide a list of 3 famous physicists and their key contributions",
generation_config={
"thinking_level": "low"
}
)
print(interaction.steps[-1].content[0].text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: "gemini-3-flash-preview",
input: "Provide a list of 3 famous physicists and their key contributions",
generationConfig: {
thinkingLevel: "low"
}
});
console.log(interaction.steps.at(-1).content[0].text);
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gemini-3-flash-preview",
"input": "Provide a list of 3 famous physicists and their key contributions",
"generation_config": {
"thinking_level": "low"
}
}'
No puedes inhabilitar el pensamiento de Gemini 3 Pro. Gemini 3 Flash tampoco admite el apagado completo del pensamiento, pero el parámetro de configuración minimal significa que es probable que el modelo no piense (aunque aún puede hacerlo).
Firmas de pensamiento
La API de Gemini no tiene estado, por lo que el modelo trata cada solicitud a la API de forma independiente y no tiene acceso al contexto de pensamiento de los turnos anteriores en las interacciones de varios turnos.
Para mantener el contexto del pensamiento en las interacciones de varios turnos, Gemini devuelve firmas de pensamiento, que son representaciones encriptadas del proceso de pensamiento interno del modelo.
- Los modelos de Gemini 2.5 devuelven firmas de pensamiento cuando el pensamiento está habilitado y la solicitud incluye llamadas a funciones, específicamente declaraciones de funciones.
- Los modelos de Gemini 3 pueden devolver firmas de pensamiento para todos los tipos de partes. Te recomendamos que siempre pases todas las firmas tal como las recibiste, pero es obligatorio para las firmas de llamadas a funciones. Lee la página Firmas de pensamiento para obtener más información.
- Las firmas se devuelven desde el modelo dentro de otras partes de la respuesta, por ejemplo, llamadas a funciones o partes de texto. Devuelve toda la respuesta con todas las partes al modelo en los turnos posteriores.
- No concatenes partes con firmas.
- No combines una parte con una firma con otra parte sin firma.
Precios
Cuando se activa el razonamiento, el precio de la respuesta es la suma de los tokens de salida y los tokens de razonamiento. Puedes obtener la cantidad total de tokens de pensamiento generados en el campo total_thought_tokens.
Python
# ...
print("Thoughts tokens:", interaction.usage.total_thought_tokens)
print("Output tokens:", interaction.usage.total_output_tokens)
JavaScript
// ...
console.log(`Thoughts tokens: ${interaction.usage.totalThoughtTokens}`);
console.log(`Output tokens: ${interaction.usage.totalOutputTokens}`);
Los modelos de pensamiento generan pensamientos completos para mejorar la calidad de la respuesta final y, luego, generan resúmenes para proporcionar información sobre el proceso de pensamiento. El precio se basa en los tokens de pensamiento completos que el modelo necesita generar, a pesar de que solo el resumen se genera desde la API.
Puedes obtener más información sobre los tokens en la guía Recuento de tokens.
Prácticas recomendadas
En esta sección, se incluye orientación para usar los modelos de pensamiento de manera eficiente.
Depura y dirige
Revisa el razonamiento: Cuando no obtienes la respuesta esperada de los modelos de pensamiento, puede ser útil analizar cuidadosamente los resúmenes de pensamiento de Gemini. Puedes ver cómo desglosó la tarea y llegó a su conclusión, y usar esa información para corregir los resultados.
Proporciona orientación en el razonamiento: Si esperas una respuesta particularmente extensa, es posible que desees proporcionar orientación en tu instrucción para limitar la cantidad de razonamiento que usa el modelo. Esto te permite reservar más de la salida de tokens para tu respuesta.
Complejidad de la tarea
- Tareas fáciles (el pensamiento podría estar DESACTIVADO): Para las solicitudes directas en las que no se requiere un razonamiento complejo, no es necesario pensar. Por ejemplo:
- "¿Dónde se fundó DeepMind?"
- "¿Este correo electrónico solicita una reunión o solo proporciona información?"
- Tareas medianas (predeterminadas/algo de razonamiento): Muchas solicitudes comunes se benefician de un cierto grado de procesamiento paso a paso o de una comprensión más profunda. Por ejemplo:
- Comparar la fotosíntesis con el crecimiento
- Compara y contrasta los autos eléctricos y los autos híbridos.
- Tareas difíciles (máxima capacidad de pensamiento): Para los desafíos verdaderamente complejos, recomendamos establecer un presupuesto de pensamiento alto. Estos tipos de tareas requieren que el modelo utilice todas sus capacidades de razonamiento y planificación. Por ejemplo:
- Resuelve el problema 1 del AIME 2025: Encuentra la suma de todas las bases enteras b > 9…
- Escribir código de Python para una aplicación web que visualice datos del mercado de valores en tiempo real, incluida la autenticación del usuario Haz que sea lo más eficiente posible.
Modelos compatibles
| Modelo | Pensamiento predeterminado | Niveles admitidos |
|---|---|---|
| gemini-3.1-pro-preview | Encendido (alto) | baja, media, alta |
| gemini-3-flash-preview | Encendido (alto) | mínima, baja, media, alta |
| gemini-3-pro-preview | Encendido (alto) | baja, alta |
| gemini-2.5-pro | Activado | Presupuesto: 128 a 32768 |
| gemini-2.5-flash | Activado | Presupuesto: 0-24576 |
| gemini-2.5-flash-lite | Desactivado | Presupuesto: 0-24576 |
Los modelos de pensamiento funcionan con todas las herramientas y capacidades de Gemini. Esto permite que los modelos interactúen con sistemas externos, ejecuten código o accedan a información en tiempo real, y que incorporen los resultados a su razonamiento.
¿Qué sigue?
- Generación de texto: Respuestas de texto básicas
- Llamada a función: Conéctate a herramientas
- Firmas de pensamiento: Administra firmas en varios turnos
- Guía de Gemini 3: Funciones específicas del modelo