ai-agents-for-beginners

Multi-agent Design

(Clicca sull’immagine sopra per vedere il video di questa lezione)

Pattern di design multi-agente

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.

Introduzione

In questa lezione, cerchiamo di rispondere alle seguenti domande:

Obiettivi didattici

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.

Scenari in cui i multi-agenti sono applicabili

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:

Vantaggi dell’uso di multi-agenti rispetto a un singolo agente

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.

Blocchi di costruzione per implementare il pattern di design multi-agente

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:

Visibilità nelle interazioni multi-agente

È 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.

Pattern multi-agente

Esploriamo alcuni pattern concreti che possiamo usare per creare app multi-agente. Ecco alcuni pattern interessanti da considerare:

Chat di gruppo

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.

Group chat

Passaggio di consegne

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.

Hand off

Filtraggio collaborativo

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.

Recommendation

Scenario: Processo di rimborso

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.

Compito

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.

Soluzione

Soluzione

Verifiche di conoscenza

Domanda 1

Quale scenario è il più adatto per un sistema multi-agente?

Domanda 2

Quando un singolo agente è solitamente la scelta migliore?

Soluzione quiz

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.

Hai altre domande sul pattern di progettazione Multi-Agente?

Unisciti al Microsoft Foundry Discord per incontrare altri studenti, partecipare alle ore d’ufficio e ricevere risposte alle tue domande sugli Agenti AI.

Risorse aggiuntive

Lezione precedente

Pianificazione della progettazione

Lezione successiva

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.