Temperatura en LLMs: qué es y qué valor usar según tu caso
Qué es la temperatura en modelos de lenguaje, cómo afecta las respuestas y elegir el valor según la tarea. Ejemplos con el mismo prompt.
Colaboradores: Esther Aznar
¿Te ha pasado que le haces la misma pregunta a ChatGPT o Claude dos veces y tienes respuestas diferentes? Eso no es un error. Es porque existe algo llamado temperatura. Es un botón que tú puedes controlar para decidir si el modelo de IA es más predecible o más creativo.
Antes de empezar
Este post es para ti si:
- Has usado un modelo de IA (como ChatGPT, Claude, etc.) aunque sea desde un programa o una app
- Sabes que existen cosas llamadas “APIs” (conexiones entre programas)
No necesitas saber casi nada más. Solo debes entender que tokens = palabras o trozos pequeños de texto que el modelo procesa.
¿Qué es la temperatura?
Piénsalo así: imagina que le pides a alguien que haga un sándwich. Una persona muy estricta hace siempre el mismo sándwich igual, sin cambios. Otra persona es más creativa: usa la misma base, pero a veces añade cosas diferentes según le apetece.
La temperatura es un dial: te permite elegir qué tan “creativo” o qué tan “predecible” será el modelo de IA.
Visualización del dial de temperatura:
DETERMINISTA CREATIVO
0.0 ├────────┬────────┬────────┬────────┬────────┤ 1.0
│ │ │ │ │ │
│ SEGURO │NEUTRAL │NATURAL │CREATIVO│CHAÓTICO│
│ │ │ │ │ │
└─────────────────────────────────────────────────┘
Respuestas Respuestas Respuestas
Idénticas Variadas Impredecibles
Cuando el modelo IA genera una respuesta, está eligiendo palabra por palabra. Para cada palabra, tiene una lista con miles de posibilidades y asigna puntuaciones:
- “París” tiene muy alta puntuación para “capital de Francia”
- “Barcelona” tiene puntuación media
- “Marte” tiene puntuación casi nula
Cómo la temperatura afecta la selección de palabras:
PREGUNTA: "¿Cuál es la capital de Francia?"
Puntuaciones del modelo:
París ████████████████░░ 95%
Lyon ███░░░░░░░░░░░░░░░ 3%
Bruselas ██░░░░░░░░░░░░░░░░ 1%
Marte ░░░░░░░░░░░░░░░░░░ 0.5%
┌─────────────────────────────────────┐
│ Temperatura 0.0 → SIEMPRE París │
│ Temperatura 0.7 → Probable París │
│ Posible Lyon │
│ Temperatura 1.0 → Cualquiera │
│ (hasta Marte) │
└─────────────────────────────────────┘
La temperatura cambia cómo el modelo usa esas puntuaciones:
- Temperatura 0.0 (PREDECIBLE): elige siempre la opción más probable. Si haces la misma pregunta 10 veces, obtienes 10 respuestas idénticas.
- Temperatura 0.3 (MÁS SEGURO): una poquita de variedad, pero sin sorpresas.
- Temperatura 0.7 (EQUILIBRIO): mezcla opciones probables con otras menos obvias. Empieza a haber variedad real.
- Temperatura 1.0 (CREATIVO): elige opciones menos probables. Muy original, pero a veces puede inventarse cosas incorrectas.
El rango normal es de 0.0 a 1.0. Por encima de 1.0 las respuestas se vuelven raras e impredecibles.
El mismo prompt, tres respuestas distintas
Lo más útil para entenderlo es verlo en acción. El prompt es exactamente el mismo en los tres casos. Solo cambia la temperatura.
Prompt: “Sugiere un nombre para una app de lista de tareas para estudiantes”
Con temperatura 0.1:
“StudyTask”
Directo, funcional, predecible. El modelo elige la opción estadísticamente más segura. En un agente de gestión de tareas que construí el año pasado usé exactamente este prompt como parte del onboarding, y “StudyTask” era casi siempre la primera sugerencia. Predecible al punto de resultar útil para tests.
Con temperatura 0.7:
“FocusFlow”
Todavía coherente y usable, pero con algo más de personalidad. El modelo exploró opciones que normalmente descartaría.
Con temperatura 1.0:
“BrainDumpPro” o a veces “ZenBubbleStudyZone”
Más original. O más raro, según el momento. Con temperatura 1.0, ejecutar el mismo prompt cinco veces puede darte cinco nombres completamente distintos.
Ahora el mismo experimento con una pregunta factual:
Prompt: “¿Cuál es la capital de Francia?”
Con temperatura 0.1: “París”. Siempre.
Con temperatura 1.0: casi siempre “París”, pero puede que a veces invente información o dé respuestas extrañas. Esto se llama alucinación: cuando el modelo inventa algo que suena real pero es falso. Con temperatura alta, el modelo elige palabras menos probables, y eso aumenta el riesgo de errores.
La regla práctica: si la tarea tiene una respuesta correcta, temperatura baja. Si la tarea es abierta y no hay una respuesta incorrecta, temperatura alta.
Cómo se pasa la temperatura en el código
La temperatura es un número que le dices al modelo de IA antes de pedirle algo. Es como decirle: “Quiero que seas predecible (0.0)” o “Quiero que seas creativo (0.8)”.
Un ejemplo muy simple
Imagina que tienes un programa que habla con la IA. Aquí está cómo se ve:
// Paso 1: Conectarse a la IA (como abrir WhatsApp)
const anthropic = new Anthropic();
// Paso 2: Pedirle algo a la IA
const respuesta = await anthropic.messages.create({
model: "claude-sonnet-4-6", // Qué IA quiero usar
max_tokens: 256, // Cuánto texto puede escribir (límite)
temperature: 0.0, // AQUÍ VA LA TEMPERATURA ← Esta es la parte importante
messages: [
{
role: "user",
content: "Extrae el nombre y el email de: 'Contacta con Ana López en ana@empresa.com'"
}
]
});
// Paso 3: Ver lo que te respondió
console.log(respuesta.content[0].text);
¿Qué cambiar para ser más creativo?
Si quieres que la IA sea más creativa, solo tienes que cambiar este número:
temperature: 0.0 // Cambias esto
Por este otro:
temperature: 0.8 // Por esto
Eso es literalmente todo. El resto del código sigue igual.
Un consejo importante
Si no escribes temperature en tu código, la IA por defecto va a usar temperatura 1.0 (muy creativa). Para trabajos donde necesitas respuestas exactas (como extraer datos), eso no es lo que quieres. Siempre escribe el valor de temperatura de forma explícita para que el código haga lo que esperas.
Si usas otros lenguajes como Python, el nombre es el mismo: temperature. Solo cambia cómo escribes el código, no la idea.
Template de configuración de temperatura para diferentes APIs:
# Python + Anthropic Claude
response = anthropic.messages.create(
model="claude-opus",
max_tokens=1024,
temperature=0.7, # ← Aquí está
messages=[{"role": "user", "content": "..."}]
)
# Python + OpenAI
response = openai.ChatCompletion.create(
model="gpt-4",
temperature=0.7, # ← Aquí está
messages=[{"role": "user", "content": "..."}]
)
# Python + Google Gemini
response = genai.GenerativeModel(
model_name="gemini-pro",
generation_config={"temperature": 0.7} # ← Aquí está
)
Nota: El parámetro se llama igual en todas partes, aunque la ubicación en el código cambia.
Errores frecuentes al configurar la temperatura
Matriz de errores comunes:
BAJA TEMP ALTA TEMP
(0.0-0.2) (0.8-1.0)
┌──────────────────────────────────────────┐
│ Extraer datos │ ✅ CORRECTO │ ❌ Error │
│ Generar ideas │ ❌ Error │ ✅ CORRECTO
│ Resumir textos │ ✅ CORRECTO │ ⚠️ Variable
│ Escribir código │ ✅ CORRECTO │ ❌ Error │
└──────────────────────────────────────────┘
❌ Error 1: Usar temperatura alta cuando necesitas exactitud
El problema: Suena razonable pensar “más temperatura = mejor resultado”. Pero no funciona así.
Si le pides a la IA que extraiga nombres y emails de un documento, con temperatura alta la IA puede:
- Inventarse campos que no existen
- Cambiar el formato de forma extraña
- Incluir información que no está en el documento
La solución: Si la respuesta tiene que ser exacta, usa temperatura 0.0 o 0.2.
❌ Error 2: Usar temperatura 0 cuando necesitas ideas
El problema: ¿Quieres 10 nombres para tu producto? Con temperatura 0, obtienes los 10 nombres casi idénticos, muy aburridos.
La solución: Para brainstorming y ideas creativas, usa temperatura 0.7 o 0.9.
❌ Error 3: Olvidar pasar la temperatura en el código
El problema: Si no escribes temperature: XXX en tu código, la IA usa temperatura 1.0 por defecto (muy creativa). Esto puede causar comportamientos inesperados.
La solución: Siempre escribe explícitamente qué temperatura quieres. No dejes que use el valor por defecto.
❌ Error 4: Pensar que la temperatura arregla un prompt malo
El problema: La temperatura solo controla cómo el modelo responde, no qué entiende. Si tus instrucciones son confusas, no hay temperatura que lo arregle.
La solución: Primero asegúrate de que tus instrucciones sean claras. Luego ajusta la temperatura.
¿Qué temperatura usar? Una guía rápida
Flujo de decisión rápido:
¿Necesitas respuestas exactas?
│
┌─────┴─────┐
SÍ NO
│ │
┌─────▼──────┐ ┌─▼─────────────────┐
│ Temp: 0-0.2│ │¿Quieres variedad? │
│ │ │ │
│ Extraer │ └─────┬─────────────┘
│ Resumir │ │
│ Clasificar │ ┌───┴────┐
└────────────┘ SÍ NO
│ │
┌──────────▼──┐ ┌─▼──────────┐
│ Temp: 0.7-0.9│ │ Temp: 0.3-0.5
│ │ │
│ Brainstorm │ │ Respuestas
│ Creatividad │ │ naturales
└──────────────┘ └───────────┘
Aquí está la respuesta corta. Elige según lo que quieras hacer:
| ¿Qué quiero hacer? | Temperatura | Ejemplo |
|---|---|---|
| Extraer información exacta (nombres, fechas, números) | 0.0 | ”Extrae todos los emails de este documento” |
| Generar código (que funcione bien) | 0.1 | ”Escribe una función que calcule el promedio” |
| Resumir un texto | 0.3 | ”Haz un resumen de este artículo en 3 líneas” |
| Responder preguntas de forma natural | 0.5 | ”¿Cómo hago una torta de chocolate?” |
| Generar ideas (brainstorming) | 0.8 | ”Dame 10 nombres para mi app” |
| Escribir historias o textos creativos | 0.9 | ”Escribe una historia corta sobre un robot” |
¿Y si no sé cuál elegir?
Empieza por el medio: usa 0.5. Luego:
- Si las respuestas son demasiado iguales y aburridas → sube a 0.7 o 0.8
- Si las respuestas son raras o con errores → baja a 0.2 o 0.3
Después de un par de intentos, encontrarás el número que funciona mejor para tu caso.
Un concepto nuevo cada semana
Fuentes
-
Anthropic. Messages API — temperature parameter. Documentación oficial del parámetro
temperatureen la API de Claude, incluyendo rango válido (0.0–1.0) y valor por defecto. https://docs.anthropic.com/en/api/messages -
OpenAI. Chat Completions API — temperature. Referencia del parámetro en la API de OpenAI, donde el rango permitido llega hasta 2.0. https://platform.openai.com/docs/api-reference/chat/create
Preguntas Frecuentes
¿Cambiar la temperatura me cuesta más dinero?
No. La temperatura no afecta el precio. Lo que cuesta es cuánto texto pide y cuánto texto genera. Puedes cambiar la temperatura libremente sin pagar más.
¿Con temperatura 0 siempre obtengo la misma respuesta?
Casi siempre sí. Con temperatura 0 las respuestas son muy parecidas, pero no hay garantía de ser 100% idénticas cada vez. Para la mayoría de los usos prácticos, es suficientemente igual.
¿Cuál es la diferencia entre temperatura 0 y 0.1?
Muy poca. Con 0.1 hay un pequeño cambio de variedad, pero en la mayoría de casos no lo notarás en la respuesta.
¿Temperatura alta = más errores?
Sí, especialmente si no hay respuesta correcta. Con temperatura alta, la IA elige opciones menos probables. A veces eso está bien (para creatividad), pero para datos exactos, introduce errores. Es el trade-off: creatividad vs. exactitud.
¿Cómo empiezo sin experiencia?
Checklist de experimentación:
┌─ PASO 1: Prueba inicial
│ ☐ Escribe tu prompt claramente
│ ☐ Fija temperatura en 0.5
│ ☐ Ejecuta 3-5 veces
│ ☐ Observa los resultados
│
├─ PASO 2: Diagnóstico
│ ☐ ¿Las respuestas son todas iguales y aburridas?
│ → Sube a 0.7-0.8
│ ☐ ¿Las respuestas tienen errores o son raras?
│ → Baja a 0.0-0.2
│ ☐ ¿Está bien como está?
│ → Quédate en 0.5
│
├─ PASO 3: Ajuste fino
│ ☐ Cambia el valor a la nueva temperatura
│ ☐ Ejecuta 3-5 veces de nuevo
│ ☐ Compara con el intento anterior
│
└─ PASO 4: Bloquear el valor
☐ Guarda la temperatura que funciona
☐ Usa siempre ese valor en producción
Así:
- Prueba tu tarea con temperatura 0.5 (punto medio)
- Si necesitas respuestas más “variadas y creativas” → sube a 0.7 u 0.8
- Si necesitas respuestas “exactas e iguales” → baja a 0.0 o 0.1
- Ejecuta tu prompt varias veces con la nueva temperatura y observa
No hay un número mágico. El que funciona para ti lo descubres probando.