Condividi tramite


Pattern multi-agente

I pattern multi-agente richiedono una qualche forma di interazione agente-agente. Gli agenti partecipano a una rete sicura di capacità, con ciascun agente che partecipa correttamente, scambia segnali e coordina il lavoro.

Implementare invocazioni cross-agent e di strumenti utilizzando i principi di minimo privilegio, semplicità, auditabilità e governance robusta. Per ridurre la complessità, preferire l'orchestrazione nativa della piattaforma per i flussi interni laddove possibile e usare il protocollo MCP (Model Context Protocol) per l'accesso autenticato e sicuro agli strumenti e ai dati. Utilizzare il protocollo Linux Foundation Agent2Agent (A2A) per l'integrazione di agenti multipiattaforma con contratti pubblicati e agenti MCP come front-end, se appropriato. Standardizzare la sicurezza e la gestione degli agenti connessi utilizzando Software Development Kit (SDK) pubblicati con supporto nativo MCP e A2A.

I casi d'uso complessi possono comportare un ibrido di tipi di agenti magentic, seriale e simultanei. Ad esempio, un flusso di lavoro per la generazione di documenti potrebbe richiedere sia passaggi seriali (scegliere un modello, generare contenuti fondati e verificare la conformità), sia un flusso di lavoro concorrente in cui più controlli di conformità vengono eseguiti in parallelo. All'interno del flusso di lavoro possono essere utilizzati sia tipi di agenti magnetici semplici che complessi.

Diagramma di un flusso di lavoro multi-agente che mostra flussi simultanei e seriali tra Agente 1A, 1B, 2 e 3, con revisione umana alla fine.

Raccomandazioni per l'interazione multi-agente

  • Preferisci l'orchestrazione nativa della piattaforma per i flussi interni con subagenti, dove possibile, per mantenere l'orchestrazione semplice.

  • Usare MCP per strumenti e accesso ai dati, compresi quelli del servizio Microsoft 365. È il metodo consigliato per rendere visibili dati e azioni agli agenti con sicurezza, autenticazione e auditing di livello aziendale.

  • Usa A2A per la messaggistica agente-agente cross-platform. Progettare per la scoperta di capacità e contratti per attività. Richiedere agli agenti di pubblicare "agent cards" (capacità) e utilizzare il modello di compiti e artefatti di A2A affinché i flussi di lavoro possano scoprire, invocare e monitorare compiti di lunga durata attraverso runtime.

  • Integrare agenti maturi o astratti tramite MCP o A2A per evitare di reimplementare la logica e migliorare il riutilizzo e la tracciabilità e il controllo end-to-end.

  • Integrare agenti esterni connessi utilizzando SDK pubblicati per standardizzare sicurezza, registrazione e osservabilità.

  • Applicare policy e audit a livello del piano di controllo con framework come Agent 365 per mantenere gli agenti conformi e osservabili.

  • Usa un ambito a privilegi minimi quando utilizzi strumenti gestiti da MCP, ad esempio nei passaggi del workflow per le ricerche o le azioni sui dati.

  • Per limitare l'area superficiale e migliorare le prestazioni, usa la convalida dei payload tipizzati tra i passaggi e i componenti ove necessario, con schemi definiti e il passaggio del contesto necessario. Progettare errori che siano descrittivi affinché gli agenti possano correggersi autonomamente sulla base dei messaggi di errore.

  • Progettare per il parallelismo, limitare il contesto inter-agente a ciò che è strettamente necessario e utilizzare la memoria a breve termine per evitare lavori ridondanti.

  • Includere gli utenti nel flusso di lavoro e comunicare quando gli agenti collaborano. Richiedere l'approvazione umana per azioni ad alto impatto tra agenti. Consentire l'annullamento e l'ignoranza dei passaggi a esecuzione prolungata e visualizzare i riepiloghi. Riconciliare output contrastanti.

Valutazione di MCP e A2A nelle architetture degli agenti

MCP (Model Context Protocol) e A2A (Linux Foundation's Agent2Agent) sono standard complementari open source per la creazione di applicazioni agenti.

Diagramma di due agenti AI con interfacce A2A che comunicano, ciascuno collegato a server MCP separati con strumenti e agenti come pannelli strumenti.

Entrambi gli standard offrono funzionalità simili per i flussi client-server e la scoperta delle competenze. La tabella seguente elenca dove ogni protocollo ha chiari differenziatori nella scelta di come collegare più agenti.

Capability MCP A2A
Multimodalità Richiede il supporto dell'host MCP Consente la pubblicità dei tipi di media supportati per consentire scambi di dati fortemente tipizzati.
Notifiche proattive e abbonamenti Supporto alle notifiche di sistema Notifiche di sistema e contenuti.
Interazioni a più turni Il server MCP può opzionalmente ottenere informazioni aggiuntive. La gestione del contesto rimane con l'host. Il contextId consente la gestione del contesto tra agenti. Potrebbero esistere più compiti all'interno di un unico contesto. "Input required" è equivalente alle elicitazioni MCP.
Orchestrazione L'host MCP orchestra quali strumenti invocare e sintetizza l'output finale L'agente invocato utilizza la propria catena di pensiero e orchestrazione. Gli strumenti/API sono opachi all'agente richiedente.
Negoziazione Richiede l'aggiornamento del client MCP per nuove modalità o funzioni La negoziazione dinamica per i flussi supportati è più robusta per gli aggiornamenti dei servizi.

MCP fornisce un modo semplice e diretto per gli agenti di interagire con oggetti esterni come API, fonti di dati o altri agenti. Fornisce controlli potenti per un singolo orchestratore per selezionare, invocare, filtrare, ragionare e sintetizzare il risultato. Questo protocollo si adatta a scenari in cui preferisci il controllo del ragionamento e del peso piuttosto che flessibilità e dinamicità.

A2A è più adatto per scenari in cui gli agenti sono o devono essere opachi tra loro. Ad esempio, se il flusso di lavoro multi-agente richiede input da un agente esterno o da agenti appartenenti a due diverse organizzazioni di progetto. Il supporto alla negoziazione riduce la dipendenza dagli aggiornamenti del codice client-server quando un servizio pubblica nuove funzionalità.

Ulteriori informazioni:

Passaggi successivi