Un experimento mental que creo que ayuda a explicar gran parte de lo que ha salido mal con la IA y el trabajo:
Imagina un universo alternativo en el que — por la razón que sea — nadie haya publicado nunca código fuente en línea. El movimiento de código abierto, o incluso el concepto de código abierto, no existiera. Naturalmente, los LLM no serían buenos en programación, porque no se entrenarían con enormes conjuntos de datos de código.
Lo que este universo alternativo sí tiene, al igual que nuestro universo real, son binarios de software públicos — decenas de petabytes, mucho más que la escala de los conjuntos de datos de entrenamiento de los LLM fronterizos actuales. Así que, en algún punto del escalado de estos LLM, imagina que empiezan a ser buenos en producir aplicaciones completas y funcionales a partir de especificaciones, pero saltándose por completo el paso de generación de código fuente. El software generado por IA sería malo, poco elegante e inseguro, pero las empresas de IA prometerían constantemente que el próximo modelo más grande lo mejoraría todo.
En este universo, los LLM generadores de software compiten directamente con los ingenieros de software. Los binarios no son legibles para humanos. Son igualmente inescrutables para los ingenieros de software y para las personas no técnicas. Con el tiempo, una fracción creciente del software se generaría al estilo vibe-rolled (no vibe-coded — ¡no hay código!). No es tan bueno como el software creado por humanos, pero ¡es gratuito de generar! Como no hay código fuente, tener a un ingeniero de software involucrado en el proceso no añade nada (excepto costo). Incluso en la medida en que el software generado por IA crea nueva demanda de trabajo debido a sus limitaciones, no requiere ingenieros de software bien pagados y puede ser manejado por trabajadores de menor calificación (quizás solo gritándole repetidamente al LLM que no cometa errores).
En resumen, la autoría humana y la generación por IA son dos formas paralelas de llegar al mismo resultado. Los ingenieros de software y la IA son sustitutos, no complementos. La IA no ayuda a los ingenieros de software a amplificar sus habilidades, y los ingenieros de software no aportan habilidades para supervisar la IA de manera más efectiva que los no ingenieros. En este mundo, la IA se sentiría alienante y aterradora para los ingenieros de software.
Probablemente sepas a dónde voy con esto. En nuestra línea de tiempo real, los artistas y muchos otros profesionales experimentan la IA de una manera que se asemeja a esta distopía. En muchos ámbitos no relacionados con el software, los productos finales de los esfuerzos creativos humanos están fácilmente disponibles para entrenar, pero casi nada de lo que implica su creación. Por lo tanto, las herramientas de IA no son de mucha ayuda durante el proceso creativo. Simplemente imitan y sustituyen.
Un resultado diferente es posible. La visión positiva que no es ampliamente apreciada fuera del mundo tecnológico es que los agentes de programación han dado superpoderes a los ingenieros de software. Trabajamos junto con nuestros agentes; el software complejo se produce a lo largo de miles de turnos alternos entre humano y agente. La narrativa de que los agentes de programación están reemplazando a los ingenieros hasta ahora ha resultado ser una tontería. La experiencia vivida al usar agentes se asemeja mucho a la metáfora de la sierra de mesa de Simon Willison (“Dejar la programación como carrera ahora mismo debido a los LLM sería como dejar la carpintería como carrera gracias a la invención de la sierra de mesa”). La barrera para empezar a trabajar con un nuevo lenguaje de programación, framework o base de código ha caído cien veces porque los agentes de programación también son agentes de enseñanza (los desarrolladores de software usan agentes para entender el código más a menudo que para generarlo).
El software de código abierto y su cultura es un accidente histórico. Damos por sentado que no solo los resultados del trabajo creativo de los ingenieros de software están disponibles públicamente, sino también todos los pasos intermedios (especificaciones, planes, maquetas), el conocimiento tácito (StackOverflow, cultura de documentación), los rastros detallados del proceso (incidencias, solicitudes de extracción, correcciones de errores, revisiones de código), los registros de colaboración (control de versiones, tableros de proyecto) y, en términos más generales, una cultura de aprendizaje en público. Este nivel de descripción explícita sería completamente ajeno en la mayoría de las profesiones.
Muchas empresas están invirtiendo fuertemente en capturar conocimiento tácito, rastros de procesos y otros componentes de este término medio faltante. Irónicamente, lo están haciendo en pos de aún más automatización. Mi tesis, contraria al aparente sentido común y a todo el dinero que se está invirtiendo, es que esta ola de IA puede ser en última instancia más útil para aumentar a los trabajadores que para automatizarlos y eliminarlos. Con los andamios adecuados, los modelos entrenados para comprender profundamente cómo los trabajadores creativos llegan a sus resultados podrán colaborar con ellos, empoderándolos y amplificando su potencial. Si la industria reconociera esto, sería una gran victoria tanto económica como políticamente.





