(Clicca sull’immagine sopra per vedere il video di questa lezione)
Appena inizi a lavorare su un progetto che coinvolge più agenti, dovrai considerare il pattern di design 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 pattern di design che permette a più agenti di lavorare insieme per raggiungere un obiettivo comune.
Questo pattern è ampiamente usato in vari campi, tra cui robotica, sistemi autonomi e calcolo distribuito.
Quali scenari sono adatti per l’uso dei multi-agenti? La risposta è che ci sono molti scenari in cui impiegare più agenti è vantaggioso, specialmente nei casi seguenti:
Un sistema con un singolo agente può funzionare bene per compiti semplici, ma per quelli più complessi l’uso di più agenti può fornire vari vantaggi:
Facciamo un esempio: prenotiamo un viaggio per un utente. Un sistema con un solo agente dovrebbe gestire tutti gli aspetti della prenotazione del viaggio, dalla ricerca dei voli alla prenotazione di hotel e auto a noleggio. Per farlo, l’agente dovrebbe avere strumenti per gestire tutti questi compiti, portando a un sistema complesso e monolitico, difficile da mantenere e scalare. Un sistema multi-agente, invece, potrebbe avere diversi agenti specializzati nella ricerca di voli, prenotazione di hotel e auto a noleggio. Questo renderebbe il sistema più modulare, più facile da mantenere e scalabile.
Confronta questo con un’agenzia di viaggi gestita come un negozio di quartiere rispetto a una gestita come una catena. Il negozio di quartiere avrebbe un singolo agente che gestisce tutti gli aspetti della prenotazione, mentre la catena avrebbe diversi agenti che si occupano di aspetti diversi della prenotazione.
Prima di poter implementare il pattern multi-agente, devi comprendere i blocchi di costruzione che compongono il pattern.
Rendi concreto questo concetto tornando all’esempio della prenotazione di un viaggio per un utente. In questo caso, i blocchi di costruzione includerebbero:
È importante avere visibilità su come i molteplici agenti interagiscono tra loro. Questa visibilità è essenziale per il debug, l’ottimizzazione e per assicurare l’efficacia complessiva del sistema. Per ottenere questo, devi avere strumenti e tecniche per tracciare le attività e le interazioni degli agenti. Potrebbe essere sotto forma di strumenti di logging e monitoraggio, strumenti di visualizzazione e metriche di performance.
Per esempio, quando si prenota un viaggio per un utente, potresti avere una dashboard che mostra lo stato di ciascun agente, le preferenze e i vincoli dell’utente e le interazioni tra agenti. Questa dashboard potrebbe mostrare le date del viaggio dell’utente, i voli raccomandati dall’agente voli, gli hotel consigliati dall’agente hotel e le auto a noleggio raccomandate dall’agente auto. Ciò ti darebbe una chiara visione di come gli agenti stanno interagendo e se le preferenze e i vincoli dell’utente vengono rispettati.
Esaminiamo ognuno di questi aspetti più in dettaglio.
Strumenti di logging e monitoraggio: Vuoi che ogni azione presa da un agente venga registrata. Una voce di log potrebbe contenere informazioni sull’agente che ha compiuto l’azione, l’azione stessa, il momento in cui è stata fatta e il risultato. Queste informazioni possono essere usate 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 grafo che mostra il flusso di informazioni tra gli agenti. Questo può aiutarti a individuare colli di bottiglia, inefficienze e altri problemi nel sistema.
Metriche di performance: Le metriche di performance possono aiutarti a monitorare l’efficacia del sistema multi-agente. Per esempio, potresti tracciare il tempo impiegato per completare un compito, il numero di compiti completati nell’unità di tempo e l’accuratezza delle raccomandazioni fornite dagli agenti. Queste informazioni possono aiutarti a identificare aree di miglioramento e ottimizzare il sistema.
Esploriamo alcuni pattern concreti che possiamo usare per creare app multi-agente. Ecco alcuni pattern interessanti da considerare:
Questo pattern è utile quando vuoi creare un’applicazione di chat di gruppo dove più agenti possono comunicare tra loro. Gli usi tipici includono collaborazione in team, supporto clienti e social networking.
In questo pattern, 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 e rispondere ai messaggi di altri agenti.
Questo pattern può essere implementato usando un’architettura centralizzata dove tutti i messaggi passano attraverso un server centrale, oppure un’architettura decentralizzata dove i messaggi sono scambiati direttamente.

Questo pattern è utile quando vuoi creare un’applicazione in cui più agenti possono passarsi compiti l’un l’altro.
Gli usi tipici includono supporto clienti, gestione di compiti e automazione di workflow.
In questo pattern, ogni agente rappresenta un compito o una fase in un workflow, e gli agenti possono passarsi compiti sulla base di regole predefinite.

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

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 in agenti specifici per questo processo e agenti generali che possono essere usati in altri processi.
Agenti specifici per il processo di rimborso:
Ecco alcuni agenti che potrebbero essere coinvolti nel processo di rimborso:
Agenti generali:
Questi agenti possono essere usati da altre parti del tuo business.
Ci sono molti agenti elencati precedentemente, sia per il processo specifico di rimborso che per gli agenti generali che possono essere usati in altre parti del tuo business. Speriamo che questo ti dia un’idea su come 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 usati in altre parti del tuo business.
Rifletti prima di leggere la seguente soluzione, potresti aver bisogno di più agenti di quanto pensi.
SUGGERIMENTO: Pensa alle diverse fasi del processo di assistenza clienti e considera anche gli agenti necessari per qualsiasi sistema.
Quale scenario è il più adatto per un sistema multi-agente?
Quando un singolo agente è solitamente la scelta migliore?
In questa lezione, abbiamo esaminato il pattern di progettazione multi-agente, inclusi gli scenari in cui i multi-agenti sono applicabili, i vantaggi di usare più agenti rispetto a un singolo agente, i blocchi costitutivi per implementare il pattern multi-agente e come avere visibilità su come i molteplici agenti interagiscono tra di loro.
Unisciti al Microsoft Foundry Discord per incontrare altri studenti, partecipare alle ore d’ufficio e ricevere risposte alle tue domande sugli Agenti AI.
Pianificazione della progettazione
Metacognizione negli agenti AI
Disclaimer: Questo documento è stato tradotto utilizzando il servizio di traduzione AI Co-op Translator. Sebbene ci impegniamo per garantire la precisione, si prega di notare che le traduzioni automatizzate possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un essere umano. Non siamo responsabili per eventuali malintesi o interpretazioni errate derivanti dall’uso di questa traduzione.