Cómo usar la IA para programar de forma segura y eficaz
Pide a la IA lo que necesitas como si fuera un colega y revisa su trabajo como un auditor. Prompts para depurar, crear código, tests y revisiones clave.

El chat con IA es realmente útil para programar: explicar código desconocido, encontrar la causa de un error, escribir código repetitivo (boilerplate), diseñar pruebas y enseñarte un nuevo lenguaje o librería. Sin embargo, también se equivoca con total seguridad con bastante frecuencia, por lo que deberías tratar cada respuesta como un pull request de un colega rápido pero descuidado. Esta guía te enseña a preguntar bien y a verificar lo que recibes.
En qué destaca el chat con IA al programar
- Explicar código: "explícame esta función paso a paso, línea por línea".
- Depuración: leer un mensaje de error con su stack trace y sugerir causas probables.
- Funciones pequeñas y bien definidas: procesar fechas, validar entradas, transformar datos.
- Código repetitivo (boilerplate): archivos de configuración, parseo de argumentos de línea de comandos, controladores básicos de API.
- Pruebas: crear borradores de pruebas unitarias, incluidos los casos límite (edge cases) que olvidaste.
- Regex, SQL y comandos de una línea para la terminal, con una explicación de cada parte.
- Aprender: "sé Python; muéstrame cómo se ve esto en Go y explícame las diferencias".
- Revisión de código: detectar problemas de legibilidad, falta de manejo de errores y fallos obvios de seguridad.
Es menos eficaz en decisiones de arquitectura complejas que dependen de toda tu base de código, con versiones muy recientes de librerías que quizá aún no conozca, y con cualquier cosa que no pueda ver. En un chat como ChatG, la IA solo ve lo que pegas. No puede abrir tus archivos ni ejecutar tu código.
Cómo pedir la solución a un bug
La mayoría de las respuestas deficientes de programación se deben a la falta de contexto. Un buen prompt de depuración incluye cinco elementos: el lenguaje y sus versiones, el código relevante, el error completo, lo que esperabas frente a lo que ocurrió, y lo que ya intentaste.
Débil: Mi código no funciona, arréglalo. [200 líneas pegadas]
Fuerte: Python 3.12, pandas 2.x. Esta función debería devolver el valor promedio de pedido por cliente, pero lanza KeyError: 'customer_id'. Código: [pega solo la función y una muestra de 5 filas de los datos] Traceback completo: [pegar] Ya verifiqué que el CSV tiene una columna customer_id. ¿Cuáles son las causas probables? Explica la solución antes de mostrar el código corregido.
Reduce tu código a la parte mínima que aún reproduzca el problema. A menudo, esto revela el bug por sí solo y mantiene la atención en las líneas clave. Puedes abrir un prompt de depuración en el chat y completar los espacios.
Cómo pedir código nuevo
Escribe una pequeña especificación. Cuanto más detalle des sobre entradas, salidas y casos límite, menos tendrás que corregir después.
Escribe una función en TypeScript slugify(title: string): string. - Todo en minúsculas, solo ASCII; translitera letras acentuadas comunes (por ejemplo, é pasa a e). - Reemplaza cualquier secuencia de caracteres no alfanuméricos por un solo guión. - Elimina los guiones de los extremos; longitud máxima 60, sin cortar palabras a la mitad. - Sin librerías externas. Luego escribe 8 pruebas unitarias con Vitest, incluyendo una cadena vacía y una entrada que contenga emojis.
Pide las pruebas junto con el código. Si los tests que propone la IA no coinciden con su propio código, habrás detectado un problema antes de que llegue a producción.
Verifica todo antes de pasar a producción
El código generado por IA puede verse limpio y, aun así, ser incorrecto. Incorpora estas comprobaciones en tu rutina:
- Ejecútalo. Nunca agregues código a un proyecto sin ejecutarlo antes junto con sus pruebas.
- Comprueba que cada función y opción realmente existan. A veces la IA inventa métodos, parámetros o claves de configuración, o usa opciones de versiones obsoletas. Búscalos en la documentación oficial de la versión exacta que utilizas.
- Verifica el nombre de cada paquete antes de instalarlo. Investigadores de seguridad han documentado cómo los asistentes de IA recomiendan paquetes inexistentes, y los atacantes pueden registrar esos nombres con código malicioso (un ataque a veces llamado "slopsquatting"). Confirma que el paquete sea el oficial y esté mantenido en el registro correspondiente antes de instalarlo.
- Revisa la seguridad. Busca consultas SQL generadas por concatenación de cadenas, falta de validación de entradas, verificaciones de certificados desactivadas, secretos expuestos en el código y permisos demasiado amplios. Pregúntale a la IA directamente: "Revisa esto en busca de problemas de seguridad, asumiendo que cualquier entrada es maliciosa".
- Léelo hasta entenderlo por completo. Si no puedes explicar qué hace un bloque de código, pregunta o no hagas el merge. Al final, serás tú quien tenga que mantenerlo.
Mantén los secretos y el código privado fuera del chat
Nunca pegues claves de API, contraseñas, tokens, claves privadas o cadenas de conexión en ningún chat de IA. Sustitúyelos por marcadores de posición como YOUR_API_KEY. Si expones un secreto real por accidente fuera de tus propios sistemas, cámbialo de inmediato.
Si programas para una empresa o cliente, revisa su política antes de pegar su código en cualquier servicio externo de IA. Muchas empresas solo permiten herramientas aprobadas para código propietario. Ante la duda, simplifica el problema en un ejemplo genérico que no revele nada sobre el proyecto. Nuestra guía de privacidad y seguridad en IA trata este tema en detalle.
Prompts útiles para desarrolladores
Explica este código a un desarrollador que conoce [lenguaje] pero no esta librería. Ve bloque por bloque y luego enumera cualquier cosa que parezca arriesgada o desactualizada. [pegar código]
Revisa este diff como un ingeniero senior. Agrupa tus comentarios en bugs, seguridad, rendimiento y legibilidad. Sé específico y cita las líneas a las que te refieres. [pegar diff]
Escribe una expresión regular que coincida con [descripción]. Explica cada parte y da 5 cadenas que deban coincidir y 5 que no.
Domino Python y estoy aprendiendo Rust. Muéstrame cómo hacer [tarea] en Rust y explícame ownership y borrowing como si nunca los hubiera visto.
Encontrarás más opciones en la colección de prompts para programar. Para tareas puntuales y rápidas, la herramienta asistente de código toma una descripción o fragmento y te devuelve el código explicado, mientras que el asistente para programar integrado mantiene un enfoque técnico durante toda la conversación.
Errores comunes
- Pegar el proyecto entero. Los fragmentos kilométricos ocultan lo importante y pueden superar la capacidad de procesamiento de la IA en un solo mensaje. Envía únicamente los archivos o funciones relevantes.
- Aceptar un "arreglo" que solo oculta el síntoma. Envolverlo todo en un bloque try/except hace desaparecer el mensaje de error, no el bug. Pregunta siempre por qué ocurre el fallo.
- Dar vueltas en círculos. Si dos o tres intentos no funcionan, deténte y cambia de estrategia: aporta más contexto, crea un ejemplo más reducido o abre un chat nuevo resumiendo el problema con claridad.
- No indicar las versiones. Las API de los frameworks cambian entre versiones principales; especifica siempre cuál estás usando.
- Ignorar las licencias. Si la IA reproduce un fragmento reconocible de código de terceros, verifica su licencia antes de usarlo.
Consulta también cómo usan ChatG los desarrolladores y la guía para escribir prompts general.
Un flujo de trabajo para mantener el control
- Describe primero el objetivo, sin código. Pide dos o tres enfoques posibles con sus ventajas y desventajas antes de empezar a programar.
- Elige un enfoque y pide un primer paso pequeño. Es mucho más fácil revisar una sola función o archivo a la vez que una funcionalidad completa.
- Ejecútalo y comenta los resultados. Pega la salida real o el error exacto, no un simple "no funciona".
- Pide pruebas y luego una revisión. Preguntar "¿qué casos límite se escapan aquí?" suele sacar a la luz el siguiente bug.
- Escribe tú mismo el mensaje del commit. Si no puedes resumir qué cambió y por qué, significa que aún no comprendes el cambio lo suficiente.
Preguntas frecuentes
¿Puede la IA sustituir el aprender a programar?
No. Hace más rápidas a las personas que saben leer y evaluar código. Si no puedes juzgar si una respuesta es correcta, no puedes usarla con seguridad. Usa la IA para aprender más rápido: pregunta el porqué, no solo el cómo.
¿Qué lenguajes de programación domina?
El chat con IA suele desenvolverse muy bien con lenguajes populares como Python, JavaScript, TypeScript, Java, C#, C++, Go, PHP, SQL y scripts de terminal, y con menor precisión en lenguajes poco comunes. La calidad también baja con librerías y versiones muy recientes.
¿Puede ChatG ejecutar mi código o ver mi repositorio?
No. ChatG funciona mediante chat: solo ve lo que pegas en él y no ejecuta código. Ejecuta y prueba todo siempre en tu propio entorno.
¿Es seguro usar código generado por IA a nivel comercial?
Trátalo como código de cualquier fuente externa: revísalo, pruébalo, comprueba las licencias de las dependencias o de cualquier código que parezca copiado, y sigue las políticas de tu empresa. Esto es información general, no asesoramiento legal.
Listo cuando tú lo estés
Abre el chat y haz tu primera pregunta. Es gratis y no tienes que instalar nada.
Empezar a chatear

