Uno de los primeros agentes que construí era extremadamente simple: Recuperaba información de un almacén de vectores, la formateaba como HTML y la enviaba por correo electrónico al usuario. No puede ser más simple que esto, y aun así, este agente fallaba alrededor del 1% de las veces. Sin errores. Sin advertencias. Simplemente devolvía basura. Aquí está la dura verdad: Los agentes fallan mucho. Y fallan en silencio. Todo el tiempo. Simplemente no puedes confiar en que un LLM haga lo correcto cada vez. Hasta ahora, he construido y desplegado un par de docenas de agentes, y aquí hay algunas de las cosas que realmente funcionan: 1. Observabilidad desde el primer día. Si no puedes ver lo que está haciendo tu agente, no puedes depurarlo, mejorarlo o confiar en él. Cada agente debería producir trazas que muestren el flujo completo de solicitudes, interacciones del modelo, uso de tokens y metadatos de tiempo. 2. Barandillas en las entradas y salidas. Todo lo que entra y sale de un LLM debería ser verificado por código determinista. Incluso las cosas que no son propensas a fallar eventualmente fallarán. 3. Evaluación de LLM-como-juez. Puedes construir un juez simple usando un LLM para evaluar automáticamente las salidas de tu agente. Etiqueta un conjunto de datos, escribe el aviso de evaluación y itera hasta que tu juez capture la mayoría de los fallos. 4. Análisis de errores. Puedes recopilar muestras de fallos, categorizarlas y diagnosticar los errores más frecuentes. 5. Ingeniería de contexto. A menudo, los agentes fallan porque su contexto es ruidoso, sobrecargado o irrelevante. Aprender a mantener el contexto relevante es enorme. 6. Bucles de retroalimentación humana. A veces, la mejor barandilla es un humano en el bucle, especialmente para decisiones de alto riesgo.