ai-agents-for-beginners

Multi-Agent Design

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

Modelli di progettazione multi-agente

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.

Introduzione

In questa lezione, cerchiamo di rispondere alle seguenti domande:

Obiettivi di apprendimento

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.

Scenari in cui i Multi-Agenti sono Applicabili

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:

Vantaggi dell’Utilizzo dei Multi-Agenti rispetto a un Agente Singolo

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.

Componenti Fondamentali per Implementare il Modello di Progettazione Multi-Agente

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:

Visibilità nelle Interazioni Multi-Agente

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

Modelli Multi-Agente

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

Chat di gruppo

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.

Group chat

Passaggio di consegna

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.

Hand off

Filtraggio collaborativo

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.

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

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

Soluzione

Solution

Verifiche di conoscenza

Domanda: Quando dovresti considerare l’uso di multi-agenti?

Solution quiz

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.

Hai altre domande sul modello progettuale Multi-Agente?

Unisciti al Microsoft Foundry Discord per incontrare altri studenti, partecipare a ore di ricevimento e ottenere risposte alle tue domande sugli Agenti AI.

Risorse aggiuntive

Lezione precedente

Planning Design

Lezione successiva

Metacognition in AI Agents


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.