Cómo Escribir Prompts Efectivos para IA

Guía completa para obtener los mejores resultados de la inteligencia artificial

¿Qué es un Prompt?

Un prompt es la instrucción que le das a una IA para que realice una tarea. La calidad del resultado depende directamente de la calidad de tu prompt. Un buen prompt es como una buena receta: necesita ingredientes precisos y pasos claros.

Los 4 Elementos de un Prompt Perfecto

1. Contexto

Proporciona información sobre tu situación, nivel de experiencia y el objetivo final.

Mal: "Escribe código"
Bien: "Soy desarrollador junior trabajando en una app de e-commerce con React y necesito..."

2. Tarea específica

Sé lo más específico posible sobre lo que quieres que haga la IA.

Mal: "Haz una función"
Bien: "Crea una función en TypeScript que filtre un array de productos por precio mínimo y máximo, categoría y disponibilidad en stock"

3. Formato de salida

Indica cómo quieres recibir la respuesta.

Ejemplo: "Dame el código con comentarios explicativos, incluye tests unitarios y explica la complejidad temporal"

4. Restricciones

Establece límites claros.

Ejemplo: "No uses librerías externas, el código debe ser compatible con Node.js 18+, máximo 50 líneas"

Plantillas de Prompts Listas para Usar

Para generar código

"Como experto en [lenguaje], crea una función que [descripción detallada]. Requisitos: - Input: [describe el formato de entrada] - Output: [describe el formato de salida] - Restricciones: [límites y condiciones] - Incluye: [tests, comentarios, manejo de errores] Explica brevemente cómo funciona y la complejidad O(n)."

Para depurar código

"Encuentra el bug en este código [lenguaje]: [código] Error que obtengo: [mensaje de error completo] Comportamiento esperado: [qué debería pasar] Comportamiento actual: [qué está pasando] Explica la causa raíz y proporciona la corrección."

Para aprender un concepto

"Explícame [concepto] como si tuviera [nivel] años. Incluye: 1. Definición simple 2. Analogía del mundo real 3. Ejemplo práctico de código 4. Cuándo usarlo y cuándo no 5. Errores comunes"

Técnicas Avanzadas

Chain of Thought

Pide a la IA que piense paso a paso:

Prompt: "Resuelve este problema paso a paso, explicando tu razonamiento en cada etapa..."

Few-Shot Learning

Proporciona ejemplos antes de pedir la tarea:

"Convierte estas frases a estilo formal: 'Hey, ¿qué tal?' → 'Hola, ¿cómo se encuentra?' 'Necesito eso ya' → 'Le solicito amablemente que me envíe...' Ahora convierte: 'Mándame el archivo cuando puedas'"

Role Playing

Asigna un rol experto a la IA:

Prompt: "Actúa como un senior developer con 15 años de experiencia en arquitectura de software. Revisa este código y sugiere mejoras..."

Errores Comunes al Escribir Prompts

Checklist del Prompt Perfecto

Ejemplos de Prompts por Lenguaje

Cada lenguaje de programación tiene sus propias convenciones, patrones y mejores prácticas. A continuación te mostramos prompts específicos adaptados a los lenguajes más populares, para que obtengas resultados mucho más precisos y útiles.

Python

Python se caracteriza por su legibilidad y su ecosistema científico. Los prompts efectivos para Python deben mencionar PEP 8, type hints y las librerías específicas que utilizas en tu proyecto.

"Como experto en Python 3.12, crea una clase que gestione una cola de tareas asíncronas usando asyncio. Requisitos: - Sigue PEP 8 e incluye type hints completos - Usa dataclasses para los modelos de datos - Implementa los métodos: enqueue, dequeue, peek, is_empty - Maneja excepciones con clases personalizadas - Incluye docstrings en formato Google - Añade un ejemplo de uso con asyncio.run() - Compatible con Python 3.10+ La cola debe soportar prioridades y timeouts configurables."

JavaScript / TypeScript

Para JavaScript y TypeScript, es fundamental especificar el entorno de ejecución (navegador o Node.js), el sistema de módulos y si prefieres un estilo funcional u orientado a objetos.

"Como senior frontend developer, crea un custom hook de React llamado useDebounce en TypeScript. Requisitos: - TypeScript estricto con tipos genéricos - Compatible con React 18+ - Usa useEffect y useState de React - Incluye cleanup para evitar memory leaks - Acepta valor y delay como parámetros - Retorna el valor debounced - Incluye un ejemplo de uso con un input de búsqueda - Exporta tipos necesarios No uses librerías externas, solo React."

SQL

Los prompts para SQL deben incluir el motor de base de datos específico (PostgreSQL, MySQL, SQL Server), el esquema de las tablas involucradas y el resultado esperado con datos de ejemplo.

"Como DBA experto en PostgreSQL 16, escribe una query optimizada para obtener el top 10 de clientes que más han comprado en los últimos 90 días. Esquema de tablas: - customers (id, name, email, created_at) - orders (id, customer_id, total, status, created_at) - order_items (id, order_id, product_id, quantity, price) Requisitos: - Usa CTEs para mejorar la legibilidad - Incluye índices recomendados - Explica el plan de ejecución esperado - Solo pedidos con status = 'completed' - Muestra: nombre, email, total gastado, número de pedidos - Optimiza para una tabla con 1M+ registros"

