Amazon Web Services ha illustrato il funzionamento di Universal Agent Evaluation Framework, denominato UAEF, un sistema open source distribuito con licenza Apache 2.0 per valutare il comportamento degli agenti di intelligenza artificiale attraverso metriche confrontabili tra differenti framework applicativi. La soluzione comprende 36 metriche integrate, organizzate in sette dimensioni di valutazione, e supporta agenti sviluppati con LangGraph, LangChain, Strands Agents e Amazon Bedrock AgentCore. L’obiettivo tecnico è eliminare la dipendenza delle procedure di valutazione dal formato specifico utilizzato da ciascun framework per registrare messaggi, chiamate agli strumenti e interazioni tra agenti. AWS riferisce che dodici organizzazioni operanti nei settori delle telecomunicazioni, della sanità e dei servizi finanziari hanno utilizzato UAEF per confrontare versioni successive dei propri agenti prima della distribuzione. Il repository pubblico awslabs/uaef comprende una libreria Python, adattatori, metriche, infrastruttura per il deployment su AWS, un’interfaccia web e notebook eseguibili.
La componente centrale dell’architettura è una rappresentazione normalizzata denominata AgentTrace, nella quale gli adattatori convertono le informazioni prodotte dai differenti sistemi agentici. Il motore di valutazione utilizza esclusivamente questa struttura comune, indipendentemente dal framework originario. Le tracce possono provenire da esecuzioni precedenti, registrazioni applicative o sistemi di osservabilità; in alternativa, UAEF può richiamare direttamente un agente attraverso un endpoint HTTP o un Amazon Resource Name associato al runtime, convertendo successivamente l’esecuzione nel formato previsto. Un adattatore JSON generico consente di estendere il supporto a framework personalizzati. Le metriche sono organizzate nelle dimensioni tool calling, qualità delle risposte, responsible AI, prestazioni, conversazioni multi-turno, coordinamento multi-agente e ragionamento. I punteggi vengono normalizzati tra zero e uno, con il valore massimo corrispondente al risultato migliore.
Il framework combina valutazioni deterministiche, calcolate direttamente dalle tracce e dagli eventuali risultati attesi, con valutazioni LLM-as-a-judge affidate a modelli disponibili su Amazon Bedrock. Queste ultime vengono utilizzate per proprietà che richiedono un giudizio semantico, come pertinenza e sicurezza della risposta. Sono inoltre disponibili metriche personalizzate e integrazioni con RAGAS e DeepEval. Le risposte di riferimento non sono obbligatorie per tutte le valutazioni, anche se restano necessarie per le metriche che confrontano l’output con una risposta attesa. Nella verifica delle chiamate agli strumenti è possibile specificare quali strumenti debbano essere utilizzati, il loro ordine e gli argomenti previsti. Quando mancano i dati necessari per calcolare una metrica, UAEF produce un avviso e non attribuisce alcun punteggio; il risultato mancante viene escluso dalle medie, anziché essere interpretato come uno zero. Questa gestione consente di valutare anche dataset parzialmente annotati e traffico di produzione privo di etichette complete.
Le valutazioni vengono conservate come esperimenti confrontabili. Amazon DynamoDB memorizza i metadati necessari per l’indicizzazione e la consultazione, mentre Amazon S3 contiene i risultati JSON completi, compresi i punteggi delle singole metriche e le motivazioni prodotte dai modelli valutatori. Le esecuzioni possono registrare framework, modello, strumenti disponibili, prompt di sistema, parametri, configurazioni e commit Git, permettendo di collegare ogni misura alla versione effettiva dell’agente. Il sistema controlla la presenza di informazioni personali nelle tracce prima della memorizzazione e offre funzionalità di oscuramento dei dati conservati. Nei confronti tra due esecuzioni, il motore calcola variazioni assolute e percentuali rispetto a una baseline. Una soglia configurabile, fissata inizialmente al 5%, distingue miglioramenti, regressioni e risultati sostanzialmente invariati; le regressioni vengono classificate per gravità e raggruppate per dimensione.
L’interfaccia presenta risultati per singolo caso di test e per dimensione, affiancati da rapporti statistici facoltativi che includono distribuzioni dei punteggi, intervalli di confidenza, valori anomali, correlazioni tra metriche e casi falliti. Queste elaborazioni statistiche non richiedono un modello linguistico, mentre una funzione separata basata su Bedrock può formulare ipotesi sulle cause dei problemi e suggerire interventi prioritari. La libreria Python e il servizio web low-code condividono lo stesso motore, consentendo di integrare le valutazioni in notebook, script e pipeline CI/CD oppure di eseguirle da browser. L’installazione richiede Python 3.10 o successivo e il package manager uv; le funzionalità di giudizio tramite Bedrock e persistenza su DynamoDB e S3 richiedono credenziali AWS.
Per limitare le interferenze sui modelli valutatori, UAEF tratta gli output degli agenti come contenuti non attendibili, separando le istruzioni di valutazione dai dati, applicando procedure di escaping e accettando i punteggi soltanto quando il giudizio restituito soddisfa controlli strutturali e contiene evidenze testuali verificabili. AWS precisa che questi punteggi non devono essere utilizzati come unico meccanismo di applicazione delle politiche di sicurezza, per le quali rimane previsto un percorso separato attraverso Amazon Bedrock Guardrails. UAEF è inoltre presentato come architettura di riferimento, non come servizio multi-tenant autonomamente isolato: gli ambienti condivisi devono prevedere separazione tra organizzazioni, utilizzando account AWS distinti oppure stack, tabelle DynamoDB, bucket S3 e user pool Cognito separati per ciascun tenant.
Questo articolo è stato redatto con il supporto di strumenti di intelligenza artificiale (AI)
