I progressi nei modelli linguistici di grandi dimensioni (LLM), come GPT di OpenAI e le tecniche correlate che coinvolgono gli algoritmi di machine learning hanno portato al boom dell'AI generativa (gen AI) degli ultimi anni, e ulteriori progressi hanno portato al campo emergente degli agenti autonomi.
Integrando strumenti, API, interfacce hardware e altre risorse esterne, i sistemi di agentic AI sono sempre più autonomi, in grado di prendere decisioni in tempo reale e di risolvere problemi in vari caso d'uso.
Gli agenti complessi non possono agire senza prendere una decisione e non possono prendere buone decisioni senza prima elaborare un piano. La pianificazione degli agenti è costituita da diverse componenti chiave che collaborano per promuovere un processo decisionale ottimale.
Definizione degli obiettivi
Il primo e più critico passo nella pianificazione AI è la definizione di un obiettivo chiaro. L'obiettivo funge da principio guida per il processo decisionale dell'agente, determinando lo stato finale che cerca di raggiungere. Gli obiettivi possono essere statici, rimanendo invariati durante tutto il processo di pianificazione, o dinamici, che si adattano in base alle condizioni ambientali o alle interazioni degli utenti.
Ad esempio, un'auto a guida autonoma potrebbe avere l'obiettivo di raggiungere una destinazione specifica in modo efficiente rispettando le norme di sicurezza. Senza un obiettivo ben definito, un agente mancherebbe di una guida, arrivando a comportarsi in modo erratico o inefficiente.
Se l'obiettivo è complesso, i modelli di agentic AI lo suddividono in obiettivi secondari più piccoli e più gestibili in un processo chiamato scomposizione dei compiti. Ciò consente al sistema di concentrarsi su attività complesse in modo gerarchico.
Gli LLM svolgono un ruolo fondamentale nella scomposizione dei compiti, suddividendo un obiettivo di alto livello in sottocompiti più piccoli e successivamente eseguendo questi sottocompiti attraverso vari passaggi. Ad esempio, un utente potrebbe chiedere a un chatbot con un prompt in linguaggio naturale di pianificare un viaggio.
L'agente suddividerebbe innanzitutto il compito in componenti come la prenotazione dei voli, la ricerca di hotel e la pianificazione di un itinerario. Una volta operata questa suddivisione, l'agente può utilizzare le application programming interface (API) per recuperare dati in tempo reale, controllare i prezzi e persino suggerire destinazioni.
Rappresentazione dello stato
Per pianificare in modo efficace, un agente deve avere una comprensione strutturata del proprio ambiente. Questa comprensione viene raggiunta attraverso la rappresentanza statale, che modella le condizioni attuali, i vincoli e i fattori contestuali che influenzano il processo decisionale.
Gli agenti hanno una certa conoscenza incorporata dai loro dati di addestramento o dai set di dati che rappresentano le interazioni precedenti, ma la percezione è necessaria affinché gli agenti abbiano una comprensione in tempo reale del loro ambiente. Gli agenti raccolgono dati attraverso input sensoriali, che gli consentono di modellare il proprio ambiente, insieme agli input dell'utente e ai dati che descrivono il proprio stato interno.
La complessità della rappresentazione dello stato varia a seconda del compito. Ad esempio, in una partita a scacchi, lo stato include la posizione di tutti i pezzi sulla scacchiera, mentre in un sistema di navigazione robotica, lo stato potrebbe riguardare le coordinate spaziali, gli ostacoli e le condizioni del terreno.
L'accuratezza della rappresentazione dello stato incide direttamente sulla capacità di un agente di prendere decisioni informate, poiché determina quanto bene l'agente può prevedere i risultati delle sue azioni.
Sequenza delle azioni
Dopo che l'agente ha stabilito il suo obiettivo e valutato il suo ambiente, deve determinare una sequenza di azioni che lo faranno passare dal suo stato attuale a quello desiderato. Questo processo, noto come sequenziamento delle azioni, prevede la strutturazione di una serie logica ed efficiente di passaggi che l'agente deve seguire.
L'agente deve identificare le potenziali azioni, ridurre l'elenco alle azioni ottimali, dare loro priorità e identificare le dipendenze tra le azioni e i passaggi condizionali in base ai potenziali cambiamenti nell'ambiente. L'agente potrebbe allocare risorse a ciascun passaggio nella sequenza o pianificare azioni in base ai vincoli ambientali.
Ad esempio, un robot aspirapolvere deve decidere il percorso più efficace per pulire una stanza, assicurandosi di raggiungere tutte le aree necessarie senza inutili ripetizioni. Se la sequenza di azioni non è ben pianificata, l'agente AI potrebbe compiere passaggi inefficienti o ridondanti, con un conseguente spreco di risorse e l'aumento dei tempi di esecuzione.
Il framework ReAct è una metodologia utilizzata dall'AI per gestire il processo-decisionale dinamico. Nel framework ReACT, il ragionamento si riferisce al processo cognitivo con cui l'agente determina quali azioni o strategie sono necessarie per raggiungere un obiettivo specifico.
Questa fase è simile alla fase di pianificazione dell'agentic AI, in cui l'agente genera una sequenza di passaggi per risolvere un problema o svolgere un compito. Altri framework emergenti includono ReWOO, RAISE e Reflexion, ognuno dei quali ha i suoi punti di forza e di debolezza.
Ottimizzazione e valutazione
La pianificazione AI spesso comporta la selezione del percorso migliore per raggiungere un obiettivo, soprattutto quando sono disponibili più opzioni. L'ottimizzazione aiuta a garantire che la sequenza di azioni scelta da un agente sia la più efficiente, conveniente o comunque vantaggiosa date le circostanze. Questo processo richiede spesso la valutazione di diversi fattori quali tempo, consumo di risorse, rischi e potenziali vantaggi.
Ad esempio, un robot di magazzino incaricato di recuperare gli articoli deve determinare il percorso più breve e sicuro per evitare collisioni e ridurre i tempi operativi. Senza un'adeguata ottimizzazione, gli agenti AI potrebbero eseguire piani funzionali ma non ottimali, con conseguenti inefficienze. Sono disponibili diversi metodi per ottimizzare il processo decisionale, tra cui:
Ricerca euristica
Gli algoritmi di ricerca euristica aiutano gli agenti a trovare soluzioni ottimali stimando il percorso migliore verso un obiettivo. Questi algoritmi si basano su funzioni euristiche, ovvero stime matematiche di quanto un dato stato sia vicino all'obiettivo desiderato. Le ricerche euristiche sono particolarmente efficaci per gli ambienti strutturati in cui gli agenti devono trovare i rapidamente percorsi ottimali.
Apprendimento per rinforzo
L'apprendimento per rinforzo consente agli agenti di ottimizzare la pianificazione attraverso tentativi ed errori, imparando quali sequenze di azioni portano ai migliori risultati nel tempo. Un agente interagisce con un ambiente, riceve feedback sotto forma di ricompense o penalità e perfeziona le proprie strategie di conseguenza.
Pianificazione probabilistica
In scenari reali, gli agenti AI spesso operano in ambienti incerti in cui i risultati non sono deterministici. I metodi di pianificazione probabilistica tengono conto dell'incertezza valutando molteplici risultati possibili e selezionando le azioni con la massima utilità prevista.
Collaborazione
La pianificazione con un solo agente è una cosa relativamente semplice, ma in un sistema multiagente, gli agenti AI devono lavorare in modo autonomo mentre interagiscono tra loro per raggiungere obiettivi individuali o collettivi.
Il processo di pianificazione per gli agenti AI in un sistema multiagente è più complesso rispetto a un singolo agente perché gli agenti non devono solo pianificare le proprie azioni, ma anche considerare le azioni degli altri agenti e il modo in cui le loro decisioni interagiscono con quelle degli altri.
A seconda dell'architettura agentica, ogni agente nel sistema ha in genere obiettivi individuali propri, che potrebbero comportare il completamento di compiti specifici o la massimizzazione di una funzione di ricompensa. In molti sistemi multiagente, gli agenti devono collaborare per raggiungere obiettivi comuni.
Questi obiettivi possono essere definiti da un sistema sovraordinato o emergere dalle interazioni degli agenti. Gli agenti hanno bisogno di meccanismi per comunicare e allineare i loro obiettivi, soprattutto in scenari cooperativi. Questo può essere realizzato tramite messaggistica esplicita, definizioni di compiti condivisi o coordinamento implicito.
La pianificazione nei sistemi multiagente può essere centralizzata, in cui una singola entità o controller, presumibilmente un agente LLM, genera il piano per l'intero sistema.
Ogni agente riceve istruzioni o piani da questa autorità centrale. In alternativa, può essere decentralizzato, con gli agenti che creano i propri piani ma collaborano per garantirne l'allineamento e il contributo agli obiettivi globali, spesso attraverso comunicazione e negoziazione.
Questo processo decisionale collaborativo migliora l'efficienza, riduce le distorsioni nell'esecuzione dei compiti, aiuta a evitare le allucinazioni attraverso la convalida incrociata e la costruzione del consenso e incoraggia gli agenti a lavorare per un obiettivo comune.