La IA acelera Linux, pero no como este programador esperaba: "Generó mucho código, gran parte de él horrible"

Linux tiene un problema con la llegada de la IA.
Linux tiene un problema con la llegada de la IA.Computer Hoy
Noticia
Añádenos en Google

Elígenos como tu fuente preferida en Google.

Un ingeniero de ARM ha usado IA para mejorar Linux como nunca. Eso sí, reconoce que esta tecnología ha generado también una enorme cantidad de basura inservible.

Aunque a regañadientes para muchos, la inteligencia artificial ya forma parte de Linux y esta está siendo usada en todo tipo de procesos. Por supuesto, los programadores no solo le piden código y copian lo que devuelve. Queda claro, y más si hablamos de este caso, que el humano sigue teniendo que hacer gran parte del trabajo.

Lorenzo Stoakes, ingeniero de ARM y desarrollador de Linux, ha publicado 23 parches que sirven para acelerar la compilación del kernel. En determinadas configuraciones, compilar Linux puede llegar a ser hasta un 36% más rápido, mientras que algunas compilaciones mejoran hasta un 70%.

Lo curioso de todo esto es que usó un modelo de lenguaje para encontrar fácilmente los puntos en los que la compilación estaba perdiendo más tiempo y para buscar posibles soluciones. La IA hizo gran parte del trabajo, pero no siempre como se esperaba. 

El propio desarrollador explica que generó "mucho código, gran parte de él horrible", y que tuvo que revisar y reescribir una cantidad importante.

El problema estaba en los cuellos de botella de Linux

Para que te hagas una idea, compilar el kernel de Linux no es simplemente darle a un botón y esperar. El proceso tiene muchas fases y utiliza una gran cantidad de tareas que pueden ejecutarse en paralelo.

El problema es que, aunque los ordenadores tienen procesadores con muchos núcleos, algunas partes del proceso de compilación siguen dependiendo de tareas que se ejecutan de forma secuencial. Esto provoca que se pierda mucho tiempo.

Stoakes quiso precisamente encontrar esos momentos en los que la compilación se quedaba esperando a que terminara una tarea. Había núcleos que se quedaban sin hacer nada y se buscaba un mayor paralelismo. 

Para encontrar esos puntos que daban problemas, utilizó un LLM. El modelo analizó el proceso, ayudó a encontrar los cuellos de botella y propuso formas de reorganizar el trabajo.

La IA generó mucho código, pero el programador tuvo que arreglarlo

Stoakes usó la inteligencia artificial y, si bien es cierto que ayudó mucho a encontrar dónde estaban los fallos y mejorar el proceso, no todo fue un camino de rosas. 

Le tocó auditar una gran cantidad del código generado, reescribir partes y revisar uno por uno que los cambios fueran correctos. También cambió los mensajes de los commits, la documentación de los parches y los comentarios.

Es decir, la IA funcionó, en este caso, más como una herramienta de investigación y de apoyo al desarrollo que como un programador capaz de entregar 23 parches listos para meterlos en el kernel.

Por supuesto, la magia de esta tecnología es que fue útil para buscar problemas que quizá habrían requerido muchísimo tiempo de análisis manual, generar posibles soluciones y automatizar parte de las pruebas. Pero después hizo falta un desarrollador con experiencia para decidir qué servía de todo eso.

La cantidad de código generado con ayuda de IA está creciendo tanto que los propios responsables del kernel afirman estar desbordados

El problema no es que la inteligencia artificial esté escribiendo una parte vital de Linux, sino que está generando una avalancha de pequeños cambios que alguien tiene que revisar.

Lo que comenzó como una herramienta con enorme potencial (con la que todos estaban de acuerdo) para ayudar a los programadores, se ha convertido en una pesadilla que está colapsando las listas donde se gestionan los fallos de seguridad más críticos de la plataforma.

No todos esos resultados son útiles. Las herramientas de IA no siempre entienden el contexto completo del sistema, y muchas veces señalan posibles errores que en realidad no afectan a nadie o que ni siquiera son verdaderos problemas.

Aun así, esos avisos llegan a los desarrolladores como si fueran importantes. Y aquí es donde empieza el problema de verdad.

El caso está afectando especialmente al subsistema de red de Linux, uno de los más grandes y complicados del kernel. Jakub Kicinski, uno de sus responsables, explica que él y Paolo Abeni han tenido que revisar un volumen enorme de parches. En Linux 7.3 se han integrado 632 cambios en net y otros 648 en net-next, pero esto va más allá.

Según Kicinski, entre un tercio y la mitad de los parches de net-next parecen estar relacionados con tareas de baja prioridad, pequeñas correcciones, limpiezas de código o aclaraciones generadas con ayuda de modelos de lenguaje.

Y aquí está el problema: que una IA genere un parche es muy rápido, pero comprobar que ese parche no rompe nada puede llevar bastante más tiempo.

Ver sus artículos

Carolina González

Redactora

Carolina González, redactora de actualidad, reportajes a fondo, análisis de todo tipo de productos y vídeos para el canal de Youtube.