Il panorama delle architetture emergenti di agenti IA per il ragionamento, la pianificazione e la chiamata di strumenti: un sondaggio |  di Sandi Besen |  Aprile 2024

 | Intelligenza-Artificiale

Dal lancio di ChatGPT, l’ondata iniziale di applicazioni di intelligenza artificiale generativa ha ruotato in gran parte attorno ai chatbot che utilizzano il modello Retrieval Augmented Generation (RAG) per rispondere alle richieste dell’utente. Mentre è in corso il lavoro per migliorare la robustezza di questi sistemi basati su RAG, la comunità di ricerca sta ora esplorando la prossima generazione di applicazioni IA; un tema comune è lo sviluppo di agenti IA autonomi.

I sistemi agentici incorporano funzionalità avanzate come pianificazione, iterazione e riflessione, che sfruttano le capacità di ragionamento intrinseche del modello per svolgere attività end-to-end. Insieme alla possibilità di utilizzare strumenti, plug-in e chiamate di funzioni, gli agenti hanno la possibilità di affrontare una gamma più ampia di lavori di carattere generale.

Il ragionamento è un elemento fondamentale della mente umana. Senza ragionare non saremmo in grado di prendere decisioni, risolvere problemi o perfezionare piani quando si apprendono nuove informazioni, essenzialmente fraintendendo il mondo che ci circonda. Se gli agenti non hanno forti capacità di ragionamento, potrebbero fraintendere il loro compito, generare risposte senza senso o non riuscire a considerare le implicazioni in più fasi.

Troviamo che la maggior parte delle implementazioni degli agenti contengono una fase di pianificazione che invoca una delle seguenti tecniche per creare un piano: scomposizione delle attività, selezione di più piani, pianificazione assistita da moduli esterni, riflessione e perfezionamento e pianificazione aumentata dalla memoria (1).

Un altro vantaggio derivante dall'utilizzo di un'implementazione dell'agente rispetto al semplice modello del linguaggio di base è la capacità dell'agente di risolvere problemi complessi richiamando strumenti. Gli strumenti possono consentire a un agente di eseguire azioni come l'interazione con le API, la scrittura su applicazioni di terze parti e altro ancora. Il ragionamento e l’uso degli strumenti sono strettamente intrecciati e l’uso efficace degli strumenti dipende da un ragionamento adeguato. In parole povere, non ci si può aspettare che un agente con scarse capacità di ragionamento capisca quando è il momento opportuno per richiamare i suoi strumenti.

I nostri risultati sottolineano che sia le architetture ad agente singolo che quelle multi-agente possono essere utilizzate per risolvere compiti impegnativi impiegando fasi di ragionamento e di chiamata degli strumenti.

Per le implementazioni ad agente singolo, troviamo che il successo dell'esecuzione degli obiettivi dipende da una corretta pianificazione e autocorrezione (1, 2, 3, 4). Senza la capacità di autovalutazione e di creazione di piani efficaci, i singoli agenti potrebbero rimanere bloccati in un ciclo di esecuzione infinito e non portare mai a termine una determinata attività o restituire un risultato che non soddisfa le aspettative degli utenti (2). Troviamo che le architetture ad agente singolo sono particolarmente utili quando l'attività richiede una chiamata di funzione diretta e non necessita di feedback da un altro agente.

Tuttavia, notiamo che i modelli a singolo agente spesso hanno difficoltà a completare una lunga sequenza di attività secondarie o chiamate a strumenti (5, 6). I modelli multi-agente possono risolvere i problemi delle attività parallele e della robustezza poiché più agenti all'interno dell'architettura possono lavorare su singoli sottoproblemi. Molti modelli multi-agente iniziano prendendo un problema complesso e suddividendolo in diverse attività più piccole. Quindi, ciascun agente lavora in modo indipendente per risolvere ciascuna attività utilizzando il proprio set indipendente di strumenti.

Le architetture che coinvolgono più agenti rappresentano un'opportunità per una divisione intelligente del lavoro basata sulle capacità e su un prezioso feedback da parte di diversi agenti. Numerose architetture multi-agente operano in fasi in cui i team di agenti vengono formati e riorganizzati dinamicamente per ciascuna fase di pianificazione, esecuzione e valutazione (7, 8, 9). Questa riorganizzazione produce risultati superiori perché agenti specializzati vengono utilizzati per compiti specifici e rimossi quando non sono più necessari. Abbinando i ruoli e le competenze degli agenti al compito da svolgere, i team di agenti possono ottenere una maggiore precisione e ridurre il tempo necessario per raggiungere l'obiettivo. Le caratteristiche cruciali di architetture multi-agente efficaci includono una chiara leadership all'interno dei team di agenti, la costruzione dinamica del team e un'efficiente condivisione delle informazioni tra i membri del team per evitare che informazioni importanti si perdano in comunicazioni superflue.

