Quiz: Evaluación de técnicas avanzadas

Quiz
15 min~4 min lectura

Quiz Interactivo

Pon a prueba tus conocimientos

Concepto clave

El prompt engineering avanzado va mas alla de escribir instrucciones simples. Se trata de diseñar sistemas de prompts que guien a modelos como GPT o Claude de manera predecible y eficiente para casos de uso complejos. Piensa en esto como construir un manual de instrucciones detallado para un asistente experto: no solo le dices que hacer, sino que defines el contexto, el formato de respuesta, y los pasos logicos a seguir.

En el mundo real, esto es similar a como un arquitecto crea planos detallados. No solo dice "construye una casa", sino que especifica materiales, dimensiones, y procesos. En el desarrollo de sistemas inteligentes, un prompt avanzado actua como esos planos, asegurando que el modelo genere respuestas consistentes, estructuradas, y alineadas con los requisitos de integracion en produccion.

Como funciona en la practica

Imagina que necesitas que un modelo analice sentimientos en reseñas de productos y genere un reporte estructurado. Un prompt basico podria ser: "Analiza esta reseña". Un prompt avanzado, en cambio, desglosa el proceso:

  1. Define el rol del modelo: "Eres un analista de datos especializado en sentiment analysis."
  2. Especifica la entrada: "Recibiras una reseña de producto en texto plano."
  3. Detalla los pasos: "Primero, identifica el sentimiento (positivo, negativo, neutro). Segundo, extrae palabras clave que justifiquen el sentimiento. Tercero, genera un JSON con los campos: sentimiento, palabras_clave, y confianza (0-1)."
  4. Establece restricciones: "No agregues comentarios adicionales. Usa solo el formato JSON especificado."

Este enfoque sistematico reduce la variabilidad y facilita la integracion con APIs o bases de datos.

Codigo en accion

Ejemplo de un prompt basico vs. avanzado para una API de GPT:

# ANTES: Prompt basico
prompt_basico = "Traduce al ingles: Hola mundo"
# Esto puede generar respuestas inconsistentes como "Hello world" o "Hi world" sin control.
# DESPUES: Prompt avanzado con estructura sistematica
prompt_avanzado = """
Tu tarea es traducir texto del espanol al ingles.
Sigue estas reglas:
1. Usa un tono formal y preciso.
2. Manten la estructura original (por ejemplo, si es un titulo, tradúcelo como titulo).
3. Devuelve SOLO la traduccion, sin explicaciones.

Texto a traducir: Hola mundo
"""
# Esto genera consistentemente "Hello world" y es facil de integrar en un flujo de trabajo.

Errores comunes

  • Ambigüedad en las instrucciones: No especificar el formato de salida, lo que lleva a respuestas que no se pueden parsear automaticamente. Solucion: Siempre define un formato claro como JSON o XML.
  • Sobrecarga de contexto: Incluir demasiada informacion en el prompt, lo que puede distraer al modelo. Solucion: Manten el prompt conciso y enfocado en la tarea principal.
  • Falta de ejemplos: Asumir que el modelo entendera sin demostraciones. Solucion: Usa few-shot learning incluyendo 1-2 ejemplos de entrada/salida.
  • Ignorar el manejo de errores: No prever casos donde el modelo no pueda completar la tarea. Solucion: Agrega instrucciones como "Si no hay suficiente informacion, devuelve null en el campo correspondiente."

Checklist de dominio

  1. ¿El prompt define explicitamente el rol y contexto del modelo?
  2. ¿Se especifica un formato de salida estructurado (ej., JSON) para facilitar integracion?
  3. ¿Incluye pasos logicos o reglas que guien el razonamiento del modelo?
  4. ¿Maneja casos limite o posibles errores de manera elegante?
  5. ¿Es lo suficientemente conciso para evitar tokens innecesarios en APIs?
  6. ¿Has probado el prompt con multiples entradas para verificar consistencia?
  7. ¿Documentaste el prompt para que otros desarrolladores puedan entenderlo y mantenerlo?

Refactorizacion de un prompt para analisis de datos

En este ejercicio, transformaras un prompt basico en uno avanzado y sistematico para un caso de uso real en desarrollo full stack.

  1. Contexto: Tienes un prompt que pide a un modelo "Analiza estos datos de ventas", pero genera respuestas inconsistentes. Tu objetivo es refactorizarlo para que produzca JSON estructurado listo para una API.
  2. Paso 1: Escribe el prompt original basico: "Analiza los siguientes datos de ventas y dime que producto vendio mas: Producto A: 150 unidades, Producto B: 200 unidades, Producto C: 100 unidades."
  3. Paso 2: Disena un prompt avanzado que:
    • Asigne un rol al modelo (ej., analista de ventas).
    • Especifique la entrada como una lista de productos y unidades.
    • Incluya pasos como calcular totales, identificar el maximo, y generar un JSON con campos: producto_mas_vendido, unidades, y fecha_analisis (usar la fecha actual).
    • Defina restricciones como no agregar texto extra.
  4. Paso 3: Prueba tu prompt avanzado con una herramienta como la API de GPT o un playground, y verifica que el JSON sea valido y consistente.
  5. Paso 4: Escribe una breve reflexion sobre como este prompt mejoraria la integracion en un sistema full stack (ej., facilitando el parseo en el backend).
Pistas
  • Piensa en como estructurarias los datos si tuvieras que programar esta logica manualmente en codigo.
  • Usa etiquetas como ```json en tu prompt para indicar claramente el formato de salida deseado.
  • Considera agregar un ejemplo de entrada/salida en el prompt para guiar al modelo (few-shot learning).

Evalua tu comprension

Completa el quiz interactivo de arriba para ganar XP.