
Linus Torvalds no presentó un curso de “programación con IA”, pero acaba de dejar una de las lecciones más importantes para desarrolladores: la inteligencia artificial puede ser útil, siempre que siga siendo una herramienta y no reemplace el criterio humano. En medio del debate sobre asistentes de código en el kernel de Linux, Torvalds defendió una postura pragmática: Linux no es un proyecto “anti-IA”, pero las contribuciones deben seguir el proceso técnico normal, con revisión, responsabilidad y calidad.
Lo que muchos pasaron por alto es que Torvalds no está defendiendo el “vibe coding” irresponsable ni la entrega ciega de código generado por modelos. Su mensaje real es más profundo: usar IA para programar puede ser correcto si el programador entiende el resultado, revisa el código, lo prueba, asume la responsabilidad y no descarga el costo sobre los mantenedores. La documentación del kernel ya lo formaliza: los asistentes de IA pueden ayudar, pero los agentes no pueden firmar el Developer Certificate of Origin; solo una persona puede certificar legalmente una contribución.
Idea central: la forma correcta de usar IA para programar no es pedirle que “haga todo”, sino usarla como una herramienta de apoyo: generar borradores, encontrar errores, explicar código, proponer pruebas y acelerar tareas, pero dejando la responsabilidad final en el desarrollador humano.
1. Qué dijo realmente Linus Torvalds sobre la IA
Torvalds fue claro: la IA es una herramienta, como otras herramientas usadas por los programadores, y ya resulta útil. También fue tajante contra una posición de rechazo absoluto: el kernel de Linux no adoptará una postura anti-IA solo porque algunos desarrolladores rechacen los modelos generativos.
Pero esa defensa no significa carta blanca. En el mismo debate se reconoció que las herramientas de IA también pueden generar carga adicional para mantenedores, falsos positivos, reportes duplicados y código de baja calidad. Por eso el punto de Torvalds no es “usar IA sin límites”, sino hacer que esas herramientas ayuden en lugar de estorbar.
| Postura equivocada | Postura de Torvalds | Resultado esperado |
|---|---|---|
| Prohibir toda IA | Evaluar por mérito técnico. | No rechazar herramientas útiles por miedo. |
| Aceptar código ciegamente | Revisar, probar y entender. | Evitar “AI slop” y deuda técnica. |
| Decir “lo hizo la IA” | El humano responde por el resultado. | Responsabilidad clara. |
2. La frase que resume todo: la IA es herramienta, no autor final
Torvalds ya había explicado que le molesta escuchar frases como “99% del código fue escrito por IA”, porque el programador no debería desaparecer del proceso. Comparó la IA con herramientas anteriores como ensambladores y compiladores: todas aumentan productividad, pero ninguna elimina la necesidad de entender lo que se está construyendo.
Esta es la clave que muchos ignoraron. Para Torvalds, la IA puede cambiar la productividad, pero no cambia los fundamentos de la programación: entender el problema, diseñar una solución, revisar el resultado, probarlo, mantenerlo y responder por sus consecuencias.
3. El ejemplo que todos pasaron por alto: su proyecto personal AudioNoise
El caso más revelador no ocurrió dentro del kernel, sino en un proyecto personal de Torvalds. En su repositorio AudioNoise, relacionado con efectos digitales de audio, explicó que una herramienta visualizadora en Python fue escrita básicamente mediante “vibe coding” con Google Antigravity. Pero el contexto importa: lo presentó como un proyecto de aprendizaje, un experimento personal y no como código crítico del kernel.
Ese detalle muestra una práctica madura: usar IA donde el riesgo es bajo, donde el objetivo es aprender o prototipar, y donde el resultado puede revisarse sin comprometer infraestructura crítica. Torvalds no está diciendo “programa todo así”; está mostrando que hay contextos donde la IA puede ser útil sin convertirla en autoridad final.
Lectura correcta: una cosa es usar IA para un prototipo, un script auxiliar o una herramienta de aprendizaje; otra muy distinta es enviar código crítico sin entenderlo, sin pruebas y sin asumir responsabilidad.
4. La regla del kernel: el humano firma, el humano responde
La documentación oficial del kernel sobre asistentes de código con IA es contundente: los agentes de IA no deben añadir firmas Signed-off-by. Solo humanos pueden certificar el Developer Certificate of Origin. El remitente humano debe revisar el código generado por IA, verificar licencias, añadir su firma y asumir responsabilidad total por la contribución.
Además, las guías sobre contenido generado por herramientas indican que, si una parte significativa de una contribución fue creada por una herramienta, se debe ser transparente sobre su origen, describir qué herramienta se usó, qué partes fueron afectadas, cómo se probó el cambio y qué papel tuvo la asistencia.
| Regla | Significado | Por qué importa |
|---|---|---|
| La IA no firma | No puede certificar origen legal ni responsabilidad. | Evita vacíos legales y éticos. |
| El humano revisa | Debe entender todo lo que envía. | Reduce errores y código inmantenible. |
| Debe haber transparencia | Indicar herramientas, prompts o naturaleza de la asistencia cuando corresponda. | Ayuda a revisores y mantenedores. |
| Más IA, más escrutinio | Cuanto más generado esté el cambio, más revisión puede exigir el mantenedor. | Protege la calidad del proyecto. |
5. Sashiko: la IA como revisor, no como sustituto del mantenedor
El debate que encendió la postura de Torvalds estuvo relacionado con Sashiko, un sistema de revisión de código para el kernel que analiza parches y busca errores. Según reportes técnicos, sus creadores afirman que puede encontrar una parte significativa de fallos que luego serían corregidos por humanos, aunque también puede producir falsos positivos y aumentar la carga de revisión.
Ahí aparece otra enseñanza: la IA puede ser valiosa como segunda mirada. Puede detectar patrones, revisar parches, encontrar errores repetitivos o sugerir zonas sospechosas. Pero la decisión final sigue siendo de los mantenedores, porque el mantenimiento de software no es solo detectar una línea problemática: también implica contexto, compatibilidad, estilo, regresiones, impacto en usuarios y evolución futura del proyecto.
Punto clave: la IA funciona mejor cuando amplifica a buenos desarrolladores y revisores. Funciona peor cuando intenta reemplazar el juicio técnico que todavía no posee.
6. La forma correcta de usar IA para programar
La lección práctica se puede resumir así: usa IA para acelerar partes del trabajo, pero conserva el control intelectual del proceso. Un buen desarrollador no pregunta “¿la IA escribió esto?”, sino “¿entiendo esto?, ¿lo puedo mantener?, ¿lo probé?, ¿sé explicar por qué funciona?, ¿sé qué riesgos introduce?”.
Uso correcto de IA al programar
- Prototipar: pedir una primera versión para explorar una idea.
- Explicar: usar IA para entender código ajeno o antiguo.
- Revisar: pedir que busque errores, casos borde y problemas de seguridad.
- Probar: generar pruebas unitarias, pruebas de regresión y datos de ejemplo.
- Documentar: crear borradores de comentarios, README o changelog.
- Comparar alternativas: pedir enfoques diferentes antes de decidir.
- Refactorizar con cuidado: aplicar cambios pequeños y verificables.
La documentación de envío de parches del kernel insiste en principios que aplican perfectamente al código asistido por IA: describir el problema, explicar el impacto, separar cambios lógicos, justificar optimizaciones, revisar estilo y responder a comentarios de revisión.
7. La forma incorrecta: entregar código que no entiendes
Torvalds ha insistido en que el desarrollador debe entender el resultado final. En una intervención reportada por TechRadar, explicó que incluso cuando usa IA en proyectos personales, revisa el código y busca comprender cómo funciona, porque solo así se puede mantener algo a largo plazo.
Este punto destruye la idea más peligrosa del “vibe coding”: creer que basta con que el programa “parezca funcionar”. En software real, especialmente en sistemas operativos, servidores, seguridad, salud, finanzas o infraestructura, un código que funciona en una demo puede fallar en producción, filtrar datos, romper compatibilidad o crear una vulnerabilidad.
No uses IA así
- Pegar código generado sin leerlo.
- Enviar parches que no puedes explicar.
- Permitir que el agente modifique archivos críticos sin revisión.
- Aceptar dependencias nuevas sin verificar licencia y seguridad.
- Reemplazar pruebas por confianza en el modelo.
- Usar IA para generar reportes masivos que saturan mantenedores.
- Decir “lo hizo la IA” como excusa ante un error.
8. Checklist Torvalds para programar con IA sin perder calidad
Si llevamos la postura de Torvalds a un checklist práctico, la regla es simple: la IA puede entrar al flujo de desarrollo, pero debe someterse al mismo estándar que cualquier otra herramienta. El código debe compilar, pasar pruebas, respetar estilo, ser revisable y tener un humano responsable.
9. Flujo recomendado para desarrolladores
Un flujo saludable con IA no empieza pidiendo “hazme todo el sistema”. Empieza dividiendo el problema, generando una propuesta pequeña, revisando el diff, ejecutando pruebas y corrigiendo manualmente. Esta lógica coincide con una práctica histórica del kernel: cambios separados, justificados y verificables.
La firma del commit no es un trámite decorativo. En proyectos como Linux, el Signed-off-by representa responsabilidad del desarrollador sobre el origen y la legitimidad de la contribución. Por eso la documentación del kernel aclara que esa firma debe hacerla una persona, no un agente.
10. Qué deben aprender las empresas
Las empresas suelen cometer dos errores opuestos: bloquear toda IA por miedo o permitir que cualquier empleado conecte modelos a repositorios, datos internos y servidores. La postura de Torvalds permite un punto medio más profesional: IA sí, pero con políticas, revisión, trazabilidad, pruebas, control de permisos y responsabilidad humana.
| Uso empresarial | Riesgo | Control recomendado |
|---|---|---|
| Generar código | Errores, dependencias inseguras o lógica incorrecta. | Revisión humana, pruebas y análisis estático. |
| Revisar código | Falsos positivos o ruido para el equipo. | Triaging, reglas claras y priorización. |
| Agentes con terminal | Comandos destructivos o cambios no autorizados. | Sandbox, permisos mínimos y aprobación humana. |
| Acceso a repositorios privados | Fuga de propiedad intelectual o secretos. | Clasificación de datos, contratos y control de contexto. |
11. La diferencia entre programador aumentado y programador reemplazado
La idea más valiosa de Torvalds es que la IA no convierte automáticamente a alguien sin criterio técnico en buen programador. Al contrario: cuanto más potente sea la herramienta, más importante será saber revisar su salida. La IA puede escribir código plausible; el desarrollador debe saber si ese código es correcto, seguro, mantenible y adecuado al proyecto.
El programador aumentado por IA
- Piensa el problema: no delega el diseño completo sin criterio.
- Pregunta mejor: formula prompts concretos y verificables.
- Lee el resultado: no copia y pega sin entender.
- Prueba: no confunde respuesta convincente con código correcto.
- Corrige: modifica manualmente cuando la IA se equivoca.
- Documenta: deja claro qué cambió y por qué.
- Responde: asume la responsabilidad del código enviado.
12. Por qué esta postura importa para el software libre
El software libre depende de confianza entre contribuyentes, revisores y usuarios. Si los proyectos se llenan de parches generados automáticamente, reportes duplicados y contribuciones que nadie entiende, la IA puede destruir más productividad de la que aporta. Las guías del kernel reconocen precisamente que el tiempo de revisión es escaso y que la transparencia sobre el uso de herramientas ayuda a mantener saludable el proceso.
Por eso la solución no es negar la IA, sino domesticarla. Un proyecto puede aceptar ayuda de modelos, pero debe conservar reglas claras: atribución cuando corresponda, pruebas, revisión humana, estilo del proyecto, licencias compatibles y derecho de los mantenedores a pedir explicaciones o rechazar contribuciones generadas de forma irresponsable.
La lección para el open source: la IA puede ayudar a encontrar errores y acelerar tareas, pero no debe convertir a los mantenedores en basureros de código automático.
13. Errores comunes al interpretar a Torvalds
- Creer que Torvalds promueve el uso ciego de IA: en realidad insiste en entender el resultado.
- Creer que Linux aceptará cualquier código generado: las contribuciones siguen pasando por revisión, licencias, DCO y mantenedores.
- Confundir asistencia con autoría: la IA puede asistir, pero el humano firma y responde.
- Usar IA para producir ruido: reportes masivos y falsos positivos dañan a los proyectos.
- Rechazar toda IA por ideología: Torvalds pide evaluar por mérito técnico, no por miedo a herramientas nuevas.
- Pensar que productividad equivale a calidad: generar más código no significa generar mejor software.
14. Preguntas clave
¿Linus Torvalds está a favor de usar IA para programar?
Sí, pero con una postura pragmática. Torvalds considera que la IA es una herramienta útil y rechazó que el kernel adopte una posición anti-IA, pero eso no elimina revisión, pruebas, responsabilidad ni criterios técnicos.
¿La IA puede firmar una contribución al kernel?
No. La documentación del kernel indica que los agentes de IA no deben añadir Signed-off-by. Solo humanos pueden certificar el Developer Certificate of Origin y asumir responsabilidad por la contribución.
¿Qué mostró Torvalds con su proyecto AudioNoise?
Mostró que puede usar IA para tareas personales, de aprendizaje o prototipado, como una herramienta visualizadora en Python, pero sin presentar eso como modelo para enviar código crítico sin entenderlo.
¿Cuál es la regla más importante al programar con IA?
Entender el resultado final. Si el desarrollador no puede explicar, probar y mantener el código generado, no debería enviarlo ni ponerlo en producción.
¿La IA reemplazará a los programadores?
Torvalds sostiene que la IA cambia la productividad, pero no los fundamentos de la programación. El valor del desarrollador sigue estando en comprender, diseñar, revisar, probar y mantener sistemas reales.
Recomendamos
- Cómo usar Inteligencia Artificial para detectar vulnerabilidades en código Python, JavaScript, Java y C/C++
- Cómo crear un agente de IA que administre servidores Linux de forma segura: SSH, MCP, permisos, logs y aprobación humana
- Cómo evaluar la seguridad de un proyecto GitHub antes de utilizarlo en producción: checklist para empresas y desarrolladores
- Cómo aprender Bash creando 20 scripts útiles para administrar Linux y automatizar servidores
- ¿Se puede confiar en la IA? La respuesta correcta no es sí o no, sino cuándo, cómo y con qué controles
- Cómo firmar y verificar software en Linux con GPG, Sigstore y hashes para evitar paquetes manipulados
En resumen
Linus Torvalds acaba de mostrar una postura mucho más inteligente que el debate simplista entre “IA sí” o “IA no”. Para él, la IA es una herramienta útil, pero no una excusa para abandonar los fundamentos de la programación: entender, revisar, probar, mantener y asumir responsabilidad.
La documentación del kernel ya convirtió esa idea en práctica: los agentes no firman, el humano responde, la transparencia importa y los mantenedores pueden exigir más revisión cuando el contenido fue generado por herramientas. Esa es la forma correcta de usar IA para programar: no como sustituto del desarrollador, sino como herramienta bajo control técnico humano.
Cierre editorial
La gran lección de Torvalds no es que la IA escriba código. Es que el programador no debe dejar de pensar. En tiempos donde muchos celebran que un modelo genere miles de líneas en segundos, el creador de Linux recuerda algo incómodo: el verdadero valor no está en producir más código, sino en saber qué código merece existir, cómo probarlo y quién se hace responsable cuando falla.

