Prompting y práctica · Lectura de 7 min

Few-shot: enséñale a la IA con ejemplos en lugar de instrucciones

A veces explicar la tarea es difícil, pero mostrar dos ejemplos lo aclara todo. La IA aprende igual que nosotros: mirando.

Piensa en la última vez que le enseñaste algo a alguien y las palabras no alcanzaron. Le explicabas cómo doblar una servilleta, cómo saludar en una reunión, cómo dejar el tono de un correo, y la otra persona seguía sin entender. Hasta que hiciste una cosa simple: "mira, así". Lo hiciste una vez delante de ella y de golpe quedó claro. Eso, trasladado a un prompt, es qué es few-shot prompting: enseñarle a la IA con dos o tres ejemplos en lugar de con una instrucción larga.

La palabra "shot" aquí significa "ejemplo", "demostración". Cuando no le das ninguno y solo describes la tarea, eso es zero-shot (cero ejemplos). Cuando le das unos pocos ejemplos resueltos antes de pedirle el tuyo, eso es few-shot (pocos ejemplos). No cambiaste el modelo, no lo reentrenaste: solo pusiste muestras dentro del mismo mensaje.

01 · la ideaMostrar en vez de explicar

Hay tareas fáciles de describir y tareas fáciles de mostrar. "Tradúceme esto al inglés" se describe en tres palabras y funciona sin ejemplos. Pero "clasifícame estos comentarios con mi criterio, no con el tuyo" es casi imposible de explicar en abstracto. ¿Dónde termina "neutral" y empieza "molesto"? Tú lo sabes cuando lo ves, pero no lo sabes decir. Ahí es donde mostrar gana.

Con few-shot, en lugar de redactar un reglamento, pegas ejemplos ya resueltos por ti. El modelo mira el patrón (qué entra, qué sale, con qué formato) y continúa la serie con tu caso nuevo. No está "aprendiendo" en el sentido de guardar nada para mañana: está reconociendo el patrón que le pusiste enfrente y completándolo. Por eso a veces se le llama aprendizaje en contexto: el aprendizaje ocurre dentro del prompt y se olvida al terminar.

Un ejemplo bien elegido vale más que un párrafo de instrucciones.

Figura 1 · zero-shot vs. few-shot, lado a lado
Zero-shot Clasifica el sentimiento: "El envío llegó tarde" → ? Sin ejemplos. El modelo adivina tu criterio y tu formato. Few-shot "Servicio impecable" → positivo "Nunca respondieron" → negativo "El envío llegó tarde" → ? Dos ejemplos fijan criterio y formato. El tercero los imita.
El mismo caso nuevo ("El envío llegó tarde") con y sin ejemplos. A la derecha, los dos ejemplos resueltos le dicen al modelo tanto qué decidir como en qué formato responder.

02 · la prácticaCómo se arma un prompt few-shot

La receta es más simple de lo que suena. Un prompt few-shot tiene tres partes: una instrucción breve, unos pocos pares de ejemplo (entrada → salida) y, al final, tu entrada nueva sin resolver, para que el modelo la complete. Mira este molde para clasificar el tono de mensajes de clientes:

Molde de un prompt con ejemplos

Clasifica el tono de cada mensaje como reclamo, duda o agradecimiento.
"¿Hasta qué hora atienden hoy?" → duda
"Llevo tres días esperando y nadie contesta" → reclamo
"Gracias, todo llegó perfecto" → agradecimiento
"Me cobraron dos veces el mismo pedido" → ______

El modelo ve tres ejemplos con la misma forma y, al llegar al cuarto, completa "reclamo" con toda naturalidad. No hace falta explicarle qué es un reclamo: lo dedujo del patrón. Y algo igual de valioso: aprendió tu formato de salida. Le pediste una sola palabra en minúscula, y eso te va a devolver, no un párrafo explicando su decisión.

Ese control del formato es, en la práctica, la razón más común para usar few-shot. Si vas a procesar la respuesta con un programa (meterla en una tabla, en un JSON, en una hoja de cálculo), necesitas que siempre salga con la misma pinta. Describir el formato con palabras es frágil; mostrar tres salidas idénticas lo fija mucho mejor.

