Ingeniería de arneses (Harness Engineering)
Los hábitos son algo que hay que recordar hacer. El siguiente peldaño al configurar tu espacio de trabajo es convertir esas verificaciones en algo que la IA no pueda saltarse. Eso es un arnés (harness).
Piensa en un arnés como un puesto de control de seguridad que se sitúa entre el y el mundo real. En cada paso peligroso hace una de tres cosas: registrar lo que pasó, advertirte, o bloquear la acción por completo. Antes de que se ejecute un comando, antes de que se escriba un archivo, cuando se envía un , al confirmar (), al subir (push); hay una puerta. El agente no puede rodearla, como tú podrías olvidarte de ejecutar las pruebas a las 2 de la madrugada.
Cada acción peligrosa que realiza el agente pasa primero por el arnés, donde cada puerta puede registrarla, advertirte, o bloquearla antes de que llegue jamás al mundo real:
┌─────────┐ ┌──────────┐
│ AGENT │ │ REAL │
│ action │ │ WORLD │
└────┬────┘ └──────────┘
│ ▲
▼ │
╔═══════════════ HARNESS (gate) ═══════════════╗ │
║ ║ │
║ ┌────────┐ ┌────────┐ ┌────────┐ ║ │
║ │ RECORD │ │ WARN │ │ BLOCK │ ║────┘
║ │ log │ │ alert │ │ stop │ ║ allowed
║ └────────┘ └────────┘ └───┬────┘ ║
║ │ ║
╚═══════════════════════════════════╪══════════╝
▼
┌─────────┐
│ DENIED │
└─────────┘
¿Por qué hacerlo obligatorio? Toda la apuesta de la programación vibe es "deja que la IA corra, tú diriges". Eso solo da frutos si la IA no puede irse por un precipicio mientras parpadeas. Un arnés desplaza tu seguridad de la vigilancia (leer cada diff, recordar cada regla) al código (reglas aplicadas automáticamente). Para cualquier cosa que pondrías frente a un usuario real, eso no es un adorno opcional; es lo que hace que la autonomía sea segura.
Un buen arnés sigue algunos principios que vale la pena conocer:
- Silencioso en el éxito, ruidoso en el fallo — no dice nada cuando todo está bien, así que una advertencia sigue significando algo.
- Nunca autocorregir — propone, bloquea o advierte; no "corrige" silenciosamente al agente y oculta el problema.
- Retira reglas inactivas antes de añadir nuevas — mantenlo ligero y confiable, no un montón creciente de verificaciones obsoletas.
- Impulsado por configuración — un solo motor, ajustes por proyecto, para que encaje en cualquier repositorio.
- Registros de solo anexado (append-only) — un registro a prueba de manipulaciones de lo que realmente hizo el agente.
No tienes que construir esto desde cero. Existen arneses listos para usar y de fácil integración; dancinlab/harness es un motor agnóstico de proyecto que puedes conectar al ciclo de vida de herramientas de un agente de programación. Honestamente: un arnés no hace que la IA sea correcta. Hace que los errores de la IA sean baratos de detectar, lo cual, cuando te mueves rápido, es la mayor parte de la batalla.