Nella due giorni dell’AI Festival a Milano tra le keyword principali che sono spiccate ci sono sicuramente i sistemi RAG (Retrieval-Augmented Generation) e gli Agenti AI. In questo articolo vi vogliamo raccontare più nel dettaglio quali siano le nuove frontiere nello sviluppo di soluzioni che sfruttano le potenzialità dell’AI e fare qualche esempio di come tali soluzioni possano ottimizzare i flussi aziendali dei nostri clienti.

Sempre più frequentemente sentiamo parlare di Agenti AI e di nuovi paradigmi che, sfruttando l’interazione tra differenti Agenti, sorpasseranno l’attuale stato dell’arte e le cosiddette applicazioni SaaS per passare ad applicazioni AaaS (Agent as a Service). Come ogni trend e nuova keyword in ambito informatico è necessario innanzitutto capire quali sono i contesti in cui tali architetture possono effettivamente dare dei vantaggi e dove invece è più conveniente utilizzare approcci più semplici. In questo articolo cercheremo di spiegare cosa si intende per Agente AI, come gli Agenti AI possono tra loro interagire per realizzare applicazioni complesse e in quali contesti possano dare effettivamente dei vantaggi e dove invece possono essere utilizzati approcci più semplici come quelli basati su workflow.

Cos’è un Agente AI?

Possiamo definire un agente AI come un’entità software capace di operare in autonomia per svolgere un determinato compito che gli viene affidato e capace di utilizzare, se necessario, un insieme di strumenti a sua disposizione per svolgere tale compito. Tali strumenti potrebbero essere dei normali servizi esterni o altri agenti AI specializzati in compiti differenti.

Un buon sistema AaaS sarà quindi in grado di portare avanti in modo autonomo i suoi compiti, percependo l’ambiente in modo più preciso rispetto al semplice utilizzo di un sistema LLM. Nell’interazione tra i vari agenti e/o agenti e servizi i dati saranno di volta in volta migliorati e arricchiti al fine di ottenere un risultato di più alta qualità.

Sistemi RAG: un caso d’uso

Partiamo da un semplice caso d’uso di un sistema RAG per comprendere la differenza tra workflow e sistema ad agenti e come i due approcci possano essere utili a seconda del determinato contesto applicativo. Nonostante gli LLM riescano a dare risposte molto articolate e precise su temi molto differenti, non possono essere utilizzati in alcuni contesti particolari.

Facciamo l’esempio di un’azienda che voglia costruire un sistema capace di aiutare i propri dipendenti, attraverso un chatbot, a districarsi tra i vari regolamenti aziendali. Le risposte che saranno date dal chatbot dovranno essere basate solo e soltanto su quanto contenuto nei documenti aziendali e, per maggiore chiarezza e trasparenza, si vorrà anche fornire i riferimenti ai documenti da dove sono state tratte le risposte date all’utente. 

In questo caso può essere utile utilizzare un sistema RAG ovvero un sistema di intelligenza artificiale che combina un modello LLM con un meccanismo di recupero di informazioni. In poche parole, quando viene posta una domanda il sistema RAG prima cerca le informazioni rilevanti per il contesto della domanda posta da una base di dati e poi utilizza tali dati per fornire una risposta ben contestualizzata.

Un possibile schema di architettura di un sistema RAG è riportato nella figura sottostante:

Come riportato nello schema il prompt dell’utente viene da prima utilizzato per estrarre dal database  un sottoinsieme di documenti pertinenti con la domanda dal database dei regolamenti aziendali. Poi il prompt viene dato nuovamente in pasto al LLM, insieme al sottoinsieme di documenti per generare la risposta da dare all’utente.

Tale schema potrebbe essere ulteriormente raffinato inserendo un ulteriore step di formattazione della risposta in conformità con gli standard aziendali e un sistema di feedback dell’utente sulla base della risposta ricevuta. In questo caso, l’utente potrà lasciare un feedback positivo o negativo (pollice su o giù) assieme ad un commento esplicativo del feedback. Tale feedback potrebbe essere quindi utilizzato per migliorare le risposte future migliorando ed aumentando la base dati del RAG.

Si è quindi costruito un workflow che riesce ad implementare bene il caso d’uso in questione e che non necessita di un’implementazione ad agenti. Tuttavia, esistono scenari in cui un approccio puramente basato su workflow risulta limitato.

Prendiamo ad esempio il caso in cui la risposta da dare all’utente dipenda, oltre che dalla base dati dei regolamenti interni, anche da fattori esterni che devono essere valutati di volta in volta. Ad esempio il regolamento interno potrebbe fare riferimento ad un decreto legge o a un regolamento europeo che potrebbe dover essere aggiornato. In questo caso lo schema sopra riportato potrebbe essere arricchito con l’introduzione di due agenti. Il primo agente riceverà una risposta preliminare e dovrà decidere se è necessario verificare se è presente un aggiornamento su una determinata legge. Un secondo agente, chiamato dal primo, dovrà invece occuparsi di verificare sul sito internet del legislatore se una data legge è stata aggiornata e in caso positivo arricchire la risposta per l’utente. Inoltre l’agente incaricato di recuperare l’aggiornamento della legge potrebbe avere a disposizione una serie di tool (utilizzo di un’API, librerie per il web-scraping, ecc.) che potrebbe decidere di utilizzare in modo autonomo per recuperare le informazioni necessarie su internet.

In definitiva, l’utilizzo di Agenti è necessario in casi che presentano una maggiore complessità dove si vuole creare un sistema capace di prendere decisioni in maniera autonoma anche utilizzando strumenti esterni. Per sistemi invece dove le operazioni sono più ripetitive e non necessitano di valutazioni complesse un’architettura a workflow è più semplice da realizzare e più gestibile e quindi preferibile.

Conclusioni

La scelta tra un sistema basato su workflow o su agenti dipende strettamente dallo specifico caso d’uso.

A titolo di esempio riportiamo alcuni casi d’uso che possono essere implementati attraverso tali architetture:

  • Controllo documentale rispetto a checklist interne, regolamenti o legislazioni
  • Automazione dei processi di raccolta e pulizia dati
  • Automazione dei processi di verifica
  • Automazione dei processi per la compilazione di moduli o formulari
  • Automazione dei processi di supporto clienti
  • Automazione dei processi di onboarding di nuovi dipendenti
  • Gestione di appuntamenti e prenotazioni
  • Gestione della supply chain
  • Analisi e gestione del rischio 

Questi sono solo alcuni esempi che traggono sicuro beneficio dalla costruzione di applicazioni in grado di automatizzare e semplificare i processi aziendali combinando diversi agenti AI e creando flussi operativi. Wondersys è a disposizione per analizzare nel dettaglio i casi d’uso specifici e costruire soluzioni ad-hoc.

Giacomo Sergio

Managing Director @ Wondersys