ruta / módulo 1

M1 — Hooks, harness y determinismo

Idea núcleo: usar un agente de coding a diario y poder explicar cómo funciona por dentro son dos habilidades distintas. La segunda es la que separa a quien “usa la herramienta” de quien puede defender decisiones de arquitectura sobre agentes en una entrevista o un diseño de sistema.


Concepto 1 — El harness: qué convierte un modelo en un agente

Entender (compacto):

Nota atómica: Front: ¿qué hace que un modelo sea “agente” y no solo un chatbot? Back: el harness — la capa que ejecuta sus tool calls, le devuelve resultados, y repite el loop hasta que la tarea está resuelta y verificada, no solo predicha.

Feynman: “El modelo es el cerebro que decide qué hacer. El harness es el cuerpo que realmente hace las cosas — mueve las manos, mira el resultado, y le cuenta al cerebro qué pasó para que decida el siguiente paso.”

Aplicar: tomá cualquier tarea que le pidas hoy a un agente de coding (“arreglá este test que falla”) y escribí, paso a paso, qué hace el harness en cada vuelta del loop — qué tool corre, qué resultado recibe, cuándo decide que terminó. Hacerlo explícito una vez es lo que después te permite defenderlo en voz.


Concepto 2 — Hooks: interceptar el loop sin tocar el harness

Entender (compacto):

Nota atómica: Front: ¿en qué momento del loop un hook puede bloquear una acción, no solo observarla? Back: en el evento “antes de ejecutar la herramienta” — ahí el hook puede negar la ejecución antes de que ocurra; en “después” solo puede reaccionar a algo que ya pasó.

Feynman: “Un hook es un guardia parado en una puerta específica del proceso, no una cámara que graba todo. Le podés poner un guardia a la puerta de ‘antes de correr un comando’ que dice ‘este no’ y la acción nunca sucede — eso es distinto a poner una cámara que solo te avisa después de que ya pasó.”

Aplicar: diseñá (en papel, no hace falta implementarlo) un hook que impida a un agente correr un comando destructivo específico de tu stack — qué evento usarías, qué condición chequearía, y qué responde para bloquearlo.

Límites: un hook mal diseñado agrega latencia a cada acción del agente (cada tool call pasa por él) — no todo necesita interceptarse, solo lo que de verdad importa auditar o bloquear.


Concepto 3 — Determinismo: qué se puede garantizar y qué no

Entender (compacto):

Nota atómica: Front: ¿“output estructurado” garantiza determinismo? Back: No — garantiza que el formato sea parseable y validable (mismo shape), pero el contenido puede variar entre corridas porque el modelo sigue siendo probabilístico por debajo.

Feynman: “Pedirle a alguien que siempre responda en una tarjeta con las mismas casillas (nombre, fecha, decisión) no significa que va a escribir lo mismo en cada casilla cada vez — solo que vas a poder leer la tarjeta de la misma forma sin importar qué escribió.”

Aplicar: si tenés (o vas a construir) un pipeline con más de un agente en cadena, definí el schema exacto que el segundo agente necesita del primero, y decidí qué pasa si la validación falla — ¿reintenta con el mismo prompt? ¿escala a un humano? Esa decisión es la que un entrevistador senior espera escuchar, no “el modelo siempre responde bien”.

Límites: no hay determinismo “bytes-idénticos” garantizado por ningún mecanismo hoy — lo que se logra con schema + validación + reintento es reproducibilidad de formato, suficiente para que un pipeline funcione, no una garantía matemática como la de una función pura.


Checklist de dominio M1

Marcás cuando podés explicar (Feynman) + aplicar:

Salida verificable del módulo: poder explicar, sin apoyo y en voz, cómo el harness ejecuta una tarea de punta a punta, diseñar un hook de bloqueo para un caso concreto, y justificar por qué “output estructurado” no es lo mismo que “determinístico”.