Che cos'è un sistema multiagente?

Autori

Anna Gutowska

AI Engineer, Developer Advocate

IBM

Un sistema multiagente (MAS) è costituito da più agenti di intelligenza artificiale (AI) che lavorano collettivamente per eseguire attività per conto di un utente o di un altro sistema.

Ogni agente all'interno di un MAS ha proprietà individuali, ma tutti gli agenti si comportano in modo collaborativo per portare alle proprietà globali desiderate.1 I sistemi multiagente sono preziosi per completare attività complesse e su larga scala che possono comprendere centinaia, se non migliaia, di agenti.2

Al centro di questa idea ci sono gli agenti di intelligenza artificiale (AI). Un agente AI si riferisce a un sistema o programma in grado di eseguire autonomamente attività per conto di un utente o di un altro sistema, progettando il proprio workflow e utilizzando gli strumenti disponibili. Il fulcro degli agenti AI sono i modelli linguistici di grandi dimensioni (LLM). Questi agenti intelligenti utilizzano le tecniche avanzate di elaborazione del linguaggio naturale degli LLM per comprendere e rispondere agli input degli utenti. Gli agenti affrontano i problemi passo dopo passo e decidono quando ricorrere a strumenti esterni. Ciò che differenzia gli agenti AI dagli LLM tradizionali è l'uso di strumenti e la capacità di progettare un piano d'azione. Gli strumenti a disposizione di un agente possono includere set di dati esterni, ricerche web e application programming interface (API). Analogamente al processo decisionale umano, gli agenti AI possono anche aggiornare la loro memoria quando acquisiscono nuove informazioni. La condivisione di informazioni, l'utilizzo di strumenti e l'apprendimento adattivo consentono agli agenti AI di avere uno scopo più generico rispetto agli LLM tradizionali.

Per maggiori informazioni sui sistemi ad agente singolo, consulta i nostri contenuti approfonditi sugli agenti AI.

Le ultime notizie nel campo della tecnologia, supportate dalle analisi degli esperti

Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e altro con la newsletter Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Sistemi ad agente singolo e sistemi multiagente

I sistemi intelligenti ad agente singolo interagiscono con il loro ambiente per pianificare, chiamare strumenti e produrre risposte in modo autonomo. Gli strumenti messi a disposizione di un agente forniscono informazioni altrimenti non disponibili per l'agente. Come descritto in precedenza, queste informazioni possono essere un database acquisito tramite un'API o un altro agente. Qui c'è una differenza tra sistemi singoli e multiagente. Quando si chiama un altro agente come strumento, quell'agente secondario fa parte degli stimoli ambientali dell'agente originale. Tali informazioni vengono acquisite e non ha luogo alcuna ulteriore cooperazione. Invece, i sistemi multiagente si differenziano per il coinvolgimento di tutti gli agenti all'interno dell'ambiente per la modellizzazione degli obiettivi, della memoria e del piano d'azione gli uni degli altri.4 La comunicazione tra gli agenti può essere diretta o indiretta attraverso l'alterazione dell'ambiente comune.

Ogni entità all'interno di un sistema multiagente è un agente autonomo entro certi limiti. Questa autonomia si manifesta generalmente nella pianificazione, nell'uso degli strumenti e nel ragionamento dell'agente. In un sistema multiagente, gli agenti rimangono autonomi ma cooperano e si coordinano anche all'interno di strutture di agenti.3 Per risolvere problemi complessi, la comunicazione tra agenti e la risoluzione distribuita dei problemi sono fondamentali. Questo tipo di interazione tra agenti può essere descritto come apprendimento per rinforzo multiagente. Le informazioni condivise attraverso questa forma di apprendimento possono includere informazioni istantanee acquisite tramite sensori o azioni. Inoltre, possono essere condivise le esperienze di un agente sotto forma di informazioni episodiche. Questi episodi possono essere sequenze di sensazioni, azioni e politiche apprese. Infine, gli agenti possono condividere le loro esperienze in tempo reale per evitare che altri agenti apprendano ripetutamente le stesse politiche.5

I singoli agenti offrono prestazioni efficaci. Possono creare sottoattività, utilizzare strumenti e imparare attraverso le loro interazioni. Il comportamento collettivo dei sistemi multiagente aumenta il potenziale di precisione, adattabilità e scalabilità. I sistemi multiagente tendono a superare i sistemi ad agente singolo grazie a una maggiore disponibilità di risorse condivise, ottimizzazione e automazione. Anziché far apprendere le stesse politiche a più agenti, è possibile condividere le esperienze apprese per ottimizzare la complessità temporale e l'efficienza.5

Agenti AI

5 tipi di agenti AI: funzioni autonome e applicazioni nel mondo reale

Scopri come l'AI basata sugli obiettivi e sulle utilità si adatta ai workflow e agli ambienti complessi.

Architetture dei sistemi multiagente

Reti centralizzate

I sistemi multiagente possono funzionare con diverse architetture.. Nelle reti centralizzate, un'unità centrale contiene la base di conoscenza globale, collega gli agenti e supervisiona le loro informazioni. Un punto di forza di questa struttura è la facilità di comunicazione tra gli agenti e la conoscenza uniforme. Un punto debole della centralità è la dipendenza dall'unità centrale; se questa si guasta, si guasterà l'intero sistema di agenti.6

Reti decentralizzate

Gli agenti delle reti decentralizzate condividono le informazioni con gli agenti vicini, anziché con una base di conoscenza globale. Alcuni vantaggi delle reti decentralizzate sono la robustezza e la modularità. Il malfunzionamento di un agente non causa il malfunzionamento dell'intero sistema, poiché non esiste un'unità centrale. Una delle sfide degli agenti decentralizzati è coordinare il loro comportamento in modo che possa avvantaggiare gli altri agenti cooperanti.7

Strutture dei sistemi multiagente

Ci sono molti modi per organizzare gli agenti all'interno di un sistema multiagente, tra cui:

Struttura gerarchica

Una struttura gerarchica ha la forma di un albero e contiene agenti con vari livelli di autonomia. All'interno di una semplice struttura gerarchica, un agente può avere l'autorità decisionale. In una struttura gerarchica uniforme, la responsabilità può essere distribuita tra più agenti.8

Struttura olonica

All'interno di questo tipo di architettura, gli agenti sono raggruppati in oloarchie. Un olone è un'entità che non può funzionare senza i suoi componenti. Ad esempio, il corpo umano è un olone perché non può funzionare senza i suoi organi funzionanti.9 Allo stesso modo, nei sistemi olonici multiagente, l'agente principale può avere più sotto-agenti pur sembrando una singola entità.8 Questi sotto-agenti possono anche svolgere ruoli in altri oloni. Queste strutture gerarchiche sono auto-organizzate e create per raggiungere un obiettivo attraverso la collaborazione dei sotto-agenti.

Struttura di coalizione

Le coalizioni sono utili nei casi in cui le prestazioni dei singoli agenti di un gruppo sono insufficienti. In queste situazioni, gli agenti si uniscono temporaneamente per aumentare l'efficienza o le prestazioni. Una volta raggiunte le prestazioni desiderate, le coalizioni vengono sciolte. Può essere difficile mantenere queste coalizioni in ambienti dinamici. I raggruppamenti sono spesso necessari per migliorare le prestazioni.9

Gruppi

I team hanno una struttura simile alle coalizioni. Nei team, gli agenti cooperano per migliorare le prestazioni del gruppo. Gli agenti nei team non lavorano in modo indipendente, a differenza delle coalizioni. Gli agenti nei team dipendono molto di più gli uni dagli altri e la loro struttura è più gerarchica rispetto alle coalizioni.8

Comportamenti dei sistemi multiagente

I comportamenti degli agenti all'interno di un sistema multiagente spesso riflettono comportamenti che si verificano in natura. I seguenti comportamenti degli agenti possono essere applicati sia agli agenti multisoftware che a quelli multirobot.

Flocking

Il comportamento collettivo osservato nei sistemi multiagente può assomigliare a quello degli uccelli, dei pesci e degli esseri umani. In questi sistemi, gli agenti condividono un obiettivo e necessitano di un certo livello di organizzazione per coordinare il loro comportamento. Il flocking, termine che descrive questo fenomeno, implica la sincronizzazione direzionale e la struttura di questi gruppi può essere descritta attraverso le seguenti euristiche:10

  • Separazione: tentativo di evitare la collisione con gli agenti vicini.
  • Allineamento: tentativo di allinearsi alla velocità degli agenti vicini.
  • Coesione: tentativo di rimanere vicini agli altri agenti.

Nel contesto degli agenti software, questo coordinamento è fondamentale per i sistemi multiagente che gestiscono reti di trasporto come i sistemi ferroviari.

Swarming

Il posizionamento spaziale degli agenti in un sistema multi-agente può essere paragonato allo swarming che si verifica in natura. Ad esempio, gli uccelli volano in sincronia adattandosi ai movimenti degli uccelli vicini. Da un punto di vista tecnico, lo swarming è l'auto-organizzazione emergente e l'aggregazione tra agenti software con controllo decentralizzato.11 Un vantaggio dello swarming è che un operatore può essere addestrato a gestire uno sciame (swarm) di agenti. Questo metodo è meno costoso dal punto di vista computazionale e più affidabile rispetto all'addestramento di un operatore per ogni agente.12

Casi d'uso dei sistemi multiagente

I sistemi multiagente possono gestire molte attività complesse reali. Alcuni esempi di domini applicabili includono:

Trasporti

I sistemi multiagente possono essere utilizzati per gestire i sistemi di trasporto. Le qualità dei sistemi multiagente che consentono il coordinamento di sistemi di trasporto complessi sono la comunicazione, la collaborazione, la pianificazione e l'accesso alle informazioni in tempo reale. Esempi di sistemi distribuiti che potrebbero beneficiare dei MAS includono i sistemi ferroviari, la gestione delle flotte di camion e il coordinamento delle navi che fanno scalo negli stessi porti.13

Sanità e salute pubblica

I sistemi multiagente possono essere utilizzati per varie attività specifiche nel campo sanitario. Questi sistemi basati su agenti possono aiutare nella previsione e nella prevenzione delle malattie attraverso l'analisi genetica. Un esempio di possibile applicazione è la ricerca medica sul cancro.14 Inoltre, i sistemi multiagente possono fungere da strumenti per prevenire e simulare la diffusione di un'epidemia. Questa previsione è resa possibile dall'uso di reti neurali basate su modelli epidemiologici e tecniche di machine learning (ML) per gestire set di dati di grandi dimensioni. Questi risultati possono influire sulla sanità e sulle politiche pubbliche.15

Gestione della supply chain

I fattori che influenzano una supply chain sono numerosi: vanno dalla creazione di beni all'acquisto da parte del consumatore. I sistemi multiagente possono utilizzare le loro vaste risorse informative, la loro versatilità e la loro scalabilità per collegare i componenti della gestione della supply chain. Per gestire al meglio questa automazione intelligentegli agenti virtuali dovrebbero negoziare tra loro. Questa negoziazione è importante per gli agenti che collaborano con altri agenti che hanno obiettivi contrastanti.16

Sistemi di difesa

I sistemi multiagente possono aiutare a rafforzare i sistemi di difesa. Le potenziali minacce possono includere sia problemi fisici di sicurezza nazionale che gli attacchi informatici. I sistemi multiagente possono usare i loro strumenti per simulare potenziali attacchi. Un esempio è una simulazione di attacco marittimo. Questo scenario implica la presenza di agenti che lavorano in team per rilevare le interazioni tra le imbarcazioni terroristiche in arrivo e le imbarcazioni di difesa.17 Inoltre, lavorando in team cooperativi, gli agenti possono monitorare diverse aree della rete per rilevare minacce in arrivo come attacchi di flooding di tipo DDoS (Distributed Denial-of-Service).18

Vantaggi dei sistemi multiagente

Ci sono diverse caratteristiche dei sistemi multiagente che offrono dei vantaggi, tra cui:

Flessibilità

I sistemi multiagente possono essere adattati a diversi ambienti aggiungendo, rimuovendo o adattando gli agenti.

Scalabilità

La cooperazione di più agenti consente un pool maggiore di informazioni condivise. Questa collaborazione consente ai sistemi multiagente di risolvere problemi e attività più complessi rispetto ai sistemi ad agente singolo.

Specializzazione di dominio

I sistemi ad agente singolo richiedono che un agente esegua attività in vari domini, mentre ogni agente in un sistema multiagente può avere competenze di dominio specifiche.

Migliori prestazioni

I framework multiagente tendono a superare gli agenti singoli.19 Questo perché più piani d'azione sono disponibili per un agente, più processi di apprendimento e riflessione si verificano. Un agente AI che incorpora la conoscenza e il feedback di altri agenti AI specializzati in aree correlate può essere utile per la sintesi delle informazioni. Questa collaborazione backend tra agenti AI e la capacità di colmare le lacune informative sono uniche per i framework agenti, il che li rende uno strumento potente e un significativo progresso nell'intelligenza artificiale.

Sfide dei sistemi multiagente

Ci sono diverse sfide nella progettazione e implementazione di sistemi multiagente, tra cui:

Malfunzionamento degli agenti

I sistemi multiagente basati sugli stessi foundation model possono presentare insidie comuni. Tali debolezze potrebbero causare un malfunzionamento a livello di sistema di tutti gli agenti coinvolti o renderli vulnerabili ad attacchi dannosi.20 Ciò evidenzia l'importanza della governance dei dati nella creazione dei foundation model e la necessità di processi di addestramento e test approfonditi.

Complessità di coordinamento

Una delle maggiori sfide nella creazione di sistemi multiagente è lo sviluppo di agenti in grado di coordinarsi e negoziare tra loro. Questa cooperazione è essenziale per un sistema multiagente funzionante.

Comportamento imprevedibile

Gli agenti che operano in modo autonomo e indipendente in reti decentralizzate possono avere comportamenti conflittuali o imprevedibili. In queste condizioni, il rilevamento e la gestione dei problemi all'interno di un sistema più ampio potrebbero essere difficili.

Soluzioni correlate
Sviluppo di agenti AI IBM 

Consenti agli sviluppatori di creare, distribuire e monitorare agenti AI con lo studio IBM watsonx.ai.

Esplora watsonx.ai
Agenti e assistenti AI di IBM

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. 

Scopri gli agenti AI
IBM Granite

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.

Esplora Granite
Prossimi passi

Automatizza i tuoi workflow complessi e 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. 

Esplora lo sviluppo di agenti watsonx.ai Scopri watsonx Orchestrate