Tienes tres minutos para extraer datos estructurados de correos electrónicos de clientes. El modelo alucina campos. Intentas un prompt más detallado. Sigue alucinando. Añades ejemplos. Mejor, pero no fiable. Recorres el razonamiento paso a paso. Funciona.
La diferencia entre esos intentos no es suerte, sino tres patrones de prompting distintos que sacrifican simplicidad por precisión. Entender cuándo falla cada uno importa más que saber que existen.
Zero-Shot: Velocidad Sobre Precisión
Zero-shot significa que le das al modelo una tarea sin ejemplos. Solo la instrucción y la entrada.
# Prompt Zero-shot
Extrae el total del pedido del cliente, el nombre del producto y la dirección de envío de este correo electrónico:
---
[aquí el correo del cliente]
---
Responde en formato JSON.
Esto funciona cuando: la tarea es simple, el dominio es común (servicio al cliente, clasificación básica) y te importa más la velocidad que la precisión. Claude Sonnet 4 y GPT-4o manejan esto bien en tareas sencillas, típicamente con un 70–85% de precisión en la extracción estructurada si los datos están claramente presentes en el texto fuente.
Esto falla rápidamente cuando: la tarea requiere conocimiento del dominio, reconocimiento de patrones en casos extremos o lógica de múltiples pasos. Un prompt zero-shot que pide a un modelo clasificar transacciones financieras sospechosas sin ejemplos omitirá patrones sutiles que un prompt few-shot capta inmediatamente. El modelo no tiene un punto de referencia para lo que significa «sutil» en tu dominio.
Costo de tokens: el más bajo. Envías una instrucción y una entrada. Para tareas de alto volumen (miles de inferencias), esta diferencia se acumula.
Few-Shot: El Punto Medio Práctico
Few-shot añade 2–5 ejemplos antes de la tarea real. El modelo aprende el patrón de estos ejemplos sin un reentrenamiento explícito.
# Versión Zero-shot (línea base)
Clasifica este ticket de soporte como urgente o rutinario:
Ticket: "Mi pago falló y mi pedido debía llegar hoy."
# Versión Few-shot (mejorada)
Clasifica este ticket de soporte como urgente o rutinario.
Ejemplos:
Ticket: "No puedo iniciar sesión en mi cuenta."
Clasificación: Rutinario
Ticket: "El pago falló y mi pedido debía llegar hoy."
Clasificación: Urgente
Ticket: "¿Cómo restablezco mi contraseña?"
Clasificación: Rutinario
Ticket: "El servidor está caído y los clientes no pueden ver el estado de su pedido."
Clasificación: Urgente
Ahora clasifica este:
Ticket: "Mi pago falló y mi pedido debía llegar hoy."
Clasificación:
La versión few-shot muestra al modelo exactamente qué entiendes por «urgente» en tu contexto específico. Fallo de pago + promesa de entrega = urgente. El modelo no adivina definiciones, extrapola de tus ejemplos.
Esto funciona cuando: tienes 3–10 ejemplos claros y representativos y la tarea tiene patrones reconocibles. Few-shot supera consistentemente a zero-shot en un 15–30% en tareas de clasificación y extracción en benchmarks (pruebas internas de Anthropic, enero de 2025). Es lo suficientemente fiable para uso en producción en tareas de riesgo medio.
Esto falla cuando: tus ejemplos no cubren casos extremos, o el patrón es genuinamente complejo. Si tus ejemplos de tickets «urgentes» solo involucran problemas de pago, pero un ticket sobre preocupaciones de privacidad de datos también necesita manejo urgente, few-shot aprende el patrón incorrecto. Solo es tan bueno como tus ejemplos.
Costo de tokens: mayor que zero-shot, menor que chain-of-thought. Tres ejemplos añaden ~300–500 tokens por solicitud. A escala, esto importa.
Chain-of-Thought: Razonamiento Sobre Emparejamiento de Patrones
Chain-of-thought pide al modelo que explique su razonamiento antes de responder. «Piensa en esto paso a paso» es la versión más simple. El modelo muestra su trabajo, y la precisión mejora, a veces drásticamente.
# Few-shot sin razonamiento
Un cliente pidió 3 widgets a $50 cada uno con $15 de envío.
Aplicaron un código de descuento del 10%. ¿Cuál es el total final?
Total: $165
# Few-shot con chain-of-thought
Un cliente pidió 3 widgets a $50 cada uno con $15 de envío.
Aplicaron un código de descuento del 10%. ¿Cuál es el total final?
Vamos a resolver esto paso a paso:
1. Costo de los widgets: 3 × $50 = $150
2. Añadir envío: $150 + $15 = $165
3. Aplicar descuento del 10%: $165 × 0.90 = $148.50
4. Total final: $148.50
Respuesta final: $148.50
El modelo lo acierta. Sin el desglose paso a paso, podría confundir el orden de las operaciones o aplicar el descuento incorrectamente. Chain-of-thought fuerza un razonamiento intermedio que expone la lógica defectuosa.
Esto funciona cuando: la tarea implica matemáticas, lógica, razonamiento de múltiples pasos o compensaciones complejas. La investigación de OpenAI muestra que chain-of-thought puede mejorar la precisión en tareas de matemáticas y razonamiento en un 40–60% (Wei et al., 2022). En producción en AlgoVesta, usamos chain-of-thought para prompts de análisis de carteras; la salida de razonamiento también se convierte en evidencia auditable de cómo se tomó una decisión.
Esto falla cuando: necesitas velocidad y la tarea es simple. Una tarea de clasificación («¿esto es spam?») no necesita chain-of-thought. Los tokens y la latencia añadidos desperdician tiempo sin ganancia de precisión. Además, chain-of-thought puede amplificar alucinaciones si el modelo explica con confianza un razonamiento incorrecto. Es más transparente sobre estar equivocado, pero sigue equivocado.
Costo de tokens: el más alto. La salida de razonamiento paso a paso puede duplicar o triplicar el uso de tokens en comparación con zero-shot. A escala de inferencia, esto se convierte en una restricción de costo real.
Cuál Usar: Un Marco de Decisión
- Zero-shot: Clasificación simple, extracción directa, tareas de alto volumen donde el 80% de precisión es aceptable. Empieza por aquí, es la línea base.
- Few-shot: Complejidad media, patrones específicos del dominio, se necesita 90%+ de precisión. Añade ejemplos cuando zero-shot falla en casos extremos.
- Chain-of-thought: Se requiere razonamiento, involucra matemáticas, lógica de múltiples pasos o cuando necesitas auditar el razonamiento en sí. Combina con ejemplos few-shot para obtener los mejores resultados en tareas complejas.
Los tres no son mutuamente excluyentes. Los flujos de trabajo de producción a menudo usan zero-shot como una primera pasada (verificación de velocidad), few-shot para casos que fallan, y chain-of-thought para decisiones de alto riesgo que necesitan validación del razonamiento.
Empieza con Zero-Shot, Añade Solo Si Es Necesario
La mayoría de los equipos desperdician tokens empezando con few-shot cuando zero-shot funcionaría. Prueba zero-shot primero. Si la precisión cae por debajo de tu umbral, añade 3–5 ejemplos y vuelve a probar. Solo pasa a chain-of-thought si la tarea realmente requiere razonamiento. En sistemas de producción reales, usarás los tres, en diferentes etapas del mismo pipeline.