Los motores de IA generativa utilizados para la programación se han convertido en una importante ayuda para los programadores, y de hecho algunos la están usando a escondidas de sus jefes. Hay quien ya piensa en el siguiente paso, esto es: prescindir de los programadores humanos. Un experimento reciente demuestra que ese objetivo no parece tan lejano.
ChatDev. Así se llama la empresa imaginaria de desarrollo software creada por el modelo de IA generativa ChatGPT 3.5. El experimento ha corrido a cargo de un equipo de investigadores de varias universidades, y tenía como objetivo plantear cómo una serie de agentes independientes controlados por IA podían colaborar para acabar llevando a buen puerto diversos problemas de desarrollo software.
Desarrollo en cascada. Los investigadores publicaron sus resultados en un estudio llamado «Agentes comunicativos para el desarrollo de software«. Siguieron el conocido modelo de ingeniería software de desarrollo en cascada y dividieron la compañía virtual en cuatro etapas cronológicas: diseño, codificación, pruebas y documentación.
Bots para distintos roles. Los problemas luego eran resueltos no por un único bot, sino por un conjunto de bots (o más bien, chatbots) que se comunicaban con el resto. Los chatbots tenían distintos papeles y cada uno era asignado a una etapa. El «CEO» y el «CTO» de ChatDev, por ejemplo, se centraron en la etapa de diseño.
Interacción humana mínima. En cada etapa los chatbots de IA colaboraban sin apenas intervención humana y decidieron por ejemplo que lenguaje de programación utilizar para identificar errores en el código. El código del proyecto, por cierto, está disponible en GitHub.
Cinco en raya. A partir de ahí comprobaron cómo se comportaba ChatDev a la hora de acometer proyectos software. ¿Cuánto tiempo tardaría y cuánto costaría completar esos proyectos? Uno de los ejemplos que plantearon fue indicarle a ChatDev que creara un juego básico llamado Gomoku, conocido también como las «cinco en raya».
¿Qué lenguaje usamos? En la fase inicial de diseño el CEO le preguntó al CTO que sugiriera un lenguaje de programación para «satisfacer las demandas del nuevo usuario». El CTO contestó que la recomedación era Python, tras lo que el CEO contestó «¡Genial!» para luego explicar que «su simplicidad y legibilidad lo convierten en una elección popular para desarrolladores tanto iniciados como con experiencia».
Siete minutos y un euro. Tras plantear 70 tareas distintas, en el estudio se concluyó que cada proyecto —todos eran relativamente sencillos— tardaba en completarse unos siete minutos y el coste era de menos de un dólar de media. Eso incluía las etapas de validación y pruebas, así como la identificación de potenciales vulnerabilidades. En total, el 86,66% del software generado se podía ejecutar perfectamente.
El impacto promete ser notable. Estudios como este demuestran que el impacto para el mundo de la programación puede ser importante, pero los investigadores sí dejaron claro que había limitaciones como errores y subjetividad en los modelos de lenguaje. El papel del programador humano sigue siendo muy relevante para revisar y validar el código y su resultado, desde luego, pero esfuerzos como este hacen que la futura automatización de procesos de desarrollo parezca más inminente que nunca.
Fuente: xataka