ai-agents-for-beginners

Progettazione Multi-Agente

(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 siano i vantaggi.

Introduzione

In questa lezione cercheremo 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 sono quindi gli scenari in cui è utile utilizzare i multi-agenti? La risposta è che ci sono molti scenari in cui impiegare più agenti è vantaggioso, soprattutto nei seguenti casi:

Vantaggi di utilizzare multi-agenti rispetto a un singolo agente

Un sistema con un singolo agente potrebbe funzionare bene per compiti semplici, ma per compiti più complessi, utilizzare più agenti può offrire diversi vantaggi:

Prendiamo un esempio: prenotare 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 ottenere questo con un singolo agente, l’agente dovrebbe avere 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 diversi agenti 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.

Confrontiamolo con un’agenzia di viaggi gestita come un negozio a conduzione familiare rispetto a un’agenzia di viaggi gestita come un franchising. Il negozio a conduzione familiare avrebbe un singolo agente che gestisce tutti gli aspetti del processo di prenotazione del viaggio, mentre il franchising avrebbe diversi agenti che gestiscono diversi aspetti del processo di prenotazione del viaggio.

Componenti fondamentali per implementare il modello di progettazione multi-agente

Prima di poter implementare il modello di progettazione multi-agente, è necessario comprendere i componenti fondamentali che costituiscono il modello.

Rendiamolo più concreto guardando di nuovo l’esempio della prenotazione di un viaggio per un utente. In questo caso, i componenti fondamentali includerebbero:

Visibilità nelle interazioni multi-agente

È importante avere visibilità su come i diversi agenti interagiscono tra loro. Questa visibilità è essenziale per il debug, l’ottimizzazione e per garantire l’efficacia complessiva del sistema. Per ottenere ciò, è necessario avere strumenti e tecniche per tracciare le attività e le interazioni degli agenti. Questo potrebbe essere sotto forma di strumenti di registrazione e monitoraggio, strumenti di visualizzazione e metriche di prestazione.

Ad esempio, nel caso della prenotazione di un viaggio per un utente, si potrebbe avere un dashboard che mostra lo stato di ciascun agente, le preferenze e i vincoli dell’utente e le interazioni tra gli agenti. Questo dashboard potrebbe mostrare le date di viaggio dell’utente, i voli raccomandati dall’agente per i voli, gli hotel raccomandati dall’agente per gli hotel e le auto a noleggio raccomandate dall’agente per le auto a noleggio. Questo fornirebbe una visione chiara di come gli agenti interagiscono tra loro e se le preferenze e i vincoli dell’utente vengono rispettati.

Esaminiamo ciascuno di questi aspetti più nel dettaglio.

Modelli multi-agente

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

Chat di gruppo

Questo modello è utile quando si desidera creare un’applicazione di chat di gruppo in cui più agenti possono comunicare tra loro. I casi d’uso tipici per questo modello includono collaborazione di squadra, supporto clienti e social networking.

In questo modello, ogni agente rappresenta un utente nella chat di gruppo e i messaggi vengono scambiati tra gli agenti utilizzando un protocollo di messaggistica. Gli agenti possono inviare messaggi alla chat di gruppo, ricevere messaggi dalla chat di gruppo e rispondere ai messaggi di altri agenti.

Questo modello può essere implementato utilizzando un’architettura centralizzata in cui tutti i messaggi vengono instradati attraverso un server centrale, o un’architettura decentralizzata in cui i messaggi vengono scambiati direttamente.

Chat di gruppo

Passaggio di consegne

Questo modello è utile quando si desidera creare un’applicazione in cui più agenti possono passarsi compiti tra loro.

I casi d’uso tipici per questo modello includono supporto clienti, gestione dei compiti e automazione dei flussi di lavoro.

In questo modello, ogni agente rappresenta un compito o un passaggio in un flusso di lavoro, e gli agenti possono passarsi compiti basandosi su regole predefinite.

Passaggio di consegne

Filtraggio collaborativo

Questo modello è utile quando si desidera creare un’applicazione in cui più agenti possono collaborare per fare raccomandazioni agli utenti.

Perché si vorrebbe che più agenti collaborassero? Perché ogni agente può avere competenze diverse e contribuire al processo di raccomandazione in modi diversi.

Prendiamo un esempio in cui un utente desidera una raccomandazione sul miglior titolo da acquistare sul mercato azionario.

Raccomandazione

Scenario: Processo di rimborso

Consideriamo uno scenario in cui un cliente sta cercando di ottenere un rimborso per un prodotto. Ci possono essere diversi agenti coinvolti in questo processo, ma dividiamoli tra agenti specifici per questo processo e agenti generali che possono essere utilizzati in altri processi.

Agenti specifici per il processo di rimborso:

Di seguito alcuni agenti che potrebbero essere coinvolti nel processo di rimborso:

Agenti generali:

Questi agenti possono essere utilizzati in altre parti della tua attività.

Ci sono molti agenti elencati in precedenza, sia per il processo di rimborso specifico che per gli agenti generali che possono essere utilizzati in altre parti della tua attività. Speriamo che questo ti dia un’idea di 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 soluzione seguente, potresti aver bisogno di più agenti di quanto pensi.

TIP: Pensa alle diverse fasi del processo di supporto clienti e considera anche gli agenti necessari per qualsiasi sistema.

Soluzione

Soluzione

Verifica delle conoscenze

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

Quiz soluzione

In questa lezione, abbiamo esaminato il modello di progettazione 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 di progettazione multi-agente e come avere visibilità su come i diversi agenti interagiscono tra loro.

Hai altre domande sul modello di progettazione multi-agente?

Unisciti al Discord di Azure AI Foundry per incontrare altri studenti, partecipare agli orari d’ufficio e ottenere risposte alle tue domande sugli AI Agents.

Risorse aggiuntive

Lezione precedente

Progettazione della pianificazione

Lezione successiva

Metacognizione negli AI Agents


Disclaimer:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica Co-op Translator. Sebbene ci impegniamo per garantire l’accuratezza, si prega di notare che le traduzioni automatiche potrebbero contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si consiglia una traduzione professionale eseguita da un traduttore umano. Non siamo responsabili per eventuali fraintendimenti o interpretazioni errate derivanti dall’uso di questa traduzione.