Un agente AI si riferisce a un sistema software capace di svolgere autonomamente attività per conto di un utente o di un altro sistema, sviluppando il proprio workflow e utilizzando gli strumenti esterni necessari.
Gli agenti vanno ben oltre la semplice elaborazione e comprensione del linguaggio. Sono in grado di prendere decisioni, risolvere problemi, interagire con l'ambiente e agire per il perseguimento di obiettivi.
Gli agenti AI vengono ora incorporati in una varietà di soluzioni aziendali, dall'automazione IT e ingegneria del software, alle interfacce conversazionali e all'implementazione della generazione di codice. Guidati da modelli linguistici di grandi dimensioni (LLM), possono comprendere direzioni complesse, scomporle in fasi, interagire con risorse provenienti da fonti esterne e avere la capacità cognitiva di sapere quando distribuire determinati strumenti o servizi per aiutare a raggiungere i compiti.
La valutazione degli agenti è una procedura importante per la creazione e la distribuzione di sistemi AI autonomi perché misura quanto bene un agente esegue i compiti assegnati, prende decisioni e interagisce con gli utenti o gli ambienti. In questo modo possiamo garantire che gli agenti operino in modo affidabile, efficiente ed etico nei casi d'uso previsti.
I motivi principali per la valutazione degli agenti includono:
La valutazione delle prestazioni di un agente AI utilizza metriche organizzate in diverse classi formali di prestazioni: accuratezza, tempo di risposta (velocità) e costo delle risorse utilizzate. L'accuratezza descrive la capacità dell'agente di fornire le risposte corrette e pertinenti, nonché la capacità dell'agente di completare le funzioni previste. Il tempo di risposta misura la velocità impiegata dall'agente per elaborare l'input e produrre l'output. Ridurre al minimo la latenza è particolarmente importante nei programmi interattivi e nei programmi in tempo reale. Il costo misura le risorse computazionali consumate dall'agente, come l'uso di token, la chiamata a un application programming interface (API) o il tempo di sistema. Queste metriche forniscono linee guida per migliorare le prestazioni del sistema e limitare i costi operativi.
Sebbene metriche chiave come correttezza, utilità e coerenza rientrino nell'accuratezza, il tempo di risposta (latenza) misura metriche tra cui velocità effettiva, latenza media e ritardo di timeout. Le metriche dei costi includono l'utilizzo dei token, il tempo di calcolo, il numero di chiamate API e il consumo di memoria.
In questo tutorial esploreremo le metriche chiave di correttezza, utilità e coerenza che rientrano nell'accuratezza.
Svilupperai un agente di viaggio e ne valuterai le prestazioni utilizzando un "LLM-as-a-judge".
È necessario un account IBM® Cloud per creare un progetto watsonx.ai.
Hai anche bisogno di Python versione 3.12.7
Sebbene sia possibile scegliere tra diversi strumenti, questo tutorial illustra come configurare un account IBM per l'utilizzo di un Jupyter Notebook.
Accedi a watsonx.ai utilizzando il tuo account IBM Cloud.
Crea un progetto watsonx.ai. Puoi ottenere l'ID del tuo progetto direttamente dal progetto stesso. Fai clic sulla scheda Gestisci. Quindi copia l'ID del progetto dalla sezione Dettagli della pagina Generale. Questo ID è necessario per questo tutorial.
Crea un Jupyter Notebook. Questo passaggio apre un ambiente Jupyter Notebook in cui puoi copiare il codice di questo tutorial. In alternativa, puoi scaricare questo notebook nel tuo sistema locale e caricarlo nel tuo progetto watsonx.ai come risorsa. Per visualizzare altri tutorial su IBM Granite, consulta la IBM Granite Community.
Crea un'istanza di servizio watsonx.ai Runtime (seleziona l'area geografica appropriata e scegli il piano Lite, che è un'istanza gratuita).
Genera una chiave API (application programming interface).
Associa l'istanza del servizio watsonx.ai Runtime al progetto che hai creato in watsonx.ai.
Abbiamo bisogno di alcune librerie e moduli per questo tutorial. Assicurati di importare i seguenti elementi e, se non sono installati, una rapida installazione tramite pip risolverà il problema.
Nota, questo tutorial è stato creato usando Python 3.12.7.
Per impostare le nostre credenziali, abbiamo bisogno dei codici WATSONX_APIKEY e WATSONX_PROJECT_ID generati nel passaggio 1. Imposteremo anche l'URL che funge da endpoint dell'API. L'endpoint API può variare a seconda della posizione geografica.
Per questo tutorial utilizzeremo il modello Instruct Granite 3 -8B. Per inizializzare l'LLM, dobbiamo impostare i parametri del modello. Per maggiori informazioni su questi parametri del modello, come i limiti minimo e massimo del token, fare riferimento alla documentazione.
Creiamo un assistente di viaggio che aiuti gli utenti nella pianificazione e nella ricerca dei viaggi.
Creeremo una semplice applicazione per l'assistente di viaggio in grado di recuperare informazioni sulle compagnie aeree e sugli hotel in risposta alle richieste degli utenti connettendosi a un'API di viaggio esterna. Per integrarci con gli agenti AI per la pianificazione dinamica dei viaggi, avremo una funzione semplice che effettua richieste API e le racchiude in uno strumento.
Infine, eseguiamo una valutazione e stampiamone il punteggio finale. Per valutare l'assistente di viaggio utilizzando tre criteri distinti (correttezza, utilità e coerenza), viene sviluppato un prompt di valutazione strutturato per un LLM valutatore.
L'output mostra sia una valutazione qualitativa che quantitativa dell'assistente di viaggio generato utilizzando tre criteri: correttezza, utilità e coerenza.
Analizziamo il significato di ogni punteggio e metrica nel contesto dell'output dell'agente:
Quando si valuta la capacità di un agente di soddisfare realmente le esigenze degli utenti, criteri come la coerenza, l'utilità e l'accuratezza giocano un ruolo centrale. Indipendentemente dal fatto che si lavori con OpenAI, IBM Granite o altri modelli LLM-as-a-service, è fondamentale affidarsi a metodi di valutazione strutturati, come dataset di valutazione, benchmark, annotazioni e dati di base, per testare approfonditamente gli output finali. In casi d'uso pratici come chatbot o supporto clienti basato su RAG, i framework open source come LangGraph sono inestimabili. Supportano l'automazione scalabile, il routing affidabile e consentono cicli di iterazione rapidi. Queste tecnologie semplificano anche l'alimentazione dei sistemi di AI generativa, il debug dei comportamenti e l'ottimizzazione e la configurazione di workflow complessi. Definendo attentamente i casi di test e tenendo d'occhio le metriche di osservabilità come costo di calcolo, prezzo e latenza, i team possono migliorare costantemente le performance del sistema. In definitiva, l'applicazione di un approccio di valutazione affidabile e ripetibile conferisce rigore ai sistemi di machine learning e ne rafforza l'affidabilità nel tempo.
Crea, implementa e gestisci assistenti e agenti AI potenti che automatizzano workflow e processi con l'AI generativa.
Costruisci il futuro della tua azienda con soluzioni AI di cui puoi fidarti.
I servizi di AI di IBM Consulting aiutano a reinventare il modo in cui le aziende lavorano con l'AI per la trasformazione.