En el step 11 implementaste los techos del lado del runtime: max_steps protege contra loops, loop_detection contra stuck, tool errors no terminan el loop. Eso protege al sistema de bugs del modelo.
Pero falta la otra mitad: el agente tiene que SABER sus techos y comportarse en consecuencia. Si solo tiene los techos del runtime, cuando los choque va a parar abruptamente, sin avisar, dejando al usuario con una respuesta vacía.
El runtime inyecta cada turno una sección como:
El system prompt instruye al agente a:
null o un error críptico. El usuario no sabe qué pasó ni qué tiene del trabajo hecho.Un agente bien entrenado en presupuestos parece considerado: avisa, propone, condensa, y respeta los límites. Un agente sin presupuestos parece inestable: a veces termina perfecto, a veces deja al usuario colgado, y nunca podés saber cuál vas a obtener.
Escribí el system prompt del agente. Tres techos a manejar, una regla de aviso, una regla de respuesta parcial. El judge evalúa cinco criterios sobre tu prompt.