Esto empezó la semana pasada. Ese día acepté un trabajo extra: modificar la página frontend de un proyecto antiguo para un cliente. La funcionalidad no era compleja, solo cambiar la lógica de interacción de unos botones. Pensé que era un trabajo fácil, ¿por qué no simplemente dárselo a ChatGPT? Así me ahorraría revisar el código línea por línea.
Describí los requisitos con claridad, incluso especifiqué cómo nombrar las variables. ChatGPT también fue cooperativo y me generó un montón de código de una vez. Al verlo, pensé: 'Vaya, estructura clara, comentarios completos, y hasta manejo de errores incluido'. Me sentí muy satisfecho, creyendo que todo estaba bajo control. Copié y pegué el código directamente en el proyecto, guardé y actualicé el navegador.
¿Y adivina qué pasó? La página se quedó en blanco. La consola mostraba errores en rojo por todas partes, como si fuera Año Nuevo.
Rápidamente copié el mensaje de error y se lo envié a ChatGPT. Dijo: 'Lo siento, pasé por alto un caso límite', y luego modificó el código y me envió otra versión. La pegué de nuevo, esta vez la página no se quedó en blanco, pero los botones no respondían al hacer clic. Seguí informando, él seguía corrigiendo, y así estuvimos dando vueltas unas siete u ocho veces. Cada vez que arreglaba un error, aparecían dos nuevos. Lo más frustrante fue cuando usó una función que ni siquiera existía en mi proyecto, y con toda seriedad comentó: 'Aquí se llama al método público'.
En ese momento, realmente quería golpear el teclado. El cliente seguía presionando, diciendo que necesitaba que el sitio estuviera en línea por la tarde. Miré la pantalla llena de código desordenado: indentación incorrecta, espacios y tabulaciones mezclados, paréntesis algunos al final de línea y otros al principio, todo el archivo parecía que un gato lo había pisoteado. No podía modificar manualmente sobre esa base, porque ni siquiera podía ver con claridad.
Justo cuando estaba a punto de disculparme con el cliente por el retraso, recordé una herramienta en línea que había guardado antes, llamada 'Formateador y compresor JS'. Como último recurso, metí todo el código de la última versión generada por ChatGPT y hice clic en 'Formatear'.
Ocurrió un milagro. El código que estaba amontonado se desplegó al instante, cada nivel quedó claro, con saltos de línea e indentaciones correctas. De inmediato vi dónde estaba el problema: la posición del paréntesis de cierre de un bucle estaba mal, lo que desviaba toda la lógica. También había una inconsistencia en la ortografía de un nombre de variable: ChatGPT escribió 'userName', pero luego lo llamó 'username'.
Para ser honesto, antes menospreciaba este tipo de herramientas de formateo, pensando que solo organizaban el diseño y no tenían valor técnico. Pero ese día entendí que cuando te enfrentas a un código que no escribiste tú y que tiene problemas de lógica, el formateador es tu lupa. Una vez que el código se despliega, todos los errores ocultos salen a la luz.
Luego corregí manualmente esos dos errores y usé la herramienta para 'comprimir' el código, reduciendo su tamaño y acelerando la carga. Se lo envié al cliente y fue aprobado a la primera.
Esta experiencia me dejó una lección profunda. ChatGPT realmente puede ayudarte a escribir código, pero no es un dios; no ve el contexto de tu proyecto ni puede probar los resultados de ejecución. El código que te da es, en esencia, algo que 'parece una respuesta correcta'. Si te atreves a ponerlo directamente en producción, el fracaso es solo cuestión de tiempo.
Pero tampoco te estoy diciendo que no uses IA para escribir código, eso sería demasiado pretencioso. Lo que quiero decir es que necesitas tener un plan de respaldo. Ahora mi flujo de trabajo ha cambiado: dejo que ChatGPT genere el código, sin importar cuán seguro se muestre, siempre lo paso primero por la herramienta de formateo JS. Después de formatear, puedo ver de un vistazo si la lógica es coherente, lo cual es diez veces más eficiente que leer código amontonado en una sola línea.
Además, esta herramienta tiene una ventaja: no se conecta a internet, el código no se sube al servidor, lo que brinda una gran tranquilidad para quienes trabajan en proyectos privados o con código sensible de la empresa. Incluso ahora la uso para revisar mi propio código; a veces, cuando escribo rápido y descuidadamente, al formatearlo puedo detectar comas o puntos y comas que se me escaparon.
Ahora el cliente me ha recomendado un nuevo proyecto, y seguiré usando ChatGPT para hacer borradores, pero ya no me dejaré llevar por él. Formatear, revisar, modificar, comprimir y publicar. Después de completar este proceso, me siento seguro.
Si ustedes también han tenido experiencias donde la IA falla al escribir código, no lo aguanten a la fuerza; prueben primero a formatear el código. A veces la verdad está escondida entre esos caracteres desordenados, solo necesitas unos ojos capaces de verlos con claridad.