La idea saltó a la fama en 2020 con un trabajo de Tom Brown y su equipo, cuyo título lo dice todo: Los modelos de lenguaje son aprendices con pocos ejemplos [1]. Ahí mostraron que un modelo suficientemente grande, con solo unas cuantas demostraciones en el prompt, resolvía tareas para las que no había sido entrenado específicamente. No se ajustaban pesos ni se reentrenaba nada: bastaban los ejemplos dentro del mensaje. Ese hallazgo es el que hoy usas sin pensarlo cada vez que pegas un par de muestras antes de tu pregunta.

03 · el criterioCuándo dar ejemplos y cuándo no

Few-shot no es siempre mejor. Tiene un costo real: cada ejemplo que pegas ocupa tokens, o sea, entra en la cuenta que paga y en el límite de contexto del modelo. Tres ejemplos cortos no pesan; veinte ejemplos largos, sí. Así que la pregunta no es "¿pongo ejemplos?", sino "¿esta tarea los necesita?".

La tabla de abajo resume cuándo suele valer la pena y cuándo estás gastando de más.

Tabla 1 · cuándo conviene few-shot frente a zero-shot
SituaciónMejor enfoquePor qué
Tarea común y bien nombrada (traducir, resumir)Zero-shotEl modelo ya la vio mil veces en su entrenamiento; el ejemplo sobra.
Formato de salida estricto (JSON, una palabra, tabla)Few-shotLos ejemplos fijan la forma exacta mejor que describirla.
Criterio propio y difuso ("mi" tono, "mi" categoría)Few-shotMuestras tu criterio con casos; no hay que explicarlo en abstracto.
Casos límite o ambiguos que quieres resolver "así"Few-shotUn ejemplo del caso raro le dice qué hacer cuando dude.
Contexto muy limitado o costo ajustadoZero-shotCada ejemplo gasta tokens; si la tarea es simple, no compensa.

Fuente: síntesis a partir de la guía de OpenAI sobre estrategias de prompting [2] y de la guía abierta OpenAI Cookbook / Prompt Engineering Guide [3].

Dos consejos de sentido común al elegir los ejemplos. Primero, que sean representativos: si tus casos reales incluyen mensajes con errores de tipeo, mete uno con errores; si no, el modelo se sorprende cuando aparezca. Segundo, cuida el equilibrio: si los cuatro ejemplos que pusiste son "reclamo", el modelo puede agarrar el vicio de contestar "reclamo" a todo. Varía las categorías y, si el orden importa, mézclalas.

Los ejemplos no son decoración del prompt: son la parte que enseña.

Hay un caso donde few-shot se vuelve especialmente potente, y es cuando lo combinas con el razonamiento paso a paso. Si tus ejemplos no solo muestran la respuesta final, sino también el razonamiento que lleva a ella, el modelo aprende a razonar de esa forma antes de responder. Pero eso ya es otra técnica que merece su propia entrada.

Por ahora quédate con lo esencial: cuando explicar te cueste, muestra. Pega dos o tres ejemplos resueltos por ti, deja el tuyo en blanco al final y deja que el modelo continúe el patrón. Es la forma más humana de enseñarle a una máquina: la misma con la que un día alguien te enseñó a ti, diciendo simplemente "mira, así".

Fuentes

  1. Brown, T. et al. (2020). Language Models are Few-Shot Learners. Advances in Neural Information Processing Systems (NeurIPS) 33. arXiv:2005.14165. (Introduce el aprendizaje en contexto con pocos ejemplos.)
  2. OpenAI. Prompt engineering: Strategy: Provide examples. OpenAI Platform Documentation. platform.openai.com/docs/guides/prompt-engineering.
  3. DAIR.AI. Few-Shot Prompting. Prompt Engineering Guide. promptingguide.ai/techniques/fewshot.

Aprende más sobre IA

Ver todo Aprende IA