Anatomía de un prompt efectivo
Un prompt robusto para tareas de desarrollo se compone de varios elementos clave. Pensemos en ellos como los parámetros de una función bien diseñada, donde cada uno acota y define el comportamiento esperado.
-
Persona / Rol:
Indicar al modelo qué rol o perfil debe adoptar es una de las técnicas más poderosas. Al definir una persona, activamos el conocimiento, el estilo y los patrones de razonamiento asociados a ese rol presentes en su vasto conjunto de datos de entrenamiento.
❌ Prompt Débil: Revisa este código.
✅ Prompt Efectivo: Actúa como un desarrollador senior experto en ciberseguridad. Analiza el siguiente fragmento de código en PHP e identifica posibles vulnerabilidades de inyección SQL, explicando el riesgo de cada una y sugiriendo una corrección usando sentencias preparadas.
-
Contexto:
Es la información de fondo que el modelo necesita para entender el “porqué” y el “dónde” de la tarea. Esto puede incluir el lenguaje de programación, el framework, las dependencias, el objetivo de negocio o fragmentos de código relevantes.
❌ Prompt Débil: Escribe una función para validar un email.
✅ Prompt Efectivo: Estoy desarrollando un endpoint de registro en una API REST con Node.js y el framework Express.js. Necesito una función middleware para validar el formato del email que llega en ‘req.body.email’. Debes usar la librería ‘validator.js’. Si el email no es válido, la función debe responder con un código de estado 400.
-
Tarea:
La instrucción explícita de lo que debe hacer el modelo. Debe ser clara, concisa y usar verbos de acción (generar, traducir, refactorizar, explicar, optimizar).
❌ Prompt Débil: ¿Cómo funcionan las promesas en JavaScript?.
✅ Prompt Efectivo: Explica el concepto de Promesas en JavaScript. Incluye un ejemplo de código que muestre cómo consumir una promesa con .then() y .catch(), y otro ejemplo usando la sintaxis async/await para manejar el mismo caso.
-
Formato:
Especificar explícitamente cómo queremos la respuesta es crucial para que esta pueda ser procesada automáticamente o integrada directamente en nuestro código. Esto puede incluir el lenguaje de programación, la estructura de datos (JSON, XML, CSV), o incluso el estilo de escritura (comentarios, documentación).
❌ Prompt Débil: Dame una lista de los pros y contras de React y Vue.
✅ Prompt Efectivo: Genera una tabla en formato Markdown comparando React y Vue. Las columnas deben ser: “Característica”, “React” y “Vue”. Las filas deben incluir, como mínimo: “Curva de Aprendizaje”, “Rendimiento”, “Ecosistema” y “Gestión del Estado”.
-
Ejemplos (Few-Shot Prompting):
Proporcionar ejemplos concretos de input y output ayuda al modelo a entender mejor nuestras expectativas. Esta técnica, conocida como “few-shot prompting”, es especialmente útil para tareas complejas o cuando buscamos un formato específico.
❌ Prompt Débil: Traduce el siguiente texto al francés: “Hello, how are you?”
✅ Prompt Efectivo: Traduce los siguientes textos al francés. Ejemplos:
- Input: “Hello, how are you?” → Output: “Bonjour, comment ça va?”
- Input: “What is your name?” → Output: “Comment tu t’appelles?”
- Ahora traduce este texto: “I would like to order a coffee.”
Cómo mejorar tus prompts
Sección titulada «Cómo mejorar tus prompts»Rara vez el primer prompt es el mejor. El prompt engineering es un proceso iterativo, muy similar al ciclo de vida del desarrollo y la depuración de software.
- Diseño y pruebas: Lanza un prompt inicial y observa la salida. ¿Es correcta? ¿Está completa? ¿Tiene el formato deseado?
- Identifica el fallo: Si la respuesta es deficiente, diagnostica la causa raíz. ¿Falta de contexto? ¿Instrucción ambigua? ¿Formato mal definido? ¿El modelo está alucinando información?
- Refina y sé específico: Itera sobre el prompt. Añade restricciones, clarificaciones o ejemplos. Si el modelo genera código inseguro, añade una restricción explícita:
"...asegurando que todo el input del usuario sea sanitizado para prevenir vulnerabilidades XSS." - Versiona y reutiliza: Guarda tus prompts más efectivos en una biblioteca. Trátalos como si fueran snippets de código valiosos en tu arsenal de herramientas.
Dominar el diálogo con la IA es la habilidad que te permitirá evolucionar de ser un simple consumidor de modelos a un arquitecto de soluciones aumentadas por IA. Es la competencia que desbloquea el verdadero potencial colaborativo entre el ingenio humano y la potencia computacional de la inteligencia artificial.