Lección 03
Zero-shot vs few-shot: el patrón que vale más que un modelo grande
Cuándo darle ejemplos al modelo y cuándo no. La regla de oro: si puedes mostrarlo, no lo expliques.
La pregunta del millón
¿Cuándo vale la pena gastar tokens en darle ejemplos al modelo?
Respuesta corta: siempre que el formato sea raro, la tarea ambigua o el tono específico.
Respuesta larga: sigue leyendo, que sin esto no sales de la mediocridad.
Zero-shot — sin ejemplos
Le pides al modelo que haga algo sin enseñarle ningún caso. Funciona muy bien para tareas comunes que el modelo ya “ha visto” en su entrenamiento.
const res = await client.messages.create({
model: "claude-haiku-4-5",
max_tokens: 100,
messages: [
{ role: "user", content: "Traduce al inglés: 'Hola, ¿qué tal?'" },
],
});
// → "Hello, how are you?"
Tareas donde zero-shot suele bastar:
- Traducción entre idiomas comunes
- Resumir texto
- Responder preguntas factuales
- Reescribir en otro tono
Few-shot — con 2 a 5 ejemplos
Le das varios ejemplos y luego le pides uno nuevo. El modelo aprende el patrón, no la solución concreta.
const res = await client.messages.create({
model: "claude-haiku-4-5",
max_tokens: 100,
system: "Conviertes nombres de empresa en slugs URL-friendly.",
messages: [
{
role: "user",
content: `Ejemplos:
"Café & Té S.L." → cafe-te
"Mi Restaurante 24/7" → mi-restaurante-24-7
"Acme Corp." → acme-corp
Convierte: "Joyería Doña María"`,
},
],
});
// → "joyeria-dona-maria"
Sin los ejemplos, podría devolverte JoyeriaDonaMaria, joyer%C3%ADa-do%C3%B1a, o cualquier otra cosa. Con tres ejemplos, fija el patrón en piedra.
La regla práctica
Si puedes mostrar la salida, no la describas.
Mira la diferencia:
Mal (zero-shot describiendo formato):
Devuélvemelo como un objeto JSON con campos nombre, edad y profesion,
todo en minúsculas, y que profesion sea siempre un array aunque tenga
un solo elemento.
Bien (few-shot mostrando formato):
Ejemplos:
"Ana, 30, ingeniera" → { "nombre": "ana", "edad": 30, "profesion": ["ingeniera"] }
"Luis, 45, abogado y profesor" → { "nombre": "luis", "edad": 45, "profesion": ["abogado", "profesor"] }
Convierte: "María, 28, médica"
El segundo prompt es más corto, más claro, y mucho más fiable.
Cuántos ejemplos
- 1 ejemplo (one-shot) → la mayoría de casos. Suficiente para fijar formato.
- 3-5 ejemplos → cuando hay variaciones o casos límite que mostrar.
- >5 ejemplos → casi nunca. A partir de ahí, mejor fine-tuning o RAG.
Sesgo de ejemplos
Cuidado: el modelo copia patrones. Si todos tus ejemplos tienen longitud parecida, esperará una respuesta de esa longitud. Si todos terminan en punto, esperará un punto.
Por eso, varía deliberadamente:
"sí" → afirmativo
"NO." → negativo
"jaja claro, te creo" → negativo (sarcástico)
Tres ejemplos, tres longitudes distintas, tres tonos distintos. Le estás enseñando que la respuesta no depende de la forma, sino del fondo.
Reto
Diseña un prompt few-shot que reciba reseñas de productos y devuelva una puntuación de 1 a 5.
Compártelo en el Discord de la comunidad y otros alumnos te apuntan los puntos ciegos. En la siguiente lección, chain-of-thought: el truco que hace que el modelo razone en vez de adivinar.
Reto Pro
Reto Pro de esta lección
Misma idea, sin pistas, evaluada por tests automáticos.
Hard Mode
Hard Mode
Variante extrema del reto. Tiempo límite y restricciones adicionales.