La nostra ricerca evidenzia importanti metodi ad agente singolo come ReAct, RAISE, Reflexion, AutoGPT + P, LATS e implementazioni multi-agente come DyLAN, AgentVerse e MetaGPT, che sono spiegati più in profondità nella sezione testo intero.

Modelli ad agente singolo:

I modelli ad agente singolo sono generalmente più adatti per attività con un elenco di strumenti ristretto e in cui i processi sono ben definiti. Non devono affrontare feedback scadenti da parte di altri agenti o chiacchiere distraenti e non correlate da parte di altri membri del team. Tuttavia, i singoli agenti potrebbero rimanere bloccati in un ciclo di esecuzione e non riuscire a compiere progressi verso il loro obiettivo se le loro capacità di ragionamento e perfezionamento non sono solide.

Modelli multi-agente:

I modelli multi-agente sono adatti per attività in cui il feedback di più personaggi è utile per portare a termine l'attività. Sono utili quando è necessaria la parallelizzazione tra attività o flussi di lavoro distinti, consentendo ai singoli agenti di procedere con i passaggi successivi senza essere ostacolati dallo stato delle attività gestite da altri.

Feedback e Human in the Loop

I modelli linguistici tendono a impegnarsi in una risposta all'inizio della loro risposta, il che può causare un “effetto valanga” di crescente deviazione dal loro stato obiettivo (10). Implementando il feedback, è molto più probabile che gli agenti correggano la rotta e raggiungano il loro obiettivo. La supervisione umana migliora il risultato immediato allineando più strettamente le risposte dell'agente alle aspettative umane, producendo risultati più affidabili e affidabili (11, 8). Gli agenti possono essere sensibili al feedback di altri agenti, anche se il feedback non è valido. Ciò può portare il team degli agenti a generare un piano difettoso che li distoglie dal loro obiettivo (12).

Condivisione e comunicazione delle informazioni

I modelli multi-agente hanno una maggiore tendenza a lasciarsi prendere dalle sottigliezze e a chiedersi l'un l'altro cose come “come stai”, mentre i modelli ad agente singolo tendono a rimanere concentrati sul compito da svolgere poiché non c'è alcuna dinamica di squadra da gestire. Questo può essere mitigato da suggerimenti robusti. Nelle architetture verticali, gli agenti possono non riuscire a inviare informazioni critiche ai propri agenti di supporto senza rendersi conto che gli altri agenti non sono a conoscenza delle informazioni necessarie per completare il proprio compito. Questo fallimento può portare confusione nella squadra o allucinazioni nei risultati. Un approccio per risolvere questo problema consiste nell'includere esplicitamente informazioni sui diritti di accesso nel prompt del sistema in modo che gli agenti abbiano interazioni contestualmente appropriate.

Impatto della definizione dei ruoli e dei team dinamici

Una chiara definizione dei ruoli è fondamentale sia per le architetture ad agente singolo che per quelle multi-agente. La definizione del ruolo garantisce che gli agenti comprendano il ruolo assegnato, rimangano concentrati sul compito assegnato, eseguano gli strumenti adeguati e riducano al minimo le allucinazioni di altre capacità. La definizione di un leader di gruppo chiaro migliora le prestazioni complessive dei team composti da più agenti semplificando l'assegnazione delle attività. Si sono dimostrati efficaci anche i team dinamici in cui gli agenti entrano ed escono dal sistema in base alle necessità. Ciò garantisce che tutti gli agenti che partecipano alle attività contribuiscano fortemente.

Riepilogo delle informazioni chiave

Le informazioni chiave discusse suggeriscono che la migliore architettura dell'agente varia in base al caso d'uso. Indipendentemente dall'architettura selezionata, i sistemi ad agenti più performanti tendono a incorporare almeno uno dei seguenti approcci: suggerimenti di sistema ben definiti, leadership chiara e divisione dei compiti, ragionamento dedicato/pianificazione-esecuzione – fasi di valutazione, strutture di squadra dinamiche, risorse umane o agenti feedback e filtraggio intelligente dei messaggi. Le architetture che sfruttano queste tecniche sono più efficaci in una varietà di benchmark e tipi di problemi.

La nostra meta-analisi mira a fornire una comprensione olistica dell'attuale panorama degli agenti IA e offrire informazioni a coloro che costruiscono con architetture di agenti esistenti o sviluppano architetture di agenti personalizzate. Esistono notevoli limitazioni e aree di miglioramento futuro nella progettazione e nello sviluppo di agenti di intelligenza artificiale autonomi, come la mancanza di parametri di riferimento completi per gli agenti, l’applicabilità nel mondo reale e la mitigazione dei pregiudizi dannosi del modello linguistico. Queste aree dovranno essere affrontate nel breve termine per consentire agenti affidabili.

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *