Concepto clave
El prompting estructurado es una técnica que organiza las instrucciones para modelos de lenguaje en componentes claros y separados, similar a cómo un arquitecto divide los planos de un edificio en cimientos, estructura y acabados. En lugar de dar una instrucción monolítica como "escribe código para una API REST", descompones la tarea en partes manejables: especificaciones de entrada, lógica de procesamiento, formato de salida y validaciones.
Imagina que estás pidiendo a un chef que prepare un plato complejo. No le dices simplemente "cocina algo bueno". Le proporcionas: 1) la lista de ingredientes disponibles, 2) las técnicas de cocción preferidas, 3) las restricciones dietéticas, y 4) cómo debe presentarse el plato. Esta estructura garantiza que el resultado cumpla exactamente con tus expectativas, reduciendo iteraciones y mejorando la calidad del output.
Cómo funciona en la práctica
Vamos a crear un prompt estructurado para generar una función que procese datos de usuarios. Primero, definimos los componentes:
- Contexto: Explica el propósito general y el entorno.
- Especificaciones de entrada: Describe los datos que recibirá la función.
- Requisitos de procesamiento: Detalla la lógica que debe implementarse.
- Formato de salida: Especifica cómo debe estructurarse el resultado.
- Restricciones y validaciones: Incluye reglas de negocio y manejo de errores.
Ejemplo de prompt NO estructurado (antes):
"Crea una función en Python que tome datos de usuario y los valide."
Ejemplo de prompt estructurado (después):
"CONTEXTO: Necesito una función para validar datos de usuario en un sistema de registro.
ENTRADA: Un diccionario con claves: 'nombre' (string), 'email' (string), 'edad' (integer).
PROCESAMIENTO: 1) Validar que 'nombre' no esté vacío y tenga al menos 2 caracteres. 2) Validar que 'email' contenga '@' y un dominio válido. 3) Validar que 'edad' esté entre 18 y 100.
SALIDA: Un diccionario con claves: 'valido' (boolean) y 'errores' (lista de strings).
RESTRICCIONES: Usar Python 3.8+, incluir manejo de excepciones para tipos de datos incorrectos."
Codigo en accion
Veamos un ejemplo completo de generación de documentación técnica usando prompting estructurado con la API de GPT.
Prompt estructurado para documentación:
CONTEXTO: Genera documentación para una función de procesamiento de pagos.
FUNCION: procesar_pago(monto, moneda, metodo)
PARAMETROS:
- monto: float, cantidad a cobrar
- moneda: string, código ISO 4217 (ej: 'USD', 'EUR')
- metodo: string, 'tarjeta' o 'transferencia'
DESCRIPCION: Esta función valida y procesa un pago, registrándolo en la base de datos.
EJEMPLO_USO: Mostrar cómo llamar a la función correctamente.
NOTAS: Incluir sección de errores comunes y valores de retorno.
FORMATO: Documentación en formato Markdown con encabezados apropiados.Respuesta generada (ejemplo):
# Función: procesar_pago
## Descripción
Procesa y valida un pago, registrándolo en el sistema de transacciones.
## Parámetros
- `monto` (float): Cantidad a cobrar. Debe ser mayor a 0.
- `moneda` (string): Código ISO 4217 de la moneda. Ej: 'USD', 'EUR', 'MXN'.
- `metodo` (string): Método de pago. Valores aceptados: 'tarjeta', 'transferencia'.
## Valor de retorno
Retorna un diccionario con:
- `exitoso` (bool): True si el pago se procesó correctamente.
- `id_transaccion` (str): ID único de la transacción.
- `mensaje` (str): Mensaje descriptivo del resultado.
## Ejemplo de uso
Práctica de Prompting Estructurado
Crea un prompt estructurado para generar una función en Python que calcule el promedio de una lista de números. Incluye los componentes: contexto, especificaciones de entrada, requisitos de procesamiento, formato de salida y restricciones. Pistas- Define claramente el propósito de la función.
- Especifica el tipo de datos de entrada y salida.
- Incluye validaciones como manejo de listas vacías.
Evalua tu comprension
Completa el quiz interactivo de arriba para ganar XP.