La opinión de Linus Torvalds sobre la IA es pragmática: la considera una herramienta valiosa para ayudar a los mantenedores a revisar código y filtrar el “ruido” informativo en el kernel de Linux. Sin embargo, se opone a su uso para generar código complejo, ya que cree que carece de la capacidad para comprender semánticas implícitas y la responsabilidad final siempre debe ser humana.
En el debate sobre el desarrollo de software con inteligencia artificial, la relación entre Linus Torvalds y la IA es clara. En declaraciones recientes, recogidas por medios como ZDNet, no hay un entusiasmo ciego ni un rechazo ideológico Se trata más bien de una evaluación práctica, madurada tras observar lo que realmente funciona en el contexto más complejo y delicado del código abierto: el kernel de Linux.
Yo mismo, como profesional que sigue su trabajo, he observado que Linus Torvalds se define como un defensor del uso de la IA, pero con una aclaración fundamental: su interés no radica en la generación automática de código complejo, sino en el soporte al mantenimiento. En otras palabras, la IA es útil cuando ayuda a gestionar el ruido informativo, no cuando pretende sustituir el juicio humano.
La IA como Ayuda para Mantenedores de Software
Esta opinión de Linus Torvalds sobre la IA se basa en que el verdadero cuello de botella en el kernel moderno no es la escritura del código, sino su evaluación. Cada ciclo de desarrollo produce decenas de miles de commits, distribuidos en subsistemas extremadamente heterogéneos, con interdependencias que a menudo no son evidentes ni para los desarrolladores más experimentados. A esto se suma que todo el proceso de revisión se realiza principalmente a través de listas de correo, en particular en la Linux Kernel Mailing List, donde la información útil está inmersa en un flujo continuo de parches, respuestas, seguimientos y discusiones cruzadas.
En este contexto, Torvalds considera la IA como un multiplicador de atención. Un modelo de IA es capaz de analizar un parche y compararlo automáticamente con miles de modificaciones históricas, logrando identificar posibles regresiones, violaciones de patrones consolidados o efectos secundarios en arquitecturas distintas a la de referencia. Aunque este tipo de análisis preventivo no sustituye la revisión humana, la IA para revisar código reduce drásticamente el número de parches que llegan al mantenedor sin ningún valor añadido.
Torvalds ha subrayado que el kernel no sufre de falta de contribuidores, sino de escasez de revisores expertos. La IA, si se utiliza correctamente, actúa precisamente sobre este desequilibrio estructural, filtrando el ruido antes de que se convierta en deuda cognitiva. La idea de que un sistema automático pueda “escribir el kernel” sigue siendo, desde su punto de vista, tecnicamente infundada y peligrosa, dada la complejidad de las invariantes internas y las asunciones no documentadas que rigen el código.
Modelos de IA: No Autores, sino Amplificadores de Atención
En el pensamiento de Torvalds, los modelos lingüísticos deben interpretarse como la evolución natural de las herramientas de desarrollo. No son programadores, sino amplificadores de atención. Pueden leerlo todo, recordarlo todo y compararlo todo, cualidades que se vuelven decisivas en un proyecto que vive de la continuidad histórica y la memoria colectiva.
La visión del “rey pingüino” se refleja también en la forma en que la IA en el kernel de Linux ya se utiliza en la práctica. Sistemas basados en modelos lingüísticos se emplean para resumir hilos (threads) complejos, comparar parches con precedentes históricos, señalar similitudes semánticas y reducir drásticamente el tiempo necesario para el análisis inicial. Torvalds observa que, en este rol, la IA se asemeja mucho más a un compilador avanzado o a un linter inteligente (una herramienta que analiza el código fuente para identificar errores, malas prácticas y problemas potenciales, sin ejecutarlo) que a un colega humano.
Uno de los ejemplos más concretos de integración de la IA en el kernel proviene del trabajo de Sasha Levin, mantenedor de la rama stable. El sistema AUTOSEL, utilizado para identificar qué parches deben ser portados (backported) a las versiones estables, ha sido rediseñado utilizando embeddings semánticos:
- Cada
commites representado como un punto en un espacio semántico. - Los Large Language Models (LLM) buscan similitudes con parches históricamente portados a versiones anteriores.
- Múltiples modelos “votan”.
- La lista final es siempre validada por un humano.
El resultado no es la automatización de la decisión, sino la reducción drástica del ruido cognitivo. En un proyecto que genera miles de parches, este enfoque hace sostenible un trabajo que, de otro modo, conduciría inevitablemente al agotamiento (burnout).
El Riesgo de los Parches Generados por IA y la Transparencia
Cuando la IA pasa del soporte a la generación directa de código, la postura de Torvalds se vuelve significativamente más prudente. El inventor de Linux cita el caso emblemático de los parches generados por IA, como uno que fue incluido en el kernel y modificaba una estructura hash, producido íntegramente por un modelo lingüístico, completo con su mensaje de commit y pruebas automáticas. La modificación era funcionalmente correcta, compilaba sin errores y superaba las pruebas previstas.
Sin embargo, un análisis posterior evidenció la eliminación involuntaria del atributo __read_mostly, un soporte considerado fundamental para la optimización de las líneas de caché en arquitecturas SMP, es decir, para mejorar el rendimiento en sistemas con múltiples procesadores. El impacto no era visible de inmediato, pero podía traducirse en una degradación del rendimiento bajo cargas de trabajo específicas. Para Torvalds, este episodio ha puesto de manifiesto una limitación estructural de la IA: la dificultad para preservar semánticas implícitas que no emergen directamente del contexto local del código.
Torvalds declaró abiertamente que habría aplicado un nivel de escrutinio más elevado si hubiera sabido que el parche fue generado íntegramente por una herramienta automática. De ahí surge la necesidad de introducir un mecanismo de divulgación explícita (disclosure) para el código derivado de la IA. No se trata de desconfianza hacia la tecnología, sino de adecuar el proceso de revisión a la naturaleza de la herramienta utilizada, preservando la integridad del modelo de desarrollo colaborativo del kernel.
La Responsabilidad Humana: Un Principio No Negociable
Un punto sobre el que Torvalds es inflexible es la responsabilidad. Independientemente de la herramienta utilizada, la responsabilidad final recae siempre en el desarrollador y en el mantenedor que aprueba una modificación. La IA no firma parches, no responde por regresiones y no gestiona las consecuencias de un error en producción.
Se trata de un planteamiento que distingue claramente el enfoque utilizado para el kernel de Linux de muchas de las narrativas comerciales sobre la IA. No existe la idea de delegar decisiones críticas, sino de hacer sostenible una carga de trabajo que, sin apoyos inteligentes, corre el riesgo de volverse inmanejable y conducir al agotamiento (burnout) de figuras clave del proyecto.
Evolución de Herramientas vs. Riesgos Sistémicos
Otro aspecto en el que Torvalds insiste es la sostenibilidad a largo plazo de las herramientas basadas en IA. Se refiere al uso de modelos propietarios, con costes, licencias y restricciones operativas que escapan al control de la comunidad de código abierto. Confiar procesos críticos como el triaje de parches, la revisión preliminar o el análisis de regresiones a plataformas no reemplazables introduce un riesgo sistémico.
Torvalds ha recordado explícitamente la experiencia de BitKeeper, el sistema de control de versiones utilizado para el kernel a principios de la década de 2000. Cuando el cambio de licencia hizo imposible su uso, todo el proyecto se encontró de repente sin infraestructura. La creación de Git fue una respuesta brillante, pero también el resultado de una crisis evitable. Por este motivo, Torvalds ve con buenos ojos el uso de la IA solo si está encapsulada en herramientas que puedan ser sustituidas, replicadas o reimplementadas, como algunos asistentes de IA para la terminal de Linux, sin comprometer el flujo de desarrollo.
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.