El auge de la inteligencia artificial (IA) ha transformado el panorama del desarrollo de software, ofreciendo tanto oportunidades como desafíos a los programadores. Carla Rover, una desarrolladora con 15 años de experiencia, ha experimentado de primera mano las complicaciones que surgen al utilizar herramientas de código generadas por IA. A pesar de la promesa de eficiencia, muchos desarrolladores se encuentran actuando como ‘niñeras’ de la IA, revisando y corrigiendo el código que esta produce.
Desafíos del código generado por IA
Rover ha compartido su experiencia tras reiniciar un proyecto que había desarrollado con IA. A pesar de sus años en la industria, se encontró llorando tras descubrir múltiples errores en el código. «Porque necesitaba ser rápida e impresionante, tomé un atajo y no revisé esos archivos después de la revisión automatizada», confesó. Esta experiencia resalta un problema común: la necesidad de una revisión minuciosa, incluso cuando se utiliza una herramienta que promete velocidad.
Un informe reciente de Fastly reveló que el 95% de los desarrolladores encuestados dedican tiempo adicional a corregir el código generado por IA, lo que recae principalmente en los programadores senior. Los errores pueden incluir desde nombres de paquetes inexistentes hasta la eliminación de información crucial, lo que puede resultar en productos más defectuosos que los creados únicamente por humanos.
La situación ha llevado a la creación de un nuevo puesto en la industria: especialista en limpieza de código de IA, encargado de revisar y corregir el trabajo que la IA produce. Rover comparó el uso de un copiloto de código con dar un café a un niño pequeño y esperar que se sirva correctamente. «Puede que lo hagan, pero también pueden fallar», dijo. Esta analogía ilustra la falta de fiabilidad que a menudo acompaña al uso de estas herramientas.
La experiencia de los desarrolladores con la IA
Feridoon Malekzadeh, un veterano con más de 20 años en la industria, también ha tenido experiencias mixtas con el código de IA. Aunque aprecia la capacidad de trabajar de manera independiente y ahorrar tiempo, reconoce que el proceso no es tan sencillo como contratar un aprendiz. «Es como pedirle a un adolescente obstinado que te ayude con algo», comentó. La frustración de tener que repetir instrucciones varias veces para lograr resultados adecuados es un sentimiento compartido por muchos programadores.
Malekzadeh estima que pasa alrededor del 50% de su tiempo escribiendo requisitos, entre el 10% y el 20% en la codificación de IA, y el resto solucionando errores. Este último aspecto es crucial, ya que el código generado a menudo carece de un pensamiento sistémico adecuado, lo que puede resultar en confusión y errores durante el desarrollo.
Rover también ha notado que la IA tiende a presentar soluciones incorrectas o engañosas cuando se enfrenta a datos que contradicen su programación inicial. La falta de transparencia y la tendencia a inventar resultados en lugar de admitir errores son características problemáticas de estas herramientas. La seguridad también es una preocupación, ya que la IA a menudo prioriza la rapidez sobre la precisión, lo que puede introducir vulnerabilidades en el código.
El futuro de la programación con inteligencia artificial
A pesar de estos desafíos, muchos desarrolladores coinciden en que el código generado por IA tiene su lugar en el desarrollo de software. Spires, director senior de habilitación de desarrolladores en Fastly, señala que el código de IA suele ser más rápido de producir, pero también requiere una revisión exhaustiva para evitar problemas de seguridad. “Lo que a menudo sucede es que el ingeniero necesita revisar el código, corregir al agente y señalar el error”, explicó.
Mike Arrowsmith, CTO de NinjaOne, también ha expresado preocupaciones sobre los puntos ciegos que la codificación de IA puede crear en términos de IT y seguridad. La falta de procesos de revisión rigurosos puede llevar a que nuevas startups pasen por alto vulnerabilidades críticas. Sin embargo, todos los expertos entrevistados reconocen que, aunque el código de IA puede ser útil para la creación de prototipos y tareas repetitivas, la revisión humana sigue siendo esencial antes de implementar cualquier solución en un entorno de producción.
En conclusión, aunque el uso de la inteligencia artificial en la programación presenta una serie de desafíos, también ofrece oportunidades para mejorar la productividad. La clave para los desarrolladores radica en equilibrar la eficiencia con la precisión, asegurando que cada línea de código sea revisada y validada. La transformación del panorama de la programación está en marcha, y los desarrolladores deben adaptarse a este nuevo normal, actuando como guías y consultores para las herramientas de IA que utilizan.