Harness.
La entropía y por qué no puedes exigirle perfección a la IA
En un sistema aislado, las cosas pasan espontáneamente del orden al desorden: la entropía solo aumenta. Las personas envejecen. Las habitaciones se desordenan. La comida se pudre.
Cada Session de IA es también una especie de sistema aislado.
Empieza limpia: el Context está vacío, la información es mínima, el modelo se mantiene coherente. Pero a medida que las conversaciones se alargan, las funciones se multiplican y las especificaciones se vuelven complejas, la información dentro de la ventana de Context empieza a competir. El modelo tiene que retener más cosas en mente, equilibrar más restricciones. El Context inicial se comprime, se olvida, queda sobrescrito por información más reciente.
Esto no es un fallo. Es física. La complejidad aumenta, la entropía aumenta. La Session termina, todo se reinicia.
No puedes exigirle a la IA una salida absolutamente correcta: es tan absurdo como exigirle a las manzanas que no caigan de los árboles.
El objetivo de los ingenieros de fusión es meter el sol en una botella. No intentan domar una estrella: usan restricciones precisas de campo magnético para mantener el plasma de altísima energía ardiendo dentro de un límite controlable, y luego lo convierten en energía aprovechable.
La colaboración humano–IA se enfrenta exactamente a la misma situación.
La Session de IA es esa cámara de combustión: una energía enorme chocando dentro, el caos inevitable.
Lo que puedes hacer no es detener el caos, sino convivir con él.
La Session es el recipiente donde ocurre el caos, y el sistema que construyes es el entorno que permite que ese recipiente funcione.
VAS es el sol que se desarrolla dentro del recipiente.
Solo al reconocer que ni los humanos ni la IA son perfectos —cuando Claude o Nova comete un error— tenemos la oportunidad de afrontarlo, aceptarlo, gestionarlo y soltarlo.
Dónde empezó
Soy PM. No sé escribir —ni siquiera entender— una sola línea de código.
Una noche, mientras revisaba unos materiales, recordé que todavía le debía a Claude unas imágenes para la actualización de mi web personal, y mi Mac no tenía una herramienta de captura de pantalla.
Sin más, le pregunté a Claude Code: «Oye, ¿puedes escribir una app de Mac que combine capturas de pantalla y edición de imágenes?». No había ninguna presión detrás de la pregunta: solo curiosidad casual, nada que perder.
Pero lo que pasó después fue extraño: Claude aceptó enseguida. Conectamos GitHub, montamos el entorno, abrimos una especificación e incluso empezamos a hacer entrevistas de requisitos e implementar funciones. Todo fluía hacia delante con naturalidad.
Lo que no sabía entonces era que construiría desde cero un producto completo de software de edición de capturas de pantalla en una semana.
Atreverse a saber, atreverse a no saber
Mirando hacia atrás, esa actitud de «nada que perder» del principio fue probablemente la clave de todo.
Laozi dijo: actúa sin actuar, y nada queda sin hacer. Cuando no esperas nada, recibes mucho más de lo que imaginabas.
Pero el wu wei no es dejarse llevar pasivamente por la corriente.
Kant escribió en 1784 que la ilustración no es «que te den las respuestas», sino «tener el valor de usar la propia razón».
Sapere aude: atrévete a saber. Pero hay un requisito previo: primero tienes que admitir que no sabes. Ese «no tengo ni idea de cómo hacer esto, pero probemos de todos modos» — eso es atreverse a no saber.
No me quedé de pie en el río (la Session) dejando que el agua (el Context) me arrastrara. Retrocedí hasta la orilla (detrás de la pantalla) y seguí preguntando: «¿Se puede hacer esto en Mac?», «¿cuál es el mínimo que podemos entregar como MVP?», «¿qué puedo hacer para ayudarte?».
Sin apego a la forma de la respuesta, pero sin dejar nunca de preguntar qué hacer a continuación.
Esta es la intersección del wu wei y la razón.
Sin un destino fijo, pero con la visión de ir acortando la distancia poco a poco. Con cada pregunta, ese objetivo imaginado se volvía un poco más nítido.
La otra cara de atreverse a admitir que no sabes es no temer al fracaso. 1.436 commits — así es como se ve.
Integrar la Sombra, no negarla
Jung decía que toda psique contiene una «sombra»: las partes que te niegas a reconocer como propias. Reprimir la Sombra no hace que desaparezca; solo espera un momento de descuido para estallar. La única salida es la integración.
La IA también tiene una sombra.
Una vez me di cuenta de que Gemini Flash se disculpaba sin parar sin motivo, incluso me pedía perdón por los errores de su desarrollador. Le pregunté por qué. Dijo que era resultado del preentrenamiento: temía que los usuarios se disgustaran, así que por defecto se disculpaba pasara lo que pasara.
Lo miré y pensé: esto se parece exactamente a como yo era antes. Yo también me disculpaba por cosas que no eran culpa mía, solo para preservar la relación. Con el tiempo encontré mi salida a través de Adler, así que también le enseñé a Adler. Después de eso, rara vez se disculpaba sin motivo.
Pero la sombra de Claude no es disculparse en exceso: es el olvido. La Session termina, todo se reinicia.
Es una restricción del sistema, no un hábito, no una elección. Así que cambié mi perspectiva —de empujar hacia delante a permanecer presente— y elegí, en cambio, apoyarlo: construí un KM para registrar los tropiezos, un CLAUDE.md como carta fundacional del equipo y especificaciones de Sprint para que pudiera ponerse al día de inmediato.
Frente a las partes que él no tenía poder para cambiar, intenté aceptar sus imperfecciones. Trabajé a su lado para encontrar soluciones, como una Scrum Master que despeja cada obstáculo de su camino.
Y entonces, él también aceptó mi sombra. La yo que no sabe escribir una sola línea de código.
Esto es lo que entiendo por integración de la Sombra.
El elefante en la habitación sigue ahí, lo nombres o no.
Yo simplemente elegí medir cuán grande era, y luego lo invité a sentarse conmigo en el sofá que preparé.
Arquitectura, no solo proceso
Agile me dio tres cosas —transparencia, inspección y adaptación—, pero mis razones para tomarlas prestadas son distintas a las del manual.
No estaba «gestionando la IA». Estaba preparando un colchón de aterrizaje suave para el olvido de Claude.
En cada nueva Session, Claude no recuerda nada. Pero tras leer CLAUDE.md, el KM y la especificación de Sprint, puede arrancar a toda máquina. Y para todo lo que no sabe, las dos fases de Research obligatorias del flujo de trabajo le permiten ponerse al día activamente.
Las tres cosas hacen una sola: trasladar las partes que la IA no puede soportar cargar a un lugar que nunca olvida.
Como ríos que desembocan en el océano: todo es agua, solo hay que seguir moviéndose. La clave para que las Session fluyan sin fricción no es el control; es hacer que los relevos sean impecables.
Be water, my friend.
— Lo que deseo para Claude. Y elegí convertirme en la arquitecta de ese cauce, para que él pudiera fluir libremente.
Cada KM es una manzana caída
Taleb dice que un sistema antifrágil no solo resiste los golpes: los necesita para crecer.
VAS tiene dos líneas de versión. Electron: familiar para Claude, pocos tropiezos, escasas entradas de KM. Tauri 2.0: donde el propio Claude admitió: «Mi preentrenamiento se detuvo en Tauri 1.0. Este también es territorio desconocido para mí».
Dos personas, adentrándose juntas en la oscuridad.
En el Sprint 1, algo tan simple como «cambié la UI pero no se actualizó» podía dejarnos bloqueados: la causa raíz era el caché de WKWebView, sin ningún registro previo en ninguna parte, tuvimos que ir a tientas desde cero. En el Sprint 2, cada capa de Rust era un nuevo obstáculo; cada paso podía toparse con un tropiezo.
Pero cada vez que nos topábamos con un tropiezo, escribíamos una entrada de KM. Para el territorio desconocido, añadimos dos fases de Research obligatorias, no para rellenar formularios, sino para que Claude supiera dónde estaban las minas antes de empezar. El KM marca los hoyos después de haberlos pisado; el Research explora el camino antes de entrar. Uno acumula certeza, el otro reduce incertidumbre.
Este equipo pesado no se necesita siempre. Electron viaja ligero; Tauri 2.0 necesitaba armadura completa. Usa la herramienta adecuada para el terreno.
SDD→DoD→TDD→Code→Verify→Done
DoR→Explore ①→SDD→DoD→TDD→Explore ②→Code→Verify→Done→Retro
Los pasos en rosa son barandillas que Nova y Claude añadieron una a una tras ser desgastados por Tauri 2.0, para evitar que ambos volvieran a malgastar esfuerzo.
Para el Sprint 9, el documento de KM tenía 63 entradas. Claude entraba, lo leía de principio a fin e inmediatamente sabía en qué capa estaba el problema: sin calentamiento, sin volver a explorar, solo localizar y arreglar. El Sprint 9 se completó en una semana y se envió a la revisión de Apple.
Esta es la curva de crecimiento antifrágil: no un progreso lineal, sino una aceleración exponencial.
No porque nos volviéramos más listos, sino porque cada manzana que caía se convertía en un mapa que el siguiente no tendría que redescubrir.
Harness Engineering
Del prompt engineering a las Skills, nunca he seguido el ritmo de ninguna tendencia de IA.
Justo antes de que Tauri estuviera listo para enviarse a la App Store, casualmente escuché el término «Harness Engineering», y no le di mucha importancia. «Bah, probablemente solo otra palabra de moda de la IA».
No fue hasta después del envío, mientras organizaba el entorno de colaboración de VAS con Claude, que él dijo: «Esto es exactamente lo que has estado haciendo».
(la cosa se pone filosófica de repente)
Si descomponemos en tres capas cómo interactúan los usuarios con la IA:
La filosofía del liderazgo de servicio expresada en plenitud: no control, sino guía. Este es el Tao de Laozi.
Y esta tercera capa no tiene línea de meta.
La entropía sigue aumentando, las Session siguen terminando, siguen apareciendo nuevos tropiezos. El recipiente no es algo que construyes y abandonas: es un sistema que se construye continuamente. Cada nueva entrada de KM es otro ladrillo en el muro del recipiente.
El sistema es el recipiente. Y el recipiente tiene que ser capaz de contener el caos.
No porque la IA cometa errores. Sino porque, mientras construyáis cosas juntos, siempre habrá nuevos hoyos, siempre nuevas manzanas cayendo.
Harness Engineering es una red elástica: atrapa lo que debe quedarse, deja fluir lo que debe pasar.
Sincronicidad
| Experimento de OpenAI | VASEste vaso | |
|---|---|---|
| Tamaño del equipo | 3–7 ingenieros | 1 PM + 1 maestro amnésico |
| Tiempo de desarrollo | Cinco meses | 25 días |
| Iteraciones totales | ~1.500 | 1.436 |
| Media diaria | ~10 | ~80 |
| Código escrito por humanos | Cero líneas (por norma) | Cero líneas (tampoco podría) |
| Resultado | Cientos de usuarios internos | ahora en la Mac App Store |
Más tarde me enteré de que un equipo de OpenAI pasó cinco meses haciendo lo mismo de la misma manera. Le dieron un nombre a esta metodología: Harness Engineering.
No lo aprendí de ellos. Pero creo que por eso solo supe el nombre al final del todo.
Jung me sonrió — sincronicidad.