Agent Mentor Learn
Fundamentos de la ingeniería de prompts: cómo escribir instrucciones eficaces · Lección 3 de 6

Lección 3: Few-shot learning: guiar a la IA con ejemplos

Objetivos de aprendizaje:

  • Entender la diferencia entre zero-shot, one-shot y few-shot
  • Aprender a usar de 2 a 5 ejemplos para que la IA capte un patrón
  • Dominar los principios para elegir ejemplos de alta calidad

Requisitos: << Lección 2: La estructura básica de un prompt | Siguiente: Lección 4 >>

Cuando una descripción es menos clara que un ejemplo

Quieres que la IA entregue datos con un formato específico; digamos, «extrae los hechos clave de este artículo y devuélvelos como JSON». Pasas un buen rato en el prompt detallando nombres de campo, tipos de datos, anidamiento... y la IA igual te devuelve algo con una forma distinta de la que imaginabas.

Prueba otra vía. Deja de describir el formato y muéstrale a la IA 2 o 3 ejemplos limpios. Los lee, ve exactamente qué quieres y acierta con el formato al primer intento. Ese es el poder del few-shot learning: un ejemplo es más claro que un párrafo de descripción1.

Qué es el few-shot learning

El few-shot learning es una técnica de prompt que guía a la IA hacia el patrón que quieres colocando una pequeña cantidad de ejemplos (normalmente de 2 a 5) en el prompt2 1. La IA aprende de esos ejemplos la relación entrada-salida, el formato y el estilo, y después lo aplica a una entrada nueva.

Tres formas de comparar:

  • Zero-shot: sin ejemplos, solo una instrucción3
  • One-shot: un ejemplo
  • Few-shot: de 2 a 5 ejemplos2

Zero-shot: solo la instrucción

Prompt zero-shot:

Clasifica la siguiente reseña de usuario como «positiva», «negativa» o«neutral».
Reseña: Este producto funciona bien, pero es un poco caro.Clasificación:

La IA podría devolver:

  • «neutral» (razonable)
  • «negativa» (porque menciona que es «caro»)
  • «positiva con reservas» (una categoría que inventó en el momento)

Sin ejemplos, la IA solo puede apoyarse en su propio criterio para los casos límite.

Few-shot: darle ejemplos

Prompt few-shot:

Clasifica reseñas de usuario como «positiva», «negativa» o «neutral».
Ejemplos:
Reseña: La calidad de construcción es excelente, estoy muy contento.Clasificación: positiva
Reseña: Completamente inservible, un desperdicio de dinero.Clasificación: negativa
Reseña: Las funciones están bien, pero el soporte al cliente es lento.Clasificación: neutral
Ahora clasifica esta reseña:
Reseña: Este producto funciona bien, pero es un poco caro.Clasificación:

Después de ver los ejemplos, la IA entiende:

  • «positiva» es para una reseña plenamente satisfecha
  • «negativa» es insatisfacción seria
  • «neutral» es una reseña mixta, algo bueno y algo malo
  • la salida es una sola palabra, sin explicación

Así que devuelve «neutral», porque esta reseña coincide con el patrón del tercer ejemplo.

Cómo funciona el few-shot learning

El few-shot learning aprovecha la capacidad de aprendizaje en contexto (in-context learning) de un modelo de lenguaje grande2. El modelo no se reentrena; simplemente ve unos pocos ejemplos en la conversación actual, infiere la regla y la aplica.

El modelo capta tres tipos de información a partir de los ejemplos:

  1. El mapeo de entrada a salida: qué tipo de entrada produce qué tipo de salida
  2. El formato y el estilo de la salida: una respuesta corta o una detallada, JSON o texto plano
  3. El estándar para los casos límite: cómo debe clasificarse un caso ambiguo

Un hallazgo clave: la investigación muestra que el formato y la diversidad de los ejemplos importan más que si cada ejemplo es correcto2. Aunque algunas etiquetas de los ejemplos estén mal, la IA todavía puede aprender un patrón útil, siempre que el formato sea consistente y los ejemplos cubran distintos tipos de entrada.

Principios para diseñar ejemplos de alta calidad

No basta con lanzar unos ejemplos cualesquiera. La calidad de tus ejemplos moldea directamente la salida de la IA1.

Principio 1: al menos 2, y por lo general no más de 5

  • Un solo ejemplo (one-shot) a veces no alcanza: la IA puede tratarlo como un caso especial
  • 2 o 3 ejemplos suelen bastar para que la IA capte el patrón
  • 4 o 5 ejemplos son para tareas más complejas, o con muchos casos límite
  • Más de 5 da rendimientos decrecientes y consume bastantes tokens extra

