Usare l'orchestrazione simultanea
L'orchestrazione simultanea consente a più agenti di lavorare contemporaneamente sulla stessa attività. Ogni agente gestisce l'attività in modo indipendente e quindi i relativi output vengono raccolti e combinati. Questo metodo funziona particolarmente bene quando si vogliono approcci o soluzioni diversi, ad esempio durante il brainstorming, il processo decisionale del gruppo o il voto.
Questo modello è utile quando sono necessari approcci o idee diversi per risolvere lo stesso problema. Invece di fare in modo che gli agenti lavorino uno dopo l'altro, lavorano tutti contemporaneamente. Questo accelera il processo e copre il problema da molte angolazioni.
In genere, i risultati di ogni agente vengono combinati per creare una risposta finale, ma questo non è sempre necessario. Ogni agente può anche produrre un risultato separato, ad esempio chiamare gli strumenti per completare le attività o aggiornare archivi dati diversi in modo indipendente.
Gli agenti lavorano autonomamente e non condividono i risultati tra loro. Tuttavia, un agente può chiamare altri agenti di intelligenza artificiale eseguendo la propria orchestrazione come parte del processo. Gli agenti devono sapere quali altri agenti sono disponibili per lavorare sulle attività. Questo modello consente di chiamare tutti gli agenti registrati ogni volta o di scegliere gli agenti da eseguire in base all'attività specifica.
Quando usare l'orchestrazione simultanea
È possibile prendere in considerazione l'uso del modello di orchestrazione simultanea in queste situazioni:
- Quando le attività possono essere eseguite contemporaneamente, usando un gruppo fisso di agenti o selezionando gli agenti di intelligenza artificiale in modo dinamico in base alle esigenze dell'attività.
- Quando l'attività trae vantaggio da diverse competenze o approcci specializzati (ad esempio, tecnici, aziendali o creativi) che tutti lavorano in modo indipendente, ma contribuiscono a risolvere lo stesso problema.
Questo tipo di lavoro in team è comune nei metodi decisionali multi-agente, ad esempio:
- Idee di brainstorming
- Combinazione di metodi di ragionamento diversi (ragionamento dell'insieme)
- Prendere decisioni in base al voto o al consenso (quorum)
- La gestione delle attività in cui la velocità è importante e gli agenti in esecuzione in parallelo riduce il tempo di attesa
Quando evitare l'orchestrazione simultanea
È consigliabile evitare di usare il modello di orchestrazione simultanea negli scenari seguenti:
- Gli agenti devono basarsi sul lavoro dell'altro o dipendono dal contesto condiviso in un ordine specifico.
- L'attività richiede una sequenza rigorosa di passaggi o risultati ripetibili prevedibili.
- I limiti delle risorse, ad esempio le quote di utilizzo del modello, rendono gli agenti in esecuzione in parallelo inefficienti o impossibili.
- Gli agenti non possono coordinare in modo affidabile le modifiche ai dati condivisi o ai sistemi esterni durante l'esecuzione contemporaneamente.
- Non esiste un modo chiaro per risolvere i conflitti o le contraddizioni tra i risultati di agenti diversi.
- La combinazione dei risultati è troppo complicata o finisce per abbassare la qualità complessiva.
Implementare l'orchestrazione simultanea
Implementare il modello di orchestrazione simultanea con Microsoft Agent Framework:
Creare il client di chat
Configurare un client di chat (ad esempio,AzureOpenAIChatClient) con le credenziali appropriate per connettersi al provider di servizi di intelligenza artificiale.Definire gli agenti
Creare istanze di agenti utilizzando il metodocreate_agentdel client di chat. Ogni agente deve avere istruzioni specifiche e un nome che ne definisce il ruolo e l'area di competenza.Creare il flusso di lavoro simultaneo
Usare laConcurrentBuilderclasse per creare un flusso di lavoro in grado di eseguire più agenti in parallelo. Aggiungi le istanze dell'agente come partecipanti usando il metodoparticipants(), quindi chiamabuild()per creare il flusso di lavoro.Eseguire il flusso di lavoro
Chiamare il metodo del flusso di lavororuncon l'attività o l'input su cui si desidera che gli agenti lavorino. Il flusso di lavoro esegue tutti gli agenti simultaneamente e restituisce eventi contenenti i risultati.Elaborare i risultati
Estrarre gli output dagli eventi del flusso di lavoro usandoget_outputs(). I risultati contengono le conversazioni combinate di tutti gli agenti, con la risposta di ogni agente inclusa nell'output finale.Gestire le risposte aggregate
Elaborare i messaggi aggregati da tutti gli agenti. Ogni messaggio include il nome e il contenuto dell'autore, consentendo di identificare l'agente che ha fornito ogni risposta.
L'orchestrazione simultanea è un modello potente per l'uso simultaneo di più agenti di intelligenza artificiale, consentendo la risoluzione dei problemi più rapida e diversificata. Eseguendo agenti in parallelo, è possibile esplorare diversi approcci contemporaneamente, migliorare l'efficienza e ottenere informazioni più dettagliate. Tuttavia, è importante scegliere questo modello quando le attività possono essere effettivamente eseguite in modo indipendente e tenere conto dei vincoli delle risorse e delle sfide di coordinamento. Se implementata in modo ponderato con Microsoft Agent Framework SDK, l'orchestrazione simultanea può migliorare notevolmente i flussi di lavoro di intelligenza artificiale e i processi decisionali.