Cómo escribir mejores prompts para IA de programación
Los prompts bien estructurados son la diferencia entre código mediocre y soluciones elegantes cuando trabajas con IA de programación. Esta guía te enseña a comunicarte eficazmente con herramientas como ChatGPT, Claude y GitHub Copilot para obtener código de mayor calidad.
- Especifica el lenguaje y versión exactos. Siempre incluye el lenguaje de programación y su versión al inicio del prompt. Escribe "Python 3.11" en lugar de solo "Python", o "TypeScript 5.0 con React 18" en lugar de "JavaScript". Las IA generan código más preciso cuando conocen las características específicas de la versión que usas.
- Define el contexto completo del proyecto. Proporciona información sobre la arquitectura, dependencias principales y patrones de diseño que usas. Incluye detalles como "aplicación Express.js con TypeORM y PostgreSQL" o "microservicio Spring Boot con arquitectura hexagonal". Esto ayuda a la IA a generar código coherente con tu base existente.
- Proporciona ejemplos de entrada y salida esperada. Incluye datos de muestra que muestren qué esperas recibir y qué debe producir el código. Escribe ejemplos como "entrada: {user_id: 123, email: '[email protected]'}, salida esperada: objeto User validado con campos encriptados". Los ejemplos concretos eliminan ambigüedades y mejoran la precisión.
- Especifica restricciones y requisitos no funcionales. Detalla limitaciones como rendimiento, memoria, compatibilidad o estándares de seguridad. Menciona "debe manejar 10,000 registros simultáneos", "compatible con ES2020" o "siguiendo principios SOLID". Incluye también restricciones de librerías: "sin usar Lodash" o "solo dependencias nativas".
- Solicita manejo de errores específico. Pide explícitamente gestión de errores detallando qué excepciones anticipas y cómo manejarlas. Escribe "incluye try-catch para errores de conexión a base de datos con reintentos" o "valida entrada y retorna códigos de error HTTP apropiados". Las IA tienden a omitir manejo robusto de errores sin instrucciones explícitas.
- Pide comentarios y documentación en el código. Solicita documentación inline y comentarios explicativos, especialmente para lógica compleja. Especifica el estilo: "comentarios JSDoc para funciones públicas" o "docstrings de Python siguiendo convención Google". Esto hace el código más mantenible y comprensible para tu equipo.
- Incluye consideraciones de testing. Menciona si necesitas código testeable y qué tipo de tests esperas. Especifica "código preparado para unit testing con Jest" o "incluye tests unitarios básicos con pytest". Si usas mocks o stubs, indícalo claramente para que la IA estructure el código apropiadamente.
- Revisa y refina iterativamente. Analiza el código generado y haz preguntas de seguimiento específicas. Si algo no funciona, proporciona el error exacto y pide correcciones puntuales. Usa prompts como "optimiza esta función para mejor rendimiento" o "refactoriza usando el patrón Strategy". La iteración mejora significativamente los resultados.