Linus Torvalds muestra cómo utilizar la IA para programar
La inteligencia artificial se ha convertido en una herramienta cada vez más habitual para programar, pero todavía existe una pregunta importante: ¿hasta qué punto debemos confiar en lo que genera una IA? Un reciente caso protagonizado por Linus Torvalds, creador de Linux, ofrece una respuesta bastante interesante.
Durante una sesión de depuración de un problema relacionado con el controlador gráfico Intel Xe del kernel de Linux, Torvalds utilizó inteligencia artificial para acelerar buena parte del trabajo. Sin embargo, la experiencia también dejó claro que la IA no sustituyó sus conocimientos ni sus decisiones como desarrollador.
La IA ayudó, pero no encontró la solución por sí sola
El problema estaba relacionado con una GPU Intel Battlemage G21 con 16 GB de VRAM. Un error en el cálculo de una zona de memoria hacía que una pequeña región reservada para Flat CCS pudiera terminar siendo tratada como memoria disponible.
El resultado podía provocar corrupción de datos y problemas gráficos, incluyendo reinicios de GDM y pantallas negras. La solución terminó siendo un cambio muy pequeño: sustituir un cálculo con round_up() por round_down().
Lo interesante no fue únicamente el error, sino cómo se llegó hasta la solución.
Torvalds explicó en el propio commit que la inteligencia artificial fue de gran ayuda durante la depuración. La herramienta podía añadir código para obtener información, analizar los resultados y preparar nuevas pruebas rápidamente.
Pero también ocurrió algo que resulta especialmente importante: la IA llegó varias veces a considerar que el problema era imposible de resolver.
Torvalds no tomó esa conclusión como definitiva. Continuó investigando porque su experiencia le indicaba que todavía había algo que descubrir. Finalmente fueron necesarios 24 parches de depuración y 18 arranques del kernel para localizar el origen del problema.
La diferencia está en quién toma las decisiones
Este caso muestra una forma práctica de entender la programación asistida por inteligencia artificial.
Una IA puede escribir código, modificar archivos, analizar registros y generar diferentes hipótesis mucho más rápido que una persona. Sin embargo, eso no significa que pueda determinar por sí sola si una hipótesis es correcta.
El programador sigue teniendo que:
- Definir correctamente el problema.
- Evaluar las respuestas de la IA.
- Comprobar los resultados mediante pruebas.
- Detectar explicaciones que no coinciden con la evidencia.
- Decidir qué cambios deben incorporarse al proyecto.
En otras palabras, la IA puede encargarse de buena parte del trabajo repetitivo, pero la responsabilidad continúa siendo del desarrollador.
Linux tampoco está rechazando la inteligencia artificial
La postura resulta especialmente interesante en el mundo de Linux. La documentación actual del kernel contempla explícitamente el uso de asistentes de IA durante el desarrollo, pero establece que los desarrolladores humanos deben revisar el código generado y asumir la responsabilidad de las contribuciones.
Esto encaja con lo ocurrido durante la depuración de Torvalds: la IA funcionó como una herramienta para acelerar el proceso, mientras que la experiencia del desarrollador permitió determinar qué resultados tenían sentido y cuáles no.
¿Qué podemos aprender de Torvalds?
La lección no parece ser que debamos programar con IA o sin IA. Más bien, este caso demuestra que puede ser útil utilizarla como un asistente, especialmente para tareas repetitivas, análisis y generación de código para pruebas.
El problema aparece cuando dejamos de revisar lo que produce y asumimos que una respuesta bien redactada necesariamente es correcta.
Torvalds tenía suficiente conocimiento del kernel para cuestionar las conclusiones de la IA y continuar investigando. Esa combinación —conocimiento humano más herramientas de inteligencia artificial— permitió reducir considerablemente el trabajo repetitivo sin entregar a la máquina la decisión final.
Para quienes programan en Linux, esta puede ser una de las formas más interesantes de aprovechar la IA: no como sustituto del programador, sino como una herramienta que aumenta su capacidad.
Fuente: ComputerHoy

