Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nella pagina precedente è stato illustrato come comporre gli agenti all'interno di un singolo processo, un agente chiama un altro come strumento di funzione e il framework gestisce il resto. Questo modello funziona correttamente quando tutti gli agenti risiedono nella stessa applicazione, condividono lo stesso runtime e vengono gestiti dallo stesso team.
Ma i sistemi agenti reali spesso devono comunicare attraverso i confini. Agent-to-Agent (A2A) è un protocollo aperto progettato esattamente per questo. Definisce un modo standard per consentire agli agenti di individuarsi tra loro, scambiare messaggi e coordinare le attività, tramite HTTP, attraverso qualsiasi limite, in qualsiasi linguaggio o framework. Agent Framework offre l'integrazione A2A predefinita , in modo da poter ospitare e chiamare agenti conformi ad A2A con una configurazione minima.
Quando usare questa opzione
Usare A2A quando gli agenti devono superare un limite che la composizione in-process non può gestire:
- Limiti del servizio. L'agente di prenotazione viaggi funziona come un microservizio, e l'agente di archiviazione delle spese è eseguito come un microservizio separato. Non possono chiamarsi tra loro come strumenti di funzione in-process, ma hanno bisogno di un protocollo di rete.
- Limiti del team. Un team partner è proprietario di un agente di verifica della conformità. Non si ha accesso al codice, al modello o alla distribuzione. È sufficiente inviare una richiesta e ottenere una risposta.
- Limiti dell'organizzazione. Un provider di terze parti offre un agente specializzato (elaborazione di documenti, revisione legale, valutazione medica). È necessario un modo standard per individuarlo, comprenderne le operazioni e comunicare con esso, indipendentemente dal framework o dal linguaggio con cui viene compilato.
- Evoluzione indipendente. Gli agenti necessitano di cicli di rilascio diversi, team diversi o linguaggi diversi, senza accoppiare strettamente le implementazioni.
Suggerimento
Se tutti gli agenti vivono nello stesso processo e vengono gestiti dallo stesso team, agenti come strumenti sono più semplici e hanno meno sovraccarico. A2A aggiunge valore quando si supera un processo, un servizio o un limite dell'organizzazione.
Considerazioni
| Considerazione | dettagli |
|---|---|
| Interoperabilità | A2A è indipendente dal framework. L'agente .NET può chiamare un agente Python, un agente LangChain o qualsiasi agente che implementa il protocollo. Si tratta del valore primario di A2A, ovvero "HTTP della comunicazione dell'agente". |
| Sovraccarico di rete | Ogni chiamata A2A è una richiesta HTTP. In questo modo viene aggiunta la latenza rispetto alle chiamate in-process agent-as-tool. Per i percorsi sensibili alle prestazioni, mantenere gli agenti co-localizzati o utilizzare A2A solo se esiste effettivamente un confine. |
| Complessità operativa | Gli agenti remoti sono servizi distribuiti. È necessario gestire gli errori di rete, i timeout, i ritentativi e il versioning: gli stessi problemi che si possono avere con qualsiasi comunicazione da servizio a servizio. |
| Individuazione in fase di esecuzione | Le schede agente rendono dinamica l'individuazione, ma è comunque necessario sapere dove cercare. Nell'ambiente di produzione si configureranno in genere endpoint agente noti o si userà un Registro di sistema. |
| Stato della conversazione | L'agente remoto gestisce il proprio stato della conversazione (identificato tramite ID contesto). L'agente non visualizza il ragionamento interno dell'agente remoto, ma solo le relative risposte. Se l'agente remoto viene riavviato e perde lo stato, il contesto della conversazione potrebbe andare perso. |
Passaggi successivi
Ora che gli agenti possono comunicare attraverso qualsiasi limite, il passaggio finale del percorso è rappresentato dai flussi di lavoro , ovvero l'orchestrazione esplicita basata su grafo per processi multi-passaggio, multi-agente in cui è necessario il controllo completo sull'ordine di esecuzione, sullo stato e sulla recuperabilità.
Approfondimento:
- Integrazione A2A : guida all'implementazione per l'hosting e la chiamata degli agenti A2A
- Agenti come strumenti : il modello di composizione in-process più semplice