Estamos estos días en las universidades de ingeniería un poco viéndolas venir por la inteligencia artificial porque lleva el curso pasado y este dando muchos problemas en la forma de enseñar a los alumnos. No puedes enviarles implementación de código porque sabes que lo van a hacer con cualquier IA, por lo que, en mi caso, cambié el foco a análisis, diseño —qué quieres hacer— y validación —porque los humanos tenemos que seguir supervisando todo el proceso de desarrollo de software—, y que programen un mínimo que les sea hoy de utilidad, pero en tres años probablemente ya no les sirva. Cuanto antes cambien el chip todos los profesores, mejor.
Con proyectos como el de Anthropic para desarrollar un nuevo compilador de C, se demuestra que la IA ha venido a sustituir picacódigos, no a hacerlos más eficientes. Picacódigos es de lo que está lleno el sector, y eso siempre los he considerado seudoingenieros. Lo siento, pero es que es lo que menos ha importado siempre de un proyecto software, porque la implementación, una vez hecho un buen análisis y un buen diseño, lo puede hacer hasta un crío de tres años.

Anthropic ha usado dieciséis agentes Claude Code para desarrollar el proyecto, y de acuerdo a las tarifas que cobra por el uso de la API el coste del proyecto habría sido de 20 000 dólares. El proyecto está desarrollado en Rust, que suele dar más rendimiento que C, aunque es más problemático de entender porque es una suerte de lenguaje de POO al estilo moderno —abstracción, encapsulación, polimorfismo, pero sin usar clases, eliminando jerarquías densas, y favoreciendo composición frente a herencia, con un funcionamiento de punteros distinto aunque más seguro—.
El proyecto está disponible en GitHub, y puede compilar y ejecutar hasta Doom. Supera el 99 % de las pruebas habituales usadas para probar compiladores de C. Me hace gracia que el autor de Ars Technica diga que es que un compilador de C es algo ideal para una IA porque está todo superbien especificado, que las pruebas están superbien definidas a lo largo de todos estos años, para intentar semijustificar que los ingenieros no nos vamos a ninguna parte.
El tema está en que hace solo tres años ninguna IA podía crear un compilador de C de manera autónoma coordinándose con otras IA. Dentro de tres años, todos los problemas mencionados por el autor, y otros que tienen que ver con el arranque de Linux con este compilador, estarán más que solucionados.
Lo que me hace gracia es que el autor diga que los proyectos reales no tienen el nivel de especificación de C… ¿Ah, no? Pues si no lo tienen, es un fallo del que supervisa el proyecto, porque deberían tenerlo. Los documentos que se generan en las fases de análisis y diseño de cualquier software, inyectadas a una IA actual, permiten ahora mismo crear la mayor parte del código de un proyecto. Que lo hagan mejor o peor es una cuestión aparte. Que generalmente se apliquen mal las tecnologías ágiles de desarrollo para no generar documentación es otro tema distinto. Pero poner de pega que un proyecto software no esté bien especificado para quitarle hierro al asunto me parece de idiota y de tomar por tonto a los que leen su artículo.
Donde sí tiene razón el autor de Ars Technica es en que el desarrollo del compilador se basa en entrenar Claude en un fondo bibliográfico enorme relacionado con programación, creación de compiladores, y demás, que está disponible en internet. Pero es que ha definido el funcionamiento de una IAG. Si le quitas la parte de entrenamiento, dejan de serlo. Así que aunque tiene razón, es que al hablar de inteligencias artificiales generativas va implícito que tienen que entrenarse con algo antes de hacer la tarea. Si le pides que te haga un trabajo sobre el pleistoceno y no le has entrenado con libros del pleistoceno, no va a saber nada de ello. Así que el que no se autoengaña con las IAG es porque no quiere.
Vía: Ars Technica.