CSS / Tailwind

Los prompts de CSS deben describir el diseño visual deseado, el comportamiento responsive y las restricciones de accesibilidad que necesitas cumplir.

"Como experto en CSS moderno, crea un layout de dashboard responsive con CSS Grid. Requisitos: - Sidebar fijo de 250px que colapsa en mobile (hamburger menu) - Header sticky de 64px - Área de contenido principal con grid de cards auto-fill - Footer que siempre queda al fondo (sticky footer) - Usa CSS custom properties para theming (light/dark) - Animaciones suaves en transiciones - Compatible con los últimos 2 versiones de navegadores - Incluye media queries para mobile (320px), tablet (768px), desktop (1200px) - Sin frameworks, CSS puro"

Cómo Iterar y Refinar Prompts

Rara vez obtienes el resultado perfecto en el primer intento. La clave está en tratar la escritura de prompts como un proceso iterativo donde cada versión mejora sobre la anterior. A continuación te mostramos cómo transformar prompts mediocres en instrucciones precisas.

Iteración 1: Del prompt vago al prompt estructurado

El primer intento suele ser demasiado genérico. La IA necesita contexto y especificidad para producir código de calidad profesional.

Prompt vago (intento 1): "Hazme una función para validar emails" Resultado: La IA genera una regex básica que no cubre casos reales. Prompt mejorado (intento 2): "Crea una función en TypeScript que valide emails según RFC 5322. - Input: string - Output: { valid: boolean, reason?: string } - Debe rechazar: emails sin @, dominios sin TLD, emails con espacios - Debe aceptar: emails con +, subdominios, dominios internacionales - Incluye tests unitarios con Jest - Máximo 30 líneas"

Iteración 2: Refinando el resultado

Una vez que tienes una primera versión funcional, puedes pedir mejoras específicas sobre el código generado.

Prompt de refinamiento (intento 3): "La función que generaste funciona bien, pero necesito que: 1. Extraigas la regex a una constante con nombre descriptivo 2. Añadas un parámetro opcional 'options' con: - allowPlusAddressing: boolean (default true) - maxLength: number (default 254) - allowedDomains: string[] (opcional, whitelist) 3. Lances errores tipados (EmailValidationError) en vez de retornar objeto 4. Añadas JSDoc completo con @example 5. Optimices la regex para evitar ReDoS"

Iteración 3: Adaptando a tu codebase

El paso final es adaptar el código generado a las convenciones y patrones de tu proyecto existente.

Prompt de adaptación (intento 4): "Adapta esta función a las convenciones de mi proyecto: - Usamos Zod para validación de schemas - Los errores extienden de AppError (te paso la clase) - El estilo es funcional, no orientado a objetos - Exportamos como named export - Los tests usan vitest en vez de jest - El archivo va en src/utils/validators/ Aquí está mi AppError: [código] Aquí un ejemplo de cómo escribimos validaciones: [código]"

Consejos para iterar eficazmente

Sigue estos principios para sacar el máximo partido de cada iteración con la IA. No se trata de reescribir todo el prompt, sino de añadir capas de precisión progresivamente.

Preguntas Frecuentes

¿Cuánto debe medir un prompt ideal?

No existe una longitud fija, pero los prompts más efectivos suelen tener entre 100 y 300 palabras. Lo importante no es la cantidad sino la densidad de información útil. Un prompt de 50 palabras muy específico puede superar a uno de 500 palabras lleno de información irrelevante. La regla general es: incluye todo lo necesario y nada más. Si tu prompt supera las 500 palabras, probablemente estás intentando abarcar demasiadas tareas en una sola petición y deberías dividirlo en pasos.

¿Funcionan los prompts igual en todas las IAs?

Los principios fundamentales son los mismos (contexto, tarea, formato, restricciones), pero cada modelo tiene sus particularidades. ChatGPT responde bien a instrucciones detalladas y conversacionales, Claude destaca con prompts largos y documentos extensos, y Gemini funciona bien con prompts que incluyen datos estructurados. Lo recomendable es aprender las fortalezas de cada modelo y adaptar tu estilo de prompting en consecuencia. Un prompt bien escrito funcionará razonablemente bien en cualquier modelo, pero los resultados óptimos requieren ajustes específicos.

¿Debo escribir prompts en inglés o en español?

La mayoría de los modelos de IA han sido entrenados predominantemente en inglés, por lo que los prompts en este idioma suelen producir resultados ligeramente mejores, especialmente para código y documentación técnica. Sin embargo, los modelos actuales manejan el español con bastante solvencia. Una buena estrategia es escribir el prompt en español pero usar términos técnicos en inglés (por ejemplo, "implementa un middleware con error handling" en vez de traducir todo). Para código, los nombres de variables y funciones siempre deben estar en inglés.

¿Cómo evito que la IA alucine o invente librerías?

Para minimizar las alucinaciones, incluye siempre la restricción explícita "usa solo librerías que existan y estén mantenidas activamente" y proporciona la lista de dependencias de tu proyecto (tu package.json, requirements.txt, etc.). También puedes pedir que la IA verifique su respuesta: "Antes de darme el código, confirma que todas las librerías que usas existen en npm/PyPI y están en su versión más reciente". Otra técnica efectiva es pedir que cite la documentación oficial de las APIs que utiliza.