Empieza con 2, y agrega un tercero o un cuarto solo si los resultados no son lo bastante buenos1.

Principio 2: los ejemplos deberían ser representativos y diversos

Tus ejemplos deberían cubrir los distintos tipos de entrada que la tarea podría ver, es decir, la diversidad de ejemplos2.

Ejemplos que carecen de diversidad:

Ejemplo 1: iPhone 15 Pro → teléfonoEjemplo 2: iPhone 14 → teléfonoEjemplo 3: iPhone 13 → teléfono
Ahora clasifica: MacBook Pro

Todos los ejemplos son teléfonos. La IA nunca vio otro tipo de producto electrónico, así que puede no saber cómo manejar uno.

Ejemplos con diversidad:

Ejemplo 1: iPhone 15 Pro → teléfonoEjemplo 2: MacBook Air → laptopEjemplo 3: AirPods Pro → audífonos
Ahora clasifica: iPad Pro

Esto cubre distintas categorías de producto, así que la IA puede aprender una lógica de clasificación más general.

Principio 3: mantén el formato idéntico entre los ejemplos

La consistencia de formato es la clave de un prompt few-shot exitoso2.

Formato inconsistente:

Ejemplo 1:Entrada: Qué lindo díaSalida: positiva
Ejemplo 2:«Esta película fue aburridísima» --> sentimiento negativo
Ejemplo 3: está bien → neutral

El formato es un desorden, así que la IA no sabe si debe entregar «positiva», «sentimiento positivo» u otra cosa.

Formato consistente:

Ejemplo 1:Entrada: Qué lindo díaSalida: positiva
Ejemplo 2:Entrada: Esta película fue aburridísimaSalida: negativa
Ejemplo 3:Entrada: está bienSalida: neutral

Limpio y uniforme, así la IA sabe que la salida debe ser un solo adjetivo.

Principio 4: incluye casos límite y ejemplos fáciles de confundir

Si la tarea tiene zonas grises, ponlas en los ejemplos1.

Escenario: juzgar si un comentario de código es útil

Solo los ejemplos evidentes:

Ejemplo 1:Código: x = x + 1  # suma 1Veredicto: inútil (el comentario solo repite el código)
Ejemplo 2:Código: result = calculate_tax(income, deductions)  # calcula el impuestoVeredicto: útil (explica el significado de negocio)

Con casos límite incluidos:

Ejemplo 1:Código: x = x + 1  # suma 1Veredicto: inútil (el comentario solo repite el código)
Ejemplo 2:Código: result = calculate_tax(income, deductions)  # calcula el impuestoVeredicto: útil (explica el significado de negocio)
Ejemplo 3:Código: time.sleep(2)  # espera a que se reinicie el límite de la APIVeredicto: útil (explica por qué esperamos, que no es evidente)
Ejemplo 4:Código: users = users.filter(active=True)  # filtra usuarios activosVeredicto: inútil (el nombre del método ya lo deja claro)

Los ejemplos 3 y 4 ayudan a la IA a ver el límite: no todo comentario que «explica qué hace el código» es útil. Lo que importa es si el código ya expresa su intención con claridad por sí solo.

Ejemplo resuelto: extraer datos estructurados con few-shot

La tarea más común aquí es extraer datos estructurados de texto no estructurado.

Tarea: extraer los campos clave de una oferta de trabajo

Versión zero-shot (poco confiable):

De la siguiente oferta de trabajo, extrae: puesto, rango salarial,ubicación, experiencia requerida. Devuélvelo como JSON.
Oferta: Buscamos un desarrollador Python senior, con base en Nueva York,3-5 años de experiencia, $140-160k al año.

La IA podría devolver toda clase de formatos:

o

Los nombres de campo, el formato y las unidades son todos inconsistentes.

Versión few-shot (formato estable):

Extrae los campos clave de una oferta de trabajo y devuélvelos con elsiguiente formato JSON.
Ejemplo 1:Entrada: Buscamos ingeniero frontend, San Francisco, 2-3 años deexperiencia, $120-150k al añoSalida:{  "position": "ingeniero frontend",  "location": "San Francisco",  "experience": "2-3 años",  "salary": "$120-150k/año"}
Ejemplo 2:Entrada: Urgente: backend Java, Austin (centro), 5+ años requeridos,$8-10k al mesSalida:{  "position": "backend Java",  "location": "Austin (centro)",  "experience": "5+ años",  "salary": "$8-10k/mes"}
Ejemplo 3:Entrada: Analista de datos, remoto, experiencia abierta, $60-80 por horaSalida:{  "position": "analista de datos",  "location": "remoto",  "experience": "abierta",  "salary": "$60-80/hora"}
Ahora procesa esta:Entrada: Buscamos un desarrollador Python senior, con base en Nueva York,3-5 años de experiencia, $140-160k al año.Salida:

Los ejemplos cubren tres unidades salariales (por año, por mes, por hora) y tres tipos de ubicación (ciudad, ciudad más zona, remoto), así que la IA aprende:

  • usar nombres de campo en inglés
  • conservar la unidad salarial del texto original
  • conservar el detalle al extraer la ubicación
  • «abierta» también es un requisito de experiencia válido

Trampas comunes del few-shot

Trampa 1: muy pocos ejemplos, cobertura incompleta

Si das un solo ejemplo, la IA ve una instancia aislada, no una regla.

Solución: al menos 2, idealmente 3.

Trampa 2: formato inconsistente entre los ejemplos

Una flecha → aquí, un dos puntos : allá, varias líneas en otro lado.

Solución: elige un formato y síguelo estrictamente en cada ejemplo.

Trampa 3: todos casos fáciles, ningún caso límite

Los datos reales tienen ruido, ambigüedad y huecos. Si los ejemplos solo muestran el caso ideal, la IA se traba en cuanto se topa con un caso límite.

Solución: al menos un ejemplo debería incluir un caso límite (un campo faltante, una redacción ambigua).

Trampa 4: demasiados ejemplos

Pasados los 5 ejemplos la ganancia es mínima, y quemas tokens extra y alargas la respuesta.

Solución: empieza con 2 o 3 y agrega más solo si hace falta. Rara vez necesitas más de 5.

Cuándo usar few-shot

El few-shot encaja mejor en estas situaciones:

  • Conversión de formato: texto no estructurado → JSON, Markdown, CSV
  • Clasificación: análisis de sentimiento, etiquetado de temas, detección de intención
  • Imitación de estilo: replicar un estilo específico de escritura o de código
  • Reglas difíciles de poner en palabras: como «qué hace que un comentario sea inútil»

Cuando no encaja:

  • La tarea es simple por sí sola: «traduce esto al inglés» no necesita ejemplos
  • Cada entrada es única: escritura creativa, lluvia de ideas; los ejemplos solo te encasillan
  • Necesita conocimiento externo: «quién ganó el Mundial de 2024»; los ejemplos no ayudan

Una regla práctica: si pudieras mostrarle a un colega humano 2 o 3 ejemplos y entendería qué hacer, few-shot encaja bien.

Resumen

El few-shot learning usa de 2 a 5 ejemplos para que la IA capte el patrón que quieres, lo cual es más claro que describirlo con palabras. Los ejemplos de alta calidad son: moderados en cantidad (2-5), representativos y diversos, idénticos en formato e inclusivos de casos límite.

El few-shot encaja mejor con la conversión de formato, la clasificación y la imitación de estilo. Al diseñar ejemplos, empieza con 2, asegúrate de que cubran distintos tipos de entrada y usa el mismo formato en todos.

La próxima lección cubre chain-of-thought: cómo lograr que la IA muestre sus pasos de razonamiento y mejorar la exactitud en tareas complejas.

Próxima lección Chain-of-thought: hacer que la IA muestre su razonamiento >>

Footnotes

  1. Few-Shot Prompting Guide — https://www.prompthub.us/blog/the-few-shot-prompting-guide 2 3 4 5

  2. Prompt Engineering Guide - Few-Shot Prompting — https://www.promptingguide.ai/techniques/fewshot 2 3 4 5 6

  3. Zero-shot Learning - Wikipedia — https://en.wikipedia.org/wiki/Zero-shot_learning

Ejercicios

01

Tarea: lograr que la IA clasifique los comentarios de usuario en tres categorías: «solicitud de función», «reporte de error» o «duda de uso».

Nivel 1: Diseñar ejemplos de alta calidad

Diseña 3 ejemplos few-shot que cubran distintos casos y mantengan un formato consistente.

Criterios de finalización · marcado local
02

Aquí va un prompt few-shot que no funciona bien. Encuentra los problemas y mejóralo:

Nivel 2: Mejorar un prompt few-shot existente
Extrae los pros y los contras de una reseña de producto, entrega JSON.
Ejemplos:"calidad decente" -> {"pros": ["calidad"], "cons": []}"demasiado caro, y el envío es lento" -> {"pros": [], "cons": ["caro", "envío lento"]}
Ahora procesa: [texto de la reseña]

Problema: la salida de la IA es inestable: a veces los nombres de campo salen en otro idioma, a veces los pros son adjetivos («bueno») en lugar de puntos concretos («calidad»).

Criterios de finalización · marcado local