(Clicca sull’immagine sopra per vedere il video di questa lezione)
Non appena inizi a lavorare su un progetto che coinvolge più agenti, dovrai considerare il modello di progettazione multi-agente. Tuttavia, potrebbe non essere immediatamente chiaro quando passare ai multi-agenti e quali sono i vantaggi.
In questa lezione, cerchiamo di rispondere alle seguenti domande:
Dopo questa lezione, dovresti essere in grado di:
Qual è il quadro generale?
I multi-agenti sono un modello di progettazione che consente a più agenti di lavorare insieme per raggiungere un obiettivo comune.
Questo modello è ampiamente utilizzato in vari campi, tra cui robotica, sistemi autonomi e calcolo distribuito.
Quali scenari sono un buon caso d’uso per impiegare multi-agenti? La risposta è che ci sono molti scenari in cui l’impiego di più agenti è vantaggioso, soprattutto nei seguenti casi:
Un sistema con un singolo agente potrebbe funzionare bene per compiti semplici, ma per compiti più complessi, l’uso di più agenti può offrire diversi vantaggi:
Facciamo un esempio: organizziamo un viaggio per un utente. Un sistema con un singolo agente dovrebbe gestire tutti gli aspetti del processo di prenotazione del viaggio, dalla ricerca dei voli alla prenotazione di hotel e auto a noleggio. Per realizzare ciò con un singolo agente, l’agente avrebbe bisogno di strumenti per gestire tutti questi compiti. Questo potrebbe portare a un sistema complesso e monolitico, difficile da mantenere e scalare. Un sistema multi-agente, invece, potrebbe avere agenti diversi specializzati nella ricerca di voli, nella prenotazione di hotel e auto a noleggio. Questo renderebbe il sistema più modulare, più facile da mantenere e scalabile.
Confronta questo con un’agenzia viaggi gestita come un negozio a conduzione familiare rispetto a un’agenzia viaggi gestita come una franchigia. Il negozio a conduzione familiare avrebbe un singolo agente che gestisce tutti gli aspetti del processo di prenotazione del viaggio, mentre la franchigia avrebbe agenti diversi che gestiscono aspetti diversi del processo di prenotazione.
Prima di poter implementare il modello di progettazione multi-agente, devi comprendere i componenti fondamentali che compongono il modello.
Rendiamo questo più concreto guardando di nuovo all’esempio della prenotazione di un viaggio per un utente. In questo caso, i componenti fondamentali includerebbero:
È importante che tu abbia visibilità su come i molteplici agenti stanno interagendo tra loro. Questa visibilità è essenziale per il debug, l’ottimizzazione e per assicurare l’efficacia complessiva del sistema. Per ottenerla, devi disporre di strumenti e tecniche per tracciare le attività e le interazioni degli agenti. Questo può avvenire tramite strumenti di logging e monitoraggio, strumenti di visualizzazione e metriche di prestazione.
Ad esempio, nel caso della prenotazione di un viaggio per un utente, potresti avere una dashboard che mostra lo stato di ogni agente, le preferenze e i vincoli dell’utente, e le interazioni tra gli agenti. Questa dashboard potrebbe mostrare le date di viaggio dell’utente, i voli raccomandati dall’agente voli, gli hotel raccomandati dall’agente hotel e le auto a noleggio raccomandate dall’agente auto. Questo ti darebbe una visione chiara di come gli agenti interagiscono fra loro e se le preferenze e i vincoli dell’utente sono soddisfatti.
Esaminiamo ciascuno di questi aspetti più in dettaglio.
Strumenti di Logging e Monitoraggio: Vuoi che venga registrata una traccia per ogni azione intrapresa da un agente. Una voce di log potrebbe memorizzare informazioni sull’agente che ha compiuto l’azione, l’azione effettuata, l’orario in cui è stata svolta e l’esito dell’azione. Queste informazioni possono essere utilizzate per il debug, l’ottimizzazione e altro.
Strumenti di Visualizzazione: Gli strumenti di visualizzazione possono aiutarti a vedere le interazioni tra agenti in modo più intuitivo. Ad esempio, potresti avere un grafico che mostra il flusso di informazioni tra gli agenti. Questo potrebbe aiutarti a identificare colli di bottiglia, inefficienze e altri problemi nel sistema.
Metriche di Prestazione: Le metriche di prestazione possono aiutarti a monitorare l’efficacia del sistema multi-agente. Ad esempio, potresti monitorare il tempo necessario per completare un compito, il numero di compiti completati per unità di tempo e l’accuratezza delle raccomandazioni fatte dagli agenti. Queste informazioni possono aiutarti a identificare aree di miglioramento e ottimizzare il sistema.
Esploriamo alcuni modelli concreti che possiamo usare per creare applicazioni multi-agente. Ecco alcuni modelli interessanti da considerare:
Questo modello è utile quando vuoi creare un’applicazione di chat di gruppo in cui più agenti possono comunicare tra loro. Gli usi tipici di questo modello includono la collaborazione di team, il supporto clienti e i social network.
In questo modello, ogni agente rappresenta un utente nella chat di gruppo, e i messaggi vengono scambiati tra agenti usando un protocollo di messaggistica. Gli agenti possono inviare messaggi alla chat di gruppo, ricevere messaggi dalla chat di gruppo e rispondere ai messaggi degli altri agenti.
Questo modello può essere implementato usando un’architettura centralizzata in cui tutti i messaggi passano attraverso un server centrale, oppure un’architettura decentralizzata in cui i messaggi vengono scambiati direttamente.

Questo modello è utile quando vuoi creare un’applicazione in cui più agenti possono passarsi compiti fra loro.
Gli usi tipici di questo modello includono supporto clienti, gestione delle attività e automazione dei flussi di lavoro.
In questo modello, ogni agente rappresenta un compito o un passo in un flusso di lavoro, e gli agenti possono passarsi i compiti ad altri agenti basandosi su regole predefinite.

Questo modello è utile quando vuoi creare un’applicazione in cui più agenti possono collaborare per fare raccomandazioni agli utenti.
Il motivo per cui vorresti che più agenti collaborino è che ogni agente può avere competenze diverse e può contribuire al processo di raccomandazione in modi differenti.
Prendiamo un esempio in cui un utente desidera una raccomandazione sul miglior titolo azionario da acquistare sul mercato azionario.

Considera uno scenario in cui un cliente cerca di ottenere un rimborso per un prodotto; possono essere coinvolti diversi agenti in questo processo, ma dividiamoli tra agenti specifici per questo processo e agenti generali che possono essere usati in altri processi.
Agenti specifici per il processo di rimborso:
Seguono alcuni agenti che potrebbero essere coinvolti nel processo di rimborso:
Agenti generali:
Questi agenti possono essere utilizzati da altre parti della tua attività.
Ci sono molti agenti elencati precedentemente, sia per il processo specifico di rimborso, sia per gli agenti generali che possono essere usati in altre parti della tua attività. Speriamo che questo ti dia un’idea su come puoi decidere quali agenti utilizzare nel tuo sistema multi-agente.
Progetta un sistema multi-agente per un processo di supporto clienti. Identifica gli agenti coinvolti nel processo, i loro ruoli e responsabilità, e come interagiscono tra loro. Considera sia agenti specifici per il processo di supporto clienti sia agenti generali che possono essere utilizzati in altre parti della tua attività.
Rifletti prima di leggere la seguente soluzione, potresti aver bisogno di più agenti di quanto pensi.
SUGGERIMENTO: Rifletti sulle diverse fasi del processo di supporto clienti e considera anche gli agenti necessari per qualsiasi sistema.
Domanda: Quando dovresti considerare l’uso di multi-agenti?
In questa lezione, abbiamo esaminato il modello progettuale multi-agente, inclusi gli scenari in cui i multi-agenti sono applicabili, i vantaggi dell’utilizzo di multi-agenti rispetto a un singolo agente, i componenti fondamentali per implementare il modello progettuale multi-agente e come avere visibilità su come i diversi agenti interagiscono tra di loro.
Unisciti al Microsoft Foundry Discord per incontrare altri studenti, partecipare a ore di ricevimento e ottenere risposte alle tue domande sugli Agenti AI.
Dichiarazione di Non Responsabilità:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica Co-op Translator. Pur impegnandoci per garantire accuratezza, si prega di considerare che le traduzioni automatiche possono contenere errori o inesattezze. Il documento originale nella sua lingua originale deve essere considerato la fonte autorevole. Per informazioni critiche si raccomanda una traduzione professionale effettuata da un umano. Non ci assumiamo alcuna responsabilità per eventuali malintesi o interpretazioni errate derivanti dall’uso di questa traduzione.