En pleno apogeo de los agentes de inteligencia artificial capaces de generar código de forma autónoma, un ingeniero de software estadounidense sostiene que escribir código a mano sigue siendo una habilidad esencial para los programadores, no por nostalgia, sino por una razón cognitiva profunda. Doug, creador del boletín Software Doug, defiende en su blog que los desarrolladores que abandonan completamente la escritura de código corren el riesgo de convertirse en observadores pasivos, desconectados de la fragilidad y los detalles de los sistemas que ayudan a construir.
El argumento central gira en torno a la noción de "fábrica de software", una metáfora con la que Doug describe el nuevo rol de los ingenieros en la era de los agentes. Según explica en su publicación, los programadores ya no deben limitarse a producir software, sino a construir y mantener la línea de ensamblaje que permite que cualquier persona, mediante instrucciones en lenguaje natural, solicite un cambio y lo despliegue de inmediato. Esta infraestructura incluye elementos proactivos, como instrucciones de sistema, archivos AGENTS.md y bases de conocimiento, y elementos reactivos, como pruebas automatizadas, análisis estático de código, tipado fuerte y sistemas de evaluación.
Gracias a estas capas de protección, incluso un modelo de inteligencia artificial mediocre, con contexto fresco, puede operar dentro de unas restricciones definidas y producir cambios aceptables. Llegado ese punto, "empieza a parecer ridículo mirar el código, y definitivamente cómico querer escribirlo", ironiza el autor. Es en ese punto donde Doug introduce su discrepancia: para él, escribir código sigue siendo útil, incluso en un escenario hipotético de inteligencia artificial sobrehumana.
La clave, argumenta, no es que las personas programen mejor que las máquinas, sino la diferencia entre pensar directamente en el entorno de ejecución o hacerlo a través del inglés como intermediario. El lenguaje natural, señala, es una herramienta poco precisa para expresar algoritmos. "Para el trabajo verdaderamente algorítmico, quiero bosquejar y pensar en pasos ejecutables. Quiero un grado calibrado de precisión", escribe. A veces eso requiere un lenguaje de bajo nivel con un enorme espacio de diseño; otras veces, un lenguaje de alto nivel con un entorno de computación más limitado.
Doug advierte además sobre un cambio de mentalidad extendido en la industria: tratar a los agentes de codificación como si fueran compiladores. Esa analogía, dice, da permiso para enviar código mal escrito. Pero los agentes, asegura, se parecen más a internos recién incorporados: leen código parcial, posiblemente degradado, reciben una descripción imprecisa del cambio y deben generar una modificación. "Los humanos no pueden rendir su pensamiento y su criterio a ejércitos de internos", resume. Y añade que un enfoque práctico, en lugar de consumir pasivamente el resultado de los agentes, resulta más productivo.
Un ejemplo concreto ilustra su punto. En uno de sus proyectos anteriores, una decisión improvisada antes del café matutino llevó a gestionar cierto estado en el almacenamiento local del navegador mientras el resto se canalizaba a través de una base de datos en el backend. Cuando examinó el código generado por agentes, la cantidad de envolturas e indirecciones necesarias para preservar aquel error humano probablemente triplicó el número de líneas de código. Los agentes, al ser tan conservadores, pueden amplificar decisiones puntuales desacertadas, explica.
El problema se agrava con lo que Doug llama "slop", término coloquial para designar código de baja calidad generado por máquinas. Cuando los programadores solo leen y aprueban código en lugar de escribirlo, pierden el sentido de propiedad. El slop pasa desapercibido, se vuelve más difícil ajustar pequeños detalles y, a largo plazo, también perjudica a los propios agentes: la fragilidad se acumula precisamente porque nadie presta atención a los detalles. Por el contrario, cuando una persona realiza parte del trabajo, propone un enfoque y luego el agente implementa el patrón, el desarrollador participa y se apropia del resultado.
Doug también cuestiona si los agentes podrían seguir la regla del boy scout, que consiste en dejar el código más limpio de como se encontró. Su respuesta es que los agentes tienden a sesgarse hacia el cambio más seguro posible, sin aspirar a mejoras estructurales. Reconoce que la mayoría de su propio código está generada por inteligencia artificial, pero insiste en que escribir código de vez en cuando le ayuda a pensar, a depurar, a detectar debilidades en las estrategias de prueba y a eliminar clases enteras de errores.
Para cerrar, Doug compara la fábrica de software con cualquier línea de ensamblaje industrial: las fábricas de coches tienen puntos débiles que requieren detener la producción, examinar el motor de combustión interna o pasar un día entero observando pruebas de pastillas de freno. Del mismo modo, los ingenieros de software necesitan conectar los detalles minuciosos con la imagen global, algo que resulta imposible si se establecen límites artificiales sobre qué partes del código se pueden tocar. La conclusión es clara: aunque la inteligencia artificial ha transformado radicalmente la programación, la escritura manual de código sigue siendo una herramienta poderosa para pensar, mantener la atención y construir sistemas más robustos.
