construimos un sistema de investigación para dejar que un agente de ia trabaje en algo que termina en acciones irreversibles en el mundo real — ese tipo de tarea donde "parece terminado" y "está terminado" son afirmaciones muy distintas, y equivocarse cuesta algo que no podés recuperar.

el diseño

todo se reduce a una sola idea: el agente propone, un script aparte y tonto decide.

cada unidad de trabajo termina en un result.json donde el agente escribe el nivel que afirma. no tiene permitido escribir el nivel verificado. un verificador aparte — simple, determinista, sin ningún modelo adentro — lee los artefactos que quedaron en disco y calcula el nivel que la evidencia realmente respalda. si lo afirmado es más alto que la evidencia, la corrida queda bloqueada. eso es lo único que vigila: la sobreafirmación. decir "esto no funcionó" siempre está permitido, y nunca se bloquea.

tres peldaños en la escalera:

  • CODE — existe un archivo de prueba, y corre en verde. la lógica existe y se ejecuta.
  • SIM — el código corre contra mocks declarados (una billetera falsa, una red falsa, una contraparte falsa). el protocolo se sostiene en un sandbox. el agente puede llegar a este peldaño por su cuenta.
  • LIVE — pasó de verdad, contra el mundo real, con un artefacto de prueba que al agente le está estructuralmente prohibido producir. solo un humano, actuando de verdad, puede generar esa prueba.

la compuerta está exactamente entre SIM y LIVE. el agente puede llegar solo hasta "el protocolo es sólido en simulación". nunca puede promover su propio trabajo a "esto es real". un humano tiene que hacer la acción irreversible y dejar la prueba.

╭─────────────────────────────╮
│ verify ladder               │░
├─────────────────────────────┤░
│ LIVE   real — proof artifact│░  ◂ human-only gat
│ SIM    sandbox — agent ok   │░
│ CODE   tests green          │░
╰─────────────────────────────╯░
 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
fig. the ladder — the gate sits between sim and live

el momento en que la compuerta se ganó el sueldo

la corrida final funcionó. de punta a punta, totalmente autónoma, cero clics humanos — el agente ejecutó toda la secuencia riesgosa en un sandbox y cada paso volvió en verde. por todo instinto, ese es un momento de "listo, a producción".

el sistema lo dejó marcado un peldaño debajo de terminado.

porque la corrida verde usó credenciales descartables, en manos del agente — no la ruta de firma real que usaría un usuario real. lo que "funcionó" nunca ejercitó ni una vez la única costura que de verdad carga el riesgo. una persona apurada — o un agente calificándose a sí mismo — archiva eso como éxito. la política lo hizo archivar en cambio la afirmación honesta: protocolo probado, compatibilidad con el mundo real sin probar. la brecha tenía nombre, y estaba sentada en el único lugar donde nadie miraría: la parte que no corrió.

una versión más chica de lo mismo, antes: una corrida en sandbox sacó a la luz que un paso no estaba reservando suficiente presupuesto para cubrir el costo del paso siguiente. verde en aislamiento, roto en composición. la simulación lo atrapó precisamente porque el peldaño de arriba exigía que las piezas corrieran juntas, no solo una a la vez.

la lección

un modelo no puede ser el juez de si el modelo tuvo éxito. no porque mienta — porque califica contra su propio entendimiento de la tarea, y la falla que te importa suele ser justo la parte de la realidad que su entendimiento no cubrió. la autoevaluación solo puede chequear el mapa, nunca el territorio.

así que separá los dos trabajos y hacelos adversarios:

  • un actor hace el trabajo y afirma un resultado.
  • un actor distinto, más tonto, chequea la afirmación contra los artefactos — y está hecho para desconfiar.
  • el chequeo es determinista. ningún modelo en el calificador. un modelo calificando a otro modelo solo sube el problema un nivel.
  • convertí "qué costura carga realmente el riesgo" en un peldaño explícito, y negate a llamar algo terminado hasta que esa costura exacta haya corrido de verdad.
  • el paso irreversible recibe una compuerta solo para humanos, impuesta haciendo que la prueba-de-realidad sea algo que el agente físicamente no puede fabricar.

una corrida verde de punta a punta no es prueba de que la costura riesgosa se ejercitó.

esto generaliza mucho más allá del código. cada vez que dejás que una ia proponga algo que termina en una acción real — un pago, un despliegue, un borrado, un correo a un cliente — la pregunta no es "¿sonó confiada?". es "¿qué artefacto independiente prueba que pasó, y quién tiene permitido producir ese artefacto?".

la trampa

esto no es gratis, y no es magia.

  • es sobrecarga. escribís las pruebas, declarás los mocks, definís el esquema de la prueba de entrada. para algo rápido y descartable es demasiada ceremonia. rinde justo cuando equivocarse sale caro — y solo entonces.
  • solo chequea lo que declaraste. evidencia débil, declarada con honestidad, pasa como débil. el calificador te impide sobreafirmar; no puede hacer que tu simulación sea fiel. si tus mocks no coinciden con la realidad, obtenés un sandbox verde que no significa nada.
  • verifica que algo pasó, no que lo que pasó fue sensato. "la transacción se confirmó" es demostrable. "la transacción fue una buena idea" no está en la escalera.
  • la imposición es frágil en los bordes. el bloqueo automático solo se dispara cuando la herramienta se lanza de la forma correcta; correla mal y la barrera de seguridad simplemente no está ahí. una barrera que podés olvidarte de encender es media barrera — así que el arreglo real es una re-verificación manual que hacés a mano, y no confiar en que la automatización sea la única línea.