El Arte de Hablar con la IA
¿Qué es el Prompt Engineering?
El prompt engineering es la disciplina de diseñar, optimizar y refinar las instrucciones que se le proporcionan a los modelos de IA generativa para obtener resultados precisos, consistentes y útiles. Es la habilidad fundamental para trabajar eficazmente con cualquier LLM (Large Language Model).
La regla básica es simple: buenas instrucciones equivalen a buenos resultados. Una instrucción bien elaborada influye directamente en la calidad del contenido generado, ya sea código, texto, análisis de datos o imágenes.
El prompt engineering no solo se trata de escribir instrucciones. Abarca habilidades para interactuar, construir y comprender las capacidades de los LLMs — Prompt Engineering Guide
¿Por qué es Importante?
El prompt engineering es crítico porque influye directamente en la calidad, relevancia y precisión de los resultados. Una instrucción bien elaborada:
- Ayuda al modelo a comprender la intención real del usuario
- Minimiza las alucinaciones y respuestas irrelevantes
- Reduce la necesidad de postprocesamiento manual
- Permite obtener resultados consistentes y repetibles
- Hace que las interacciones a largo plazo con la IA sean más eficientes
A medida que los sistemas de IA se adoptan más ampliamente, el prompt engineering es la clave para desbloquear todo su potencial.
Cuándo Hacer Prompt Engineering
No todos los problemas de rendimiento se resuelven con ingeniería de prompts. Antes de comenzar, asegúrate de tener:
- Una definición clara de los criterios de éxito para tu caso de uso
- Formas de probar empíricamente contra esos criterios
- Un borrador inicial del prompt que quieres mejorar
Si buscas mejorar latencia o reducir costos, considera primero seleccionar un modelo diferente. El prompt engineering es más efectivo para mejorar la calidad, precisión y consistencia de las respuestas.
Elementos de un Buen Prompt
Un prompt efectivo generalmente contiene alguna combinación de estos elementos:
| Elemento | Descripción | Ejemplo |
|---|---|---|
| Instrucción | La tarea o acción específica | "Resume el siguiente texto en 3 puntos clave" |
| Contexto | Información de fondo que orienta al modelo | "Eres un experto en seguridad informática" |
| Entrada | Los datos o contenido a procesar | El texto que se quiere resumir |
| Formato de salida | Cómo debe estructurarse la respuesta | "Responde en formato JSON" |
| Ejemplos | Muestras del resultado esperado | Input/output de referencia |
No todos los elementos son necesarios en cada prompt. El arte está en combinar los que se necesitan para cada caso.
Técnicas Principales
1. Zero-Shot Prompting
Le pides al modelo que realice una tarea sin proporcionar ejemplos previos. Pone a prueba la capacidad del modelo para generalizar desde su entrenamiento.
Clasifica el sentimiento de este texto como Positivo, Negativo o Neutro:
"El servicio fue rápido pero el producto llegó dañado."Útil para: Tareas simples y bien definidas donde el modelo ya tiene el conocimiento necesario.
2. Few-Shot Prompting
Proporciona algunos ejemplos (shots) de entrada/salida para que el modelo entienda el patrón esperado antes de resolver la tarea real.
Texto: "Llegué tarde al trabajo."
Sentimiento: Negativo
Texto: "El equipo superó todas las expectativas."
Sentimiento: Positivo
Texto: "La reunión fue normal, sin novedades."
Sentimiento: Neutro
Texto: "El cliente canceló el contrato."
Sentimiento:Útil cuando: El formato de salida es específico, cuando la tarea tiene matices, o cuando los resultados zero-shot son inconsistentes.
3. Chain of Thought (CoT) — Cadena de Pensamiento
Guías al modelo para que razone paso a paso antes de llegar a la respuesta final. Mejora significativamente el rendimiento en tareas complejas de razonamiento.
Resuelve el siguiente problema mostrando cada paso de tu razonamiento:
Si un tren sale a las 9:00 AM viajando a 120 km/h y otro sale a las
10:00 AM viajando a 150 km/h en la misma dirección, ¿a qué hora
el segundo tren alcanza al primero?La variante Zero-Shot CoT simplemente agrega al final del prompt:
"Pensemos paso a paso."
Útil para: Matemáticas, lógica, razonamiento multi-paso, diagnóstico de problemas.
4. Prompts del Sistema (System Prompts)
Definir un rol o persona para el modelo en el system prompt establece el tono, estilo y enfoque de toda la conversación.
[SYSTEM PROMPT]
Eres un revisor de código senior especializado en seguridad.
Cuando analices código, siempre considera primero las vulnerabilidades
de OWASP Top 10 y señala los problemas en orden de severidad.
[USER]
Revisa este endpoint de autenticación: [código]Útil para: Consistencia en el comportamiento del agente, establecer expertise de dominio, definir restricciones de comportamiento.
5. Uso de Etiquetas XML
Usar etiquetas XML para estructurar el prompt mejora significativamente la comprensión del modelo, especialmente en prompts complejos o con múltiples secciones.
<tarea>Analiza el siguiente contrato y extrae las cláusulas de penalización.</tarea>
<contexto>
Soy abogado corporativo revisando contratos de prestación de servicios.
Necesito identificar riesgos para mi cliente.
</contexto>
<documento>
[Texto del contrato aquí]
</documento>
<formato_salida>
Lista numerada con: número de cláusula, texto relevante, nivel de riesgo (Alto/Medio/Bajo)
</formato_salida>Útil para: Prompts largos, inputs con múltiples partes, cuando se necesita separar claramente instrucciones de datos.
6. Prompt Chaining
Encadena múltiples prompts para resolver tareas complejas de forma modular. La salida de un prompt se convierte en la entrada del siguiente.
Paso 1: "Extrae los requisitos funcionales de este documento de especificación."
→ Output: Lista de requisitos
Paso 2: "Para cada requisito, genera los casos de prueba correspondientes."
→ Output: Casos de prueba
Paso 3: "Prioriza los casos de prueba según criticidad y genera el plan de testing."
→ Output: Plan finalÚtil para: Workflows complejos, cuando un solo prompt produce resultados de baja calidad, tareas que requieren múltiples transformaciones.
7. Técnicas Avanzadas
| Técnica | Descripción |
|---|---|
| Tree of Thoughts (ToT) | El modelo explora múltiples caminos de razonamiento como un árbol de decisión y selecciona el mejor |
| ReAct | Combina razonamiento (reasoning) con acciones (acting) — el modelo piensa, actúa, observa el resultado e itera |
| RAG (Retrieval Augmented Generation) | Recupera información externa relevante e inyecta en el contexto del prompt |
| Auto-consistencia | Genera múltiples respuestas con diferentes cadenas de pensamiento y selecciona la más consistente |
| Meta-prompting | Usa el modelo para generar o mejorar sus propios prompts |
Mejores Prácticas
Sé Claro y Directo
Evita ambigüedades. Di exactamente qué quieres, cómo lo quieres y para qué lo usarás.
❌ "Escribe algo sobre seguridad web"
✅ "Escribe una explicación de 300 palabras sobre inyección SQL para desarrolladores junior que nunca han trabajado con seguridad web"
Itera y Refina
El prompt engineering es un proceso iterativo. Trata cada prompt como un experimento:
- Escribe un borrador inicial
- Prueba con diferentes inputs
- Analiza dónde falla
- Ajusta y repite
Especifica el Formato de Salida
Cuando necesitas una estructura específica, dísela explícitamente. Los modelos respetan mejor las instrucciones de formato cuando se dan por adelantado.
Adapta al Modelo
Cada modelo tiene sus fortalezas. Claude responde bien a instrucciones claras y etiquetas XML. GPT-4 puede preferir un estilo más conversacional. Adapta tu técnica al modelo que usas.
Prueba los Casos Límite
Verifica que tu prompt maneja bien:
- Entradas vacías o malformadas
- Solicitudes fuera del alcance esperado
- Inputs en idiomas distintos al esperado
Prompt Engineering para Agentes de Código
Cuando trabajes con agentes de codificación (Claude Code, Copilot, Cline), aplican principios adicionales:
- Da contexto del proyecto desde el inicio: Arquitectura, stack tecnológico y convenciones antes de la tarea.
- Divide tareas grandes: En lugar de "construye toda la aplicación", divide en pasos concretos y verificables.
- Especifica criterios de aceptación: "El código debe pasar todos los tests existentes y seguir el estilo de ESLint configurado."
- Usa AGENTS.md: Documenta las instrucciones recurrentes en un archivo persistente para no repetirlas en cada sesión.
- Indica las herramientas disponibles: Si el agente tiene acceso a terminales, browsers o APIs, menciona cuáles debe usar.
Para maximizar la efectividad en proyectos con agentes, complementa el prompt engineering con los estándares AGENTS.md y Skills documentados en las proximas secciones.
Recursos para Profundizar
- Prompt Engineering Guide — Guía completa con técnicas, papers y ejemplos
- Anthropic Prompt Engineering Docs — Guía oficial para Claude
- Tutorial interactivo de GitHub — Ejercicios prácticos de Anthropic
- IBM Think: Prompt Engineering — Perspectiva empresarial y casos de uso