L'agente AI che ho rilasciato ha superato 23 unit test, ma entro un'ora dal lancio ha inventato una funzionalità del prodotto e ha quotato un prezzo tre volte inferiore alla realtà. Quando l'utente lo ha contestato, il bot ha insistito, la conversazione è terminata e ho perso un cliente. L'errore ha dimostrato che una suite di unit test deterministici non può garantire l'affidabilità di un agente.
Perché i unit test non sono sufficienti per gli agenti AI
I unit test funzionano per il codice tradizionale perché lo stesso input produce sempre lo stesso output. "2 + 2 = 4" è una garanzia che puoi verificare con un semplice controllo di uguaglianza. Un agente basato su LLM, invece, varia il proprio output in base al prompt, al contesto circostante e allo stato di qualsiasi strumento esterno che richiama. Un test che verifica l'esatta uguaglianza delle stringhe non rileva allucinazioni, cambiamenti di tono o violazioni dei guardrail. Il fallimento silenzioso che mi ha fatto perdere un cliente dimostra che è necessario valutare l'intera interazione, non solo funzioni isolate.
Costruire un framework di valutazione prima di scrivere il codice delle funzionalità
Ho invertito l'ordine di sviluppo: prima ho progettato un framework di valutazione a quattro livelli, poi ho scritto l'agente. Il framework esegue 131 test in un unico passaggio, costa circa tre centesimi per esecuzione e termina in circa undici minuti. Assegno ogni test al modello più piccolo in grado di gestirlo, riservando i modelli più grandi e costosi ai momenti in cui aggiungono valore reale.
Livello 1 – Funzionalità degli strumenti
La prima linea di difesa verifica se l'agente è in grado di richiamare correttamente i propri strumenti. I test coprono ricerche andate a buon fine, query deliberatamente errate e simulazioni di fallimenti delle API. Poiché l'uso degli strumenti è ampiamente deterministico — o la richiesta è formata correttamente o l'API restituisce un errore — bastano semplici asserzioni Python. Intercettare una richiesta errata in questa fase evita confusioni nelle fasi successive.
Livello 2 – Rispetto delle istruzioni
Successivamente, il framework verifica che l'agente rispetti i guardrail. Un LLM più piccolo funge da valutatore, scansionando la risposta dell'agente per verificarne la conformità: mantenere il personaggio, evitare argomenti proibiti ed emettere lo schema JSON richiesto. Questo livello rileva il drift semantico che i unit test non colgono, come l'assunzione di una personalità non prevista o la fuga di prompt interni.
Livello 3 – Comportamento orientato agli obiettivi
Il terzo livello è il più critico. Si chiede se l'agente raggiunga effettivamente il suo scopo. Per un bot di lead generation, ciò significa confermare che ponga le giuste domande di qualificazione ed effettui l'escalation a un operatore umano quando appropriato. Qui utilizzo un modello orientato al ragionamento, poiché può valutare il flusso complessivo senza gonfiare i costi. Se il bot non raggiunge il suo obiettivo — anche se supera i primi due livelli — viene segnalato per una riprogettazione.
Livello 4 – Prestazioni
Infine, il framework registra la latenza e la velocità di generazione dei token. Risposte lente deteriorano l'esperienza utente, specialmente nelle chat in tempo reale. Monitorando queste metriche insieme alla correttezza funzionale, mi assicuro che l'agente sia sia accurato che reattivo.
Scelte per il risparmio dei costi
La cifra di 0,03 $ per esecuzione non è un espediente di marketing; deriva dall'abbinamento della complessità del test alla dimensione del modello. I controlli deterministici degli strumenti vengono eseguiti sull'ambiente di runtime più economico, la conformità alle istruzioni utilizza un modello leggero e solo le valutazioni orientate agli obiettivi invocano un modello più capace, sebbene più costoso. Questo approccio a livelli mantiene la spesa totale sufficientemente bassa da consentire l'esecuzione dell'intera suite a ogni modifica del codice.
Il compromesso: velocità contro sicurezza
L'introduzione di un framework ha aggiunto attrito iniziale. I cicli di sviluppo si sono allungati e la cronologia del lancio ha subito dei ritardi.
Cosa monitorare in futuro
- Valutatori guidati dai modelli: Man mano che gli LLM migliorano, il valutatore nel Livello 2 può diventare più sfumato, riducendo i falsi positivi e individuando comunque sottili violazioni delle policy.
In sintesi
Se costruisci agenti AI per la produzione, un framework di valutazione a livelli non è opzionale; è fondamentale. Anticipando il costo di test completi — 0,03 $ per esecuzione, undici minuti per suite — ti proteggi dai fallimenti silenziosi che i unit test semplicemente non possono rilevare.
