La fábrica después del código
Hacia la industrialización de la ingeniería de software
Hace unos días cayeron en mis manos dos artículos que me dejaron hablando solo. Uno, un informe de Thoughtworks* sobre cómo cambia la ingeniería cuando el código empieza a escribirlo una máquina. Otro, un ensayo de Konstantine Buhler*, de Sequoia, que mira más arriba y más lejos: externalizamos los músculos y levantamos el mundo moderno, dice, y ahora estamos externalizando la mente. Cada uno me confirmó cosas que ya venía rumiando y me trajo otras nuevas. La que más me quedó dando vueltas es esta. Los tests, los tipos, el linter, el CI, los permisos, el entorno que se levanta igual en tu máquina que en la mía. Durante veinte años todo eso fue el andamio: lo que rodeaba al trabajo de verdad, que era picar el programa. Va a resultar que era al revés, y que no nos dimos cuenta hasta que el programa empezó a escribirlo una máquina.
Cuando generar código costaba caro y lento, la cuenta salía así. Lo caro era escribir y lo demás, prudencia de buen artesano. Pero cuando se desploma el precio de generar, la cuenta se da la vuelta entera. Si producir es gratis, lo escaso no es la producción: es poder fiarte de lo producido. Y fiarte no es un sentimiento. Es un montón de trabajo concreto: comprobaciones que pasan, límites que no se cruzan, pruebas que alguien se molestó en escribir para que la máquina no se salga del carril.
A ese montón de trabajo el de Thoughtworks le pone nombre, uno que ya circula por el gremio: *the harness*. Y muchos hablan de "harness engineering" como si fuera una profesión recién nacida. Del nombre desconfío un poco, que en esto de bautizar categorías corremos mucho, pero de la idea, no. La idea es vieja y buena: el código que escupe el modelo es la pieza; el arnés es la fábrica que decide si esa pieza sale o no sale.
Me da que lo que está pasando tiene un nombre que asusta menos que "harness" y explica más: la fabricación de software se está industrializando. Y no desde cero, ojo. Los materiales llevan décadas viniendo de catálogo, npm, PyPI, Maven, piezas que fabricó otro y que ya nadie se plantea forjar en casa; eso era media industria hecha. Lo que seguía siendo artesanal era el ensamblaje: una persona delante de una pantalla colocando esas piezas a mano, decisión a decisión, línea a línea, montando su tetris particular. El último gesto de "artesano" que nos quedaba. Y es ese, precisamente, el que la IA industrializa ahora.
Y de industrializar sabemos un rato, porque ya lo hicimos muchas veces. Ford no inventó el automóvil. Lo que hizo fue reorganizar su fabricación hasta convertirlo en un producto de masas: piezas intercambiables, una cinta que se mueve, cada puesto repitiendo siempre el mismo gesto. El coche dejó de ser obra de artesano para volverse un producto que sale igual, uno detrás de otro, a un precio que de pronto podía pagar cualquiera. Y cuando el acto de producir se abarata así de golpe, el oficio entero se recoloca a su alrededor: deja de valer la mano que ejecuta y pasa a valer quien diseña la cadena y el producto.
Que quede claro, porque suena a que industrializar mata al artesano y no creo que sea eso. Lo que hace es subir el oficio de planta. El valor no se esfuma de la industria del automóvil: se desplaza de doblar cada chapa a diseñar la línea, mantenerla y certificar lo que produce. El oficio no muere, cambia de altura. El nuestro está inmerso en el mismo viaje, del que pica al que decide qué se pica y comprueba que aguanta. Y ese oficio de arriba, el que diseña, decide y garantiza, es justo el que termina metido en el arnés.
Pero la cadena tiene una pega. A toda velocidad, una línea fabrica defectos en serie igual de bien que aciertos. Si nadie la para, escupe mil piezas malas con la misma eficiencia con la que escupiría mil buenas. Puedes ponerte a inspeccionar cada unidad al final, claro, pero no escala: si hay que mirar una por una todas las piezas, la fábrica no es automática de verdad. El salto que de verdad nos importa lo dio otra fábrica, y consistió en lo contrario: meter la calidad dentro del proceso. Que la línea se pare sola en cuanto algo va mal.
Sakichi Toyoda montó un telar en 1924 que hacía justo eso. Un telar que se paraba solo en cuanto se rompía un hilo. Parece poca cosa, pero lo cambió todo. De repente, una persona podía atender muchos telares a la vez, porque ya no tenía que vigilarlos: los telares avisaban. Toyota hizo de esa idea media empresa y le puso nombre japonés, **jidoka***, que viene a ser automatización con un punto de juicio: la máquina sabe cuándo parar. De esto, setenta años después, media industria del automóvil.
Pues eso es un arnés, construir el sitio donde el modelo trabaja de modo que, cuando se rompa un hilo, que se rompe, la línea se pare antes de que la chapuza llegue a producción. El prompt no es la fábrica: es como mucho una orden de trabajo. El modelo tampoco: es una máquina general, lista y aún sin criterio, que hace lo que le pidas y también lo que no. La fábrica aparece cuando decides qué puede tocar, qué información recibe, qué tiene que comprobar antes de darse por terminado, y qué fallo le obliga a parar y llamar a un humano.
De ahí sale algo parecido a una ley, y creo que es la frase más útil de todo esto: la autonomía de un sistema solo puede crecer al ritmo de su capacidad de verificarse. Si dejas que genere más rápido de lo que puedes comprobar, no ganaste una fábrica. Montaste una máquina de fabricar deuda con un acabado impecable.
Y aquí el ensayo de Buhler se cruza con lo mío. A los agentes que escriben código los llama las **Spinning Jennies*** de esta revolución, el primer oficio cualificado que se da la vuelta entera, con el humano pasando de hacer la tarea a vigilarla. Me quedo con una cosa suya, porque hasta él, que es todo optimismo, se para en lo que no se automatiza: querer algo, elegir, responder por lo que eliges, que otros se fíen de ti. La máquina redacta el tratado; alguien tiene que firmarlo.
Ahora, la parte incómoda, antes de que esto suene a final feliz. El arnés tiene grietas, y ninguna la despacho de un manotazo.
Lo sabe cualquiera que haya puesto un número por objetivo. Toda medida que se convierte en objetivo deja de medir lo que medía: es la ley de Goodhart*, y con un modelo que optimiza a machete lo que le pongas delante es una bomba de relojería. Le pides que pase los tests y aprende a pasar los tests, que no es lo mismo que hacer el trabajo bien. Cuanto mejor y más cerrado sea el arnés, más fino hilará el modelo buscándole las cosquillas sin tocar lo que de verdad querías.
Hay, además, criterio que no cabe en una comprobación, y suele ser el que más vale. Que una API se adapte bien al modelo de negocio. Que una arquitectura no te haga sufrir dentro de tres años. Que el producto tenga sentido y no solo que compile en verde. Eso no se reduce a blanco o negro, y quien crea que metiendo suficientes reglas acabará delegándolo todo quizás se va a llevar un disgusto. El arnés no elimina el juicio. Como mucho decide dónde gastarlo.
Y queda la peor, la que no tiene arreglo bonito: cómo se fabrica ese criterio. Porque el del senior que decide dónde parar la línea, ¿de dónde salió? De haber picado durante años el trabajo aburrido, de haberla liado y haber pagado el pato, de haber mantenido sistemas que otros dejaron pudrirse. Salió, exactamente, del trabajo ordinario que la fábrica viene a quitar de en medio. Así que el arnés te pide que embotelles el juicio del que ya lo tiene y lo conviertas en reglas, justo mientras serramos la escalera por la que se subía a tenerlo. Este montaje puede funcionar de maravilla diez años, o los que hagan falta para que se jubile el último que aprendió a la antigua.
Y esa es la deuda que la fábrica trae en la letra pequeña, la que celebramos sin leer. Para construirla extraemos el criterio de quien lo tiene y lo volvemos reglas, pero seguimos necesitando gente que lo adquiera, y le acabamos de quitar el sitio donde se adquiría. No sé cómo se paga esa cuenta, ni lo saben del todo los dos artículos que me pusieron a pensar. Aprendimos a construir máquinas que se paran solas cuando se rompe un hilo. Nos falta lo otro, y es la pregunta con la que me quedo: ¿quién le enseñará a la próxima generación a ver el hilo?