Prompting zero-shot y few-shot
Comprenderá la diferencia entre preguntar directamente al modelo y proporcionarle ejemplos, y aprenderá cuándo cada enfoque produce mejores resultados en tareas de clasificación, extracción y generación.
Prompting zero-shot y few-shot es una lección gratuita de AI Engineering Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Engineering Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Engineering Academy incluye 4 lecciones en total.
¿Qué es el prompting zero-shot?
El prompting zero-shot consiste en pedir al modelo que realice una tarea sin darle ejemplos de cómo hacerlo. Simplemente describa la tarea y permita que el modelo aplique sus conocimientos preentrenados. Funciona bien con tareas que el modelo ha visto muchas veces durante el entrenamiento, como la traducción, el resumen o la clasificación sencilla.
Por ejemplo, pedir al modelo que Clasifique esta reseña como Positiva o Negativa es un prompt zero-shot. Durante el preentrenamiento, el modelo ha asimilado miles de ejemplos de clasificación de sentimientos, por lo que puede realizar la tarea sin que se le muestren ejemplos en el propio prompt.
Un ejemplo sencillo de zero-shot
Los prompts zero-shot son concisos y se basan en el conocimiento incorporado del modelo. Funcionan mejor cuando la tarea es habitual y no presenta ambigüedades. Observe que el prompt siguiente define claramente la tarea sin mostrar ejemplos de resultados correctos.
import openai
client = openai.OpenAI()
prompt = 'Classify the sentiment of the following customer review.\nRespond with only one word: Positive, Negative, or Neutral.\n\nReview: The delivery was fast but the packaging was damaged.\n\nSentiment:'
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}],
max_tokens=5
)
print(response.choices[0].message.content) # Expected: NegativeCuándo se queda corto el zero-shot
El prompting zero-shot puede fallar cuando el formato de la tarea es inusual, cuando el modelo debe seguir un esquema de salida poco habitual o cuando necesita un formato coherente que el modelo podría interpretar de forma diferente en cada ejecución. Pedir al modelo que extraiga datos en una estructura JSON muy específica con nombres de campo personalizados es arriesgado como prompt zero-shot, porque el modelo debe adivinar exactamente lo que pretende.
El zero-shot también tiene dificultades con la jerga específica del dominio o con categorías de clasificación muy especializadas que el modelo quizá no haya encontrado con frecuencia durante el preentrenamiento. En estos casos, proporcionar ejemplos mejora notablemente la precisión.
¿Qué es el prompting few-shot?
El prompting de pocos ejemplos consiste en proporcionar al modelo entre 2 y 8 ejemplos de la tarea (entrada y salida deseada) antes de presentar su consulta real. Los ejemplos enseñan al modelo el formato exacto y el esquema de clasificación que desea, sin necesidad de ajuste fino ni entrenamiento.
Esta es una de las técnicas más potentes y menos utilizadas de la ingeniería de prompts. El modelo utiliza los ejemplos para inferir el patrón y aplicarlo a la nueva entrada. La investigación del artículo sobre GPT-3 demostró que el rendimiento en muchas tareas aumentaba significativamente con el número de ejemplos, hasta aproximadamente 8; a partir de ahí, las mejoras se estancan y solo desperdicia tokens.
Estructura de un prompt de pocos ejemplos
Un prompt de pocos ejemplos sigue un patrón coherente: muestra N ejemplos como pares de entrada y salida, y después presenta la nueva entrada para que el modelo complete la salida. El formato de los ejemplos enseña al modelo el formato exacto de salida que espera.
import openai
client = openai.OpenAI()
prompt = ('Extract the product name and price from each sentence.\n'
'Respond in the format: Product: <name> | Price: <price>\n\n'
'Sentence: The blue headphones cost $79.99.\n'
'Product: Blue Headphones | Price: $79.99\n\n'
'Sentence: You can get the leather wallet for just $34.\n'
'Product: Leather Wallet | Price: $34\n\n'
'Sentence: Order the ergonomic keyboard for $129.99 today.\n')
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}],
max_tokens=30
)
print(response.choices[0].message.content)Cómo elegir buenos ejemplos de pocos ejemplos
La calidad de los ejemplos importa tanto como su cantidad. Elija ejemplos que:
- Incluyan casos límite: incluya un ejemplo con una entrada ambigua para que el modelo vea cómo desea que se gestione
- Abarquen todo el espacio de salida: si tiene tres clases, incluya al menos un ejemplo de cada una
- Sean representativos: utilice ejemplos similares en estilo y complejidad a las entradas reales de producción
- Mantengan un formato coherente: cualquier inconsistencia de formato en sus ejemplos se propagará a la salida del modelo
Los ejemplos mal elegidos pueden perjudicar el rendimiento al inducir al modelo a interpretar incorrectamente la distribución de la tarea.
Zero-Shot frente a Few-Shot: cuándo usar cada uno
Utilice zero-shot cuando: la tarea sea común y esté bien definida, desee minimizar el coste en tokens o esté iterando rápidamente y todavía sea difícil recopilar ejemplos. Zero-shot también es preferible cuando no desea limitar el conocimiento general del modelo mediante ejemplos.
Utilice few-shot cuando: el formato de salida sea inusual o estricto, tenga categorías específicas de un dominio, zero-shot produzca un formato incoherente o necesite que el modelo siga de forma constante un estilo o tono determinados. Few-shot es especialmente eficaz para la extracción, la clasificación y la generación con restricciones de formato.
Few-Shot para tareas de clasificación
La clasificación es uno de los casos de uso más valiosos del prompting de pocos ejemplos. Cuando tiene etiquetas personalizadas que no se corresponden con categorías comunes, proporcionar ejemplos enseña al modelo su taxonomía. Los ejemplos siguientes definen exactamente qué significan Bug, Feature Request y Question en el contexto de los tickets de soporte.
import openai
client = openai.OpenAI()
prompt = ('Classify the support ticket into: Bug, Feature Request, or Question.\n\n'
'Ticket: The login button does nothing when I click it.\n'
'Category: Bug\n\n'
'Ticket: Can you add dark mode to the dashboard?\n'
'Category: Feature Request\n\n'
'Ticket: How do I export my data to CSV?\n'
'Category: Question\n\n'
'Ticket: The export button crashes the app every time.\n'
'Category:')
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}],
max_tokens=10
)
print(response.choices[0].message.content) # BugPrompting de un solo ejemplo
Entre zero-shot y few-shot se encuentra el prompting de un solo ejemplo: proporcionar exactamente un ejemplo. A menudo, esto basta para resolver problemas de formato o aclarar tareas ambiguas, y requiere muchos menos tokens que un prompt completo de pocos ejemplos. El prompting de un solo ejemplo es un buen primer paso cuando zero-shot produce resultados poco fiables.
En la práctica, empiece con zero-shot, evalúe una muestra de entradas reales y añada ejemplos solo donde el modelo falle. Así mantendrá sus prompts concisos y eficientes en tokens, mientras dirige las mejoras allí donde más importan.
Selección dinámica de ejemplos
En los sistemas de producción, codificar los mismos ejemplos para todas las consultas no es lo óptimo. La selección dinámica de ejemplos recupera del banco de ejemplos etiquetados los más similares a la entrada actual mediante la similitud entre embeddings y, después, incorpora al prompt únicamente esos ejemplos.
De este modo, el modelo siempre ve las demostraciones más relevantes para la entrada específica, en lugar de ejemplos genéricos que podrían no coincidir con el estilo o el dominio de la entrada. Esta técnica combina las ventajas del prompting de pocos ejemplos con la escalabilidad de un sistema de recuperación y, en ocasiones, se denomina prompting aumentado mediante recuperación basado en ejemplos.
Restricciones de formato en prompts de pocos ejemplos
El prompting de pocos ejemplos es la forma más fiable de imponer formatos de salida estrictos antes de disponer de salidas estructuradas o del modo JSON. Al mostrar al modelo el formato exacto que espera —incluidos los nombres de los campos, los delimitadores y el orden— aumenta considerablemente la probabilidad de obtener una salida que se pueda analizar.
Termine siempre el prompt de pocos ejemplos con el comienzo del patrón de salida esperado (por ejemplo, la llave de apertura de un objeto JSON o el nombre del primer campo). Esto prepara al modelo para continuar el patrón, en lugar de que posiblemente resuma o comente primero la tarea.
Comprobación rápida
Compruebe su comprensión de los conceptos de ingeniería de IA de esta lección.
Repaso de la lección
En esta lección ha aprendido que: el prompting zero-shot pide al modelo que realice tareas basándose únicamente en una descripción; el prompting few-shot proporciona entre 2 y 8 ejemplos de entrada y salida para enseñar el formato y la taxonomía; y la selección dinámica de ejemplos recupera los ejemplos más relevantes para cada consulta mediante la similitud entre embeddings. A continuación, exploraremos el prompting de cadena de pensamiento para tareas de razonamiento complejo.
Aprende Python con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Prompting zero-shot y few-shot» es gratis?
Sí — el texto completo de «Prompting zero-shot y few-shot» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Engineering Academy, actualiza a CoddyKit PRO. El curso de AI Engineering Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Prompting zero-shot y few-shot»?
Comprenderá la diferencia entre preguntar directamente al modelo y proporcionarle ejemplos, y aprenderá cuándo cada enfoque produce mejores resultados en tareas de clasificación, extracción y generac… Practicas AI Engineering Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AI Engineering Academy?
No se requiere experiencia previa. AI Engineering Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Prompting zero-shot y few-shot»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AI Engineering Academy?
Sí. Cada lección de AI Engineering Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Prompting zero-shot y few-shot
- Chain-of-thought y razonamiento paso a paso
- Prompts de sistema y definición de la persona
- Iteración y depuración de prompts