Uno dei primi agenti che ho costruito era estremamente semplice: Recuperava informazioni da un archivio vettoriale, le formattava come HTML e le inviava via email all'utente. Non può essere più semplice di così, eppure, questo agente falliva circa l'1% delle volte. Nessun errore. Nessun avviso. Restituiva solo spazzatura. Ecco la dura verità: Gli agenti falliscono molto. E falliscono silenziosamente. Tutto il tempo. Non puoi semplicemente fidarti di un LLM per fare la cosa giusta ogni volta. Ormai, ho costruito e distribuito un paio di dozzine di agenti, ecco alcune delle cose che funzionano davvero: 1. Osservabilità fin dal primo giorno. Se non puoi vedere cosa sta facendo il tuo agente, non puoi fare debug, migliorarlo o fidarti di esso. Ogni agente dovrebbe produrre tracce che mostrano il flusso completo delle richieste, le interazioni del modello, l'uso dei token e i metadati temporali. 2. Barriere sugli input e sugli output. Tutto ciò che entra ed esce da un LLM dovrebbe essere controllato da codice deterministico. Anche le cose che non sono destinate a rompersi alla fine si romperanno. 3. Valutazione LLM-come-giudice. Puoi costruire un semplice giudice utilizzando un LLM per valutare automaticamente gli output del tuo agente. Etichetta un dataset, scrivi il prompt di valutazione e itera fino a quando il tuo giudice non cattura la maggior parte dei fallimenti. 4. Analisi degli errori. Puoi raccogliere campioni di fallimento, classificarli e diagnosticare gli errori più frequenti. 5. Ingegneria del contesto. Spesso, gli agenti falliscono perché il loro contesto è rumoroso, sovraccarico o irrilevante. Imparare a mantenere il contesto rilevante è fondamentale. 6. Cicli di feedback umano. A volte la migliore barriera è un umano nel loop, specialmente per decisioni ad alto rischio.