L'evoluzione dai modelli linguistici di grandi dimensioni (LLM) all'integrazione di agenti di intelligenza artificiale (agenti AI) ha cambiato il panorama dell'intelligenza artificiale (AI). Ora, i sistemi multiagente (MAS) stanno inaugurando un'ondata completamente nuova di prodotti e servizi di sviluppo software nativi per l'AI.
Le applicazioni LLM tradizionali basate sull'AI generativa (gen AI) erano principalmente focalizzate sull'aumento della produttività, sulla risposta alle query o sulla sintesi delle informazioni. Ma con l'introduzione degli agenti e la funzionalità di comunicazione con gli agenti AI, abbiamo acquisito il potere di creare workflow autonomi che hanno ridotto significativamente il lavoro manuale coinvolto nella ricerca, nel supporto, nell'analisi e nelle operazioni. Ora, i sistemi multiagente gestiscono attività complesse del mondo reale come il triage del servizio clienti, l'analisi finanziaria, la risoluzione dei problemi tecnici e il monitoraggio della conformità, e sono diventati scalabili, autonomi e migliorabili in modo continuo.
Le azioni coordinate di diversi agenti indipendenti in un sistema distribuito, ciascuno con conoscenze e capacità decisionali locali, sono denominate collaborazione multiagente.
Nella collaborazione multiagente, gli agenti cooperano utilizzando protocolli di comunicazione consolidati per scambiarsi informazioni sullo stato, assegnare responsabilità e coordinare le azioni. Solitamente la cooperazione include metodi per la scomposizione del lavoro, la distribuzione delle risorse, la risoluzione dei conflitti e la pianificazione cooperativa. Può essere esplicita tramite il passaggio di messaggi o implicita tramite modifiche all'ambiente comune. Questi sistemi danno priorità alla scalabilità, alla tolleranza ai guasti e al comportamento cooperativo emergente nel loro design pensato per funzionare senza un controllo centralizzato. Consideriamo un'analogia: supponiamo che una flotta di droni stia cercando sopravvissuti o informazioni sul luogo di un disastro. Ogni drone segue il proprio percorso, evita gli altri droni, segnala ciò che trova e cambia direzione in caso di eventi imprevisti. Pensa a questo scenario come a una collaborazione multiagente: ogni drone opera da solo e collettivamente, in un certo senso come un assistente. Senza un leader singolo che stia a gestirli, lavorano insieme, si coordinano tra loro e condividono ciò che vedono. Questo approccio è il modo in cui una flotta autonoma di agenti lavora in modo collaborativo, intelligente e rapido per risolvere problemi complessi.
Questa architettura collaborativa sta ridefinendo l'architettura del prodotto, dando origine a vari casi d'uso che vengono eseguiti quasi in qualsiasi momento, si adattano alle richieste crescenti, e apprendono e si ottimizzano continuamente senza interventi manuali. Il processo di automazione agentica è reso possibile da agenti specializzati con funzionalità progettate per gestire attività specifiche con precisione e autonomia. Gli agenti AI specializzati collaborano in tempo reale per fornire servizi intelligenti, personalizzati ed end-to-end in chatbot (utilizzando il framework rag), un nuovo tipo di applicazione multiagente.1
La cooperazione tra più agenti è un requisito importante nella progettazione e distribuzione di un sistema intelligente, soprattutto in ambienti altamente complessi, distribuiti e con vincoli di privacy. La collaborazione multiagente offre numerosi vantaggi architettonici, computazionali e operativi rispetto ad altri tipi di architettura agentica, in particolare ai sistemi ad agente singolo. Ciò è particolarmente vero nei sistemi complessi, distribuiti e in tempo reale, in cui sono intrinseci più livelli distinti di privacy. I sistemi multiagente (MAS) consentono agli agenti decentralizzati e autonomi di lavorare insieme per raggiungere obiettivi collettivi o interdipendenti, contribuendo a superare alcune delle limitazioni strutturali dei sistemi vincolati ad agente singolo. Ad esempio, i sistemi monolitici ad agente singolo che si scalano solo in misura limitata o hanno limiti di latenza e generalità funzionale. Ogni agente mantiene un livello di autonomia, completa i calcoli locali, collabora con altri agenti utilizzando protocolli di comunicazione per condividere conoscenze parziali sul proprio ambiente, collaborare al processo decisionale e coordinare una strategia di controllo distribuita. La capacità di mantenere la scalabilità modulare consente una perfetta integrazione di nuovi agenti o sottosistemi fornendo al contempo un comportamento adattivo in ambienti dinamici in tempo reale. Ad esempio, in un sistema sanitario intelligente, un sottoinsieme di agenti o tutti gli agenti potrebbero avere assegnazioni specifiche del dominio, come il monitoraggio dei segnali fisiologici, l'identificazione delle anomalie, la raccomandazione della terapia e la gestione dei dati identificabili dei pazienti in conformità con le politiche. La loro collaborazione consente inoltre continuità, precisione e tolleranza ai guasti durante l'intero processo. La capacità di normalizzare i calcoli per più agenti aumenta l'efficienza computazionale condividendo la parametrizzazione tra gli agenti ed elimina la dipendenza dai calcoli centralizzati.2
Per comprendere come funzionano i sistemi multiagente, analizziamo il processo cooperativo in una sequenza di passaggi ben coordinati, ognuno dei quali enfatizza il modo in cui gli individui indipendenti interagiscono, assegnano e lavorano insieme per portare a termine attività impegnative.
Gli agenti collaborano e si coordinano attraverso canali strutturati in cui ogni agente è un componente intelligente con cinque elementi chiave.
a. Il foundation model (𝑚): questo elemento è il principale motore di ragionamento dell'agente, che consente la generazione e la comprensione del linguaggio naturale.
b. Obiettivo (o): l'obiettivo (𝑜) definisce lo scopo o l'attività su cui si concentra l'agente.
c. Ambiente (𝑒): questo elemento indica la situazione in cui opera l'agente. Questo potrebbe coinvolgere altri agenti, strumenti, una memoria comune o delle application programming interface (API).
d. Le informazioni che un agente riceve dall'ambiente circostante o da altri agenti sono note come percezione di input (𝑥).
e. Output o azione (𝑦): la condotta o la risposta dell'agente alla luce del suo obiettivo e del suo ragionamento attuali.
La collaborazione si verifica quando diversi agenti AI collaborano in team per svolgere un'attività. Durante la fase di collaborazione, il sistema riceve un'attività dall'utente o dall'ambiente. Il sistema decide quali agenti sono necessari e quali ruoli svolgeranno.
Il sistema divide i problemi complessi in parti gestibili. Ciò si ottiene con un pianificatore o con il modello linguistico con funzionalità di ragionamento. La comunicazione avviene tramite memoria condivisa o output intermedi. Le attività assegnate vengono eseguiti dagli agenti in modo simultaneo, sequenziale o dinamico.
I risultati di vari agenti vengono raccolti per creare una risposta significativa. L'agente di orchestrazione o l'agente finale avvia un'azione o fornisce all'utente la risposta completa.3
Gli agenti collaborano con altri agenti utilizzando varie strategie che determinano come interagiranno, si coordineranno e contribuiranno agli obiettivi condivisi. Diverse strategie di collaborazione includono:
- Collaborazione basata su regole:
In questo tipo di collaborazione, le interazioni tra gli agenti sono strettamente controllate da una serie specifica di regole o linee guida. Queste regole dettano il modo in cui gli agenti agiscono, comunicano e fanno scelte in modo prevedibile. L'ambito dell'apprendimento o dell'adattamento è limitato poiché gli agenti si attengono a una politica prestabilita basata su determinate condizioni o input. Questo metodo viene spesso eseguito utilizzando istruzioni con scenari ipotetici, macchine di stato o framework basati sulla logica. Questa collaborazione funziona meglio per le attività altamente strutturate o prevedibili, in cui mantenere la coerenza è fondamentale.
Pro e contro: questo approccio offre grande efficienza ed equità, ma ha difficoltà con l'adattabilità e la scalabilità, soprattutto in situazioni complesse o in rapida evoluzione.
- Collaborazione basata sui ruoli:
In questo approccio, agli agenti vengono assegnati ruoli o responsabilità specifici in linea con un chiaro framework organizzativo o di comunicazione. Ogni ruolo ha una propria serie di funzioni, autorizzazioni e obiettivi che sono spesso collegati a varie parti dell'obiettivo generale del sistema. Sebbene gli agenti lavorino in modo semi-indipendente nell'ambito dei ruoli designati, svolgono anche un ruolo nel quadro generale, coordinandosi e condividendo le informazioni tra loro. Questo concetto trae ispirazione dalle dinamiche dei team umani, in cui gli individui assumono ruoli diversi come quelli di leader, osservatore o esecutore. È particolarmente utile per suddividere le attività, progettare sistemi modulari e consentire agli agenti con competenze diversificate di collaborare in modo efficace.
Pro e contro: consente una collaborazione modulare e guidata da esperti, ma potrebbe affrontare sfide legate alla flessibilità e alla dipendenza dall'integrazione degli agenti.
- Collaborazione basata su modelli:
In questo tipo di collaborazione, gli agenti creano modelli interni per comprendere il proprio stato, l'ambiente che li circonda, gli altri agenti e l'obiettivo comune per cui stanno lavorando. Questi modelli sono in genere probabilistici o appresi, il che aiuta gli agenti a pianificare le proprie azioni anche quando le cose sono incerte. Le loro interazioni si basano sull'aggiornamento delle convinzioni, sulla formulazione di inferenze e sulla previsione dei risultati, il che consente alle loro strategie di essere flessibili e consapevoli del contesto. Alcuni dei metodi comuni che utilizzano includono il ragionamento bayesiano, i processi decisionali di Markov (MDP) e vari modelli di machine learning. Questo approccio è particolarmente utile nelle situazioni in cui gli agenti devono pensare a fattori sconosciuti, adattarsi ai cambiamenti o lavorare insieme senza avere una visibilità completa.
Pro e contro: questo approccio offre una grande flessibilità e solide funzionalità di presa decisionale, ma comporta un livello di complessità significativo e un costo di calcolo elevato.4
Sono in fase di sviluppo diversi framework noti, ognuno dei quali utilizza metodi distinti per aiutare gli agenti a collaborare efficacemente nelle applicazioni del mondo reale. Esploriamo i framework di uso comune:
1. Framework IBM Bee Agent: è un'applicazione open source che facilita lo sviluppo e l'amministrazione di processi scalabili multiagente. Pone le basi per un'applicazione in cui più agenti AI collaborano per svolgere attività impegnative utilizzando LLM massivi come IBM Granite, gpt-4 e Llama 3. Con componenti pronti all'uso per agenti, strumenti, gestione della memoria e monitoraggio, il framework vanta un design modulare. La serializzazione degli stati degli agenti è una delle sue caratteristiche più degne di nota. Questa capacità consente di interrompere e riprendere procedure complesse senza cancellare alcun dato. L'enfasi posta sul controllo a livello di produzione, sull'estensibilità e sulla modularità consente la creazione di sistemi multiagente sofisticati per un'ampia gamma di applicazioni, e si pianificano ulteriori progressi nell'orchestrazione multiagente.
2. Agenti LangChain: LangChain è un framework robusto per la creazione di applicazioni basate su modelli linguistici che enfatizzano una forte architettura basata su agenti. Questa opzione significa che gli agenti possono percepire l'ambiente circostante e utilizzare i molti strumenti disponibili per raccogliere informazioni, interpretarle e agire. All'interno di LangChain stesso, gli sviluppatori hanno accesso a molti strumenti e integrazioni che semplificano l'ingegnerizzazione degli agenti per eseguire ragionamenti complessi, processi decisionali dinamici e attività. LangChain consente allo sviluppatore di sfruttare le più alte funzionalità dei modelli linguistici di grandi dimensioni (LLM) nello sviluppo di sistemi intelligenti per eseguire attività sofisticate come la risposta contestuale alle domande, i workflow a più fasi e la generazione in linguaggio naturale.
3. Framework OpenAI Swarm: questa struttura presenta un nuovo modo di coordinare più agenti in termini di routine e passaggi. Invece di avere un agente che agisce in modo indipendente, ogni agente può essere visto come un'unità specializzata che lavora con strumenti personalizzati e indicazioni personalizzate. Il trasferimento di un'attività o conversazione esistente da un agente all'altro consente un'esperienza utente fluida in cui ogni agente è specializzato per un ruolo specifico. Questo approccio aumenta in ultima analisi l'efficienza complessiva, la modularità e la reattività del sistema nel suo complesso. Il termine Swarm enfatizza la coordinazione leggera e l'esecuzione efficace di un compito, che ne consente la distribuzione su scala più ampia in attività del mondo reale.5
Watsonx Orchestrate semplifica l'attivazione della collaborazione multiagente utilizzando una raccolta di componenti interconnessi che collaborano per orchestrare workflow basati sull'AI. Le competenze sono agenti indipendenti che eseguono attività specifiche, come l'invio di email o l'interrogazione di dati; sono descritte e registrate in un registro delle competenze che ne delinea le funzionalità e i metadati. Quando un utente invia una richiesta, un Intent Parser utilizza l'elaborazione del linguaggio naturale (NLP) per leggere l'input dell'utente e metterlo in relazione con le competenze.
Il Flow Orchestrator fornisce la logica e il flusso di esecuzione, inclusi il sequenziamento delle attività, la ramificazione, gli errori e i nuovi tentativi per garantire che gli agenti vengano eseguiti nell'ordine richiesto e che i passaggi non riusciti possano essere ritentati. L'agente di orchestrazione del flusso consente l'esecuzione simultanea degli agenti quando necessario. Lo Shared Context and il Memory Store forniscono uno spazio comune per memorizzare dati, output e decisioni in un unico spazio, consentendo agli agenti di essere consapevoli l'uno dell'altro e di mantenere la continuità durante il workflow. L'assistente LLM utilizza i modelli linguistici di grandi dimensioni per aiutare con il ragionamento, orientarsi in un contesto in evoluzione e colmare le lacune di conoscenza durante la collaborazione.
L'interfaccia umana consente all'utente di vedere il flusso e gestire il workflow agentico, se desidera essere coinvolto. I componenti possono supportare la collaborazione multiagente per contribuire a garantire che watsonx Orchestrate possa gestire in modo indipendente i workflow complessi e multiagente, consentendo al contempo a un operatore umano di intervenire.6
Intelligenza collettiva emergente: con gli agenti autonomi che lavorano insieme entro un framework ben definito con guardrail per garantire l'allineamento, la sicurezza e la pertinenza delle attività, iniziano a emergere comportamenti intelligenti, che superano le capacità individuali di ogni singolo agente. Precisione, pertinenza, efficienza, spiegabilità e coerenza complessiva del sistema sono alcune delle metriche multiformi che possono essere utilizzate per valutare e migliorare continuamente l'efficacia di questi sistemi.
L'intelligenza collettiva offre a questi sistemi la capacità di risolvere problemi complessi e multidimensionali utilizzando il ragionamento distribuito e la scomposizione delle attività che si traducono workflow di automazione, processo decisionale e orchestrazione a più fasi.
Consenti agli sviluppatori di creare, distribuire e monitorare agenti AI con lo studio IBM watsonx.ai.
Migliora la produttività con uno dei set di funzionalità più completi del settore che aiuta le aziende a creare, personalizzare e gestire agenti e assistenti AI.
Ottieni un risparmio sui costi di oltre il 90% con i modelli più piccoli e aperti di Granite, progettati per l'efficienza degli sviluppatori. Questi modelli pensati per le imprese offrono prestazioni eccellenti rispetto ai benchmark di sicurezza e in un'ampia gamma di attività aziendali, dalla cybersecurity alla RAG.
1 Tran, K.-T., Dao, D., Nguyen, M.-D et.al (10 gennaio 2025). Multi-Agent Collaboration Mechanisms: A Survey of LLMs. arXiv. https://arxiv.org/abs/2501.06322
2 Han, S., Zhang, Q., Yao, Y., Jin, W., & Xu, Z. (2024). LLM Multi-Agent Systems: Challenges and Open Problems. arXiv. https://arxiv.org/abs/2402.03578
3 Jennings, N. R., & Wooldridge, M. (1996). Intelligent agents: Theory and practice. The Knowledge Engineering Review, 10(2), 115–152. https://www.cambridge.org/core/journals/knowledge-engineering-review/article/abs/intelligent-agents-theory-and-practice/CF2A6AAEEA1DBD486EF019F6217F1597
4 Wang, Jialin, and Zhihua Duan, “Agent AI with LangGraph: A Modular Framework for Enhancing Machine Translation Using Large Language Models.” CoRR, abs/2412.03801, 5 dicembre 2024. arXiv:2412.03801
5 Framework for evaluating LLM-based agents, https://github.com/vladfeigin/llm-agents-evaluation
6 Gomez-Sanz, J. J., & Pavón, J. (2004). Methodologies for developing multi-agent systems. Journal of Universal Computer Science, 10(4), 404–426.