Few-shot prompting
El few-shot prompting es una técnica que consiste en incluir varios ejemplos resueltos de entrada y salida dentro del prompt para que el modelo infiera el patrón y lo replique, sin necesidad de reentrenarlo.
El few-shot prompting es la técnica de incluir en el prompt unos pocos ejemplos completos de la tarea, con su entrada y la salida esperada, para que el modelo deduzca el patrón y lo aplique a un caso nuevo. No modifica los pesos del modelo: todo ocurre dentro de la ventana de contexto, en lo que se conoce como in-context learning. Anthropic lo denomina multishot prompting en su documentación.
Cómo funciona
Un LLM predice el siguiente token en función de todo lo que tiene delante. Si antes de la petición real ve tres o cuatro pares entrada y salida con el mismo formato, tono y criterio, la continuación más probable es otra salida que siga ese patrón. El modelo no aprende en sentido estricto: reconoce una estructura y la imita.
Se suele distinguir entre:
- Zero-shot: solo instrucciones, sin ejemplos.
- One-shot: un único ejemplo.
- Few-shot: varios ejemplos, normalmente entre 3 y 5 según recomienda Anthropic para Claude.
Con Claude hay dos formas habituales de pasar los ejemplos: dentro del prompt envueltos en etiquetas XML, o como turnos simulados de user y assistant en la API de mensajes, donde cada respuesta del asistente es un ejemplo ideal.
Por qué importa
Los ejemplos transmiten cosas que las instrucciones expresan mal: el formato exacto, la longitud, el registro, los casos frontera. En la práctica, unos buenos ejemplos suelen dar más consistencia que un párrafo extra de reglas. Consecuencias concretas para quien construye con Claude:
- Salidas estructuradas más fiables: clasificaciones, extracción de campos o JSON con el mismo esquema en cada llamada.
- Tono de marca reproducible: tres respuestas reales de soporte enseñan el estilo mejor que una lista de adjetivos.
- Coste controlable: los ejemplos son tokens de entrada que se pagan en cada llamada; si son fijos, conviene colocarlos al principio y aprovechar el prompt caching.
Si quieres llevar estos patrones a la API con ejemplos versionados y medidos, la técnica encaja de forma natural en cualquier pipeline de producción.
Ejemplo con Claude
Clasificar el sentimiento de reseñas con un formato de salida cerrado:
Clasifica la reseña como POSITIVA, NEGATIVA o MIXTA.
<examples>
<example>
Reseña: Llegó en dos días y funciona perfecto.
Clase: POSITIVA
</example>
<example>
Reseña: Buena pantalla, pero la batería dura muy poco.
Clase: MIXTA
</example>
<example>
Reseña: Se rompió a la semana y no responden.
Clase: NEGATIVA
</example>
</examples>
Reseña: {{RESEÑA}}
Clase:Las etiquetas <example> ayudan a Claude a separar los ejemplos de las instrucciones y del caso real. Anthropic recomienda además que los ejemplos sean relevantes (parecidos a los casos reales), diversos (que cubran variantes y casos límite) y claros.
Errores comunes
- Ejemplos demasiado parecidos: Claude puede sobreajustarse a detalles irrelevantes, como copiar siempre la misma longitud o empezar igual todas las respuestas.
- Ejemplos que contradicen las instrucciones: cuando chocan, los ejemplos suelen pesar más. Revisa que sean impecables.
- Desequilibrio de clases: si cuatro de cinco ejemplos son positivos, sesgas el resultado.
- Confundirlo con fine-tuning: el few-shot no entrena nada; los ejemplos viven solo en esa petición y desaparecen después.
- Usar ejemplos cuando no hacen falta: en tareas abiertas o creativas pueden limitar la variedad. Con los modelos Claude actuales, muchas tareas sencillas funcionan bien en zero-shot con instrucciones claras.
Preguntas frecuentes
¿Cuántos ejemplos debo incluir en un prompt few-shot para Claude?
Anthropic recomienda entre 3 y 5 ejemplos bien elegidos como punto de partida. Para tareas complejas o con muchos casos frontera pueden necesitarse más, pero cada ejemplo añade tokens de entrada y coste, así que conviene medir si mejora el resultado.
¿Es mejor poner los ejemplos en el system prompt o en el mensaje del usuario?
Ambas opciones funcionan. Si los ejemplos son fijos para toda la aplicación, el system prompt o el inicio del primer mensaje es buena ubicación y facilita el prompt caching. Otra alternativa es simularlos como turnos previos de usuario y asistente.
¿Se puede combinar few-shot con chain-of-thought?
Sí. Si los ejemplos incluyen el razonamiento paso a paso antes de la respuesta final, Claude tiende a razonar del mismo modo en el caso nuevo. Es útil en problemas de lógica, cálculo o clasificación con criterios complejos.
¿Cuándo conviene pasar del few-shot al fine-tuning?
Cuando necesitas cientos de ejemplos para cubrir la tarea, el coste de enviarlos en cada llamada se dispara o el comportamiento sigue siendo inconsistente pese a buenos ejemplos. En la mayoría de casos, un buen prompt few-shot resuelve el problema antes.