Perché la collaborazione tra agenti richiede valutazioni specifiche

I grandi modelli di linguaggio (LLM) sono intrinsecamente nondeterministici. In un sistema multi‑agente questa incertezza non scompare: un agente genera informazioni, un altro le consuma e le interpreta, e il suo output diventa a sua volta il contesto per il prossimo agente. Qualsiasi contenuto falsamente generato o interpretato si propaga e si amplifica lungo l’intero workflow.

I multi‑agent sono essenzialmente consumatori di contesto reciproco. Possiamo valutarli come un sistema di retrieval‑augmented generation (RAG). Le interazioni agente‑a‑agente seguono gli stessi principi metodologici della RAG, ma con una complessità aggiuntiva dovuta alla dipendenza sequenziale dei risultati.

Un tipico pipeline RAG si scompone così:

    • Query dell'utente → retriever → contesto recuperato (valutazione) → generazione → risposta generata (valutazione)

Valutiamo separatamente il recupero e la generazione per identificare se il problema nasce dal recupero, dalla qualità del contesto o dalla generazione.

Un sistema multi‑agente estende questo concetto:

    • Query dell'utente → agente A → handoff → agente B → stato condiviso → agente C → verifica → output finale

Valutare solo la risposta finale – o persino ogni agente in isolamento – non rivela se la collaborazione è avvenuta correttamente. È indispensabile avere visibilità su ciò che accade tra gli agenti.

Catturare il trace di esecuzione del multi‑agent

Prima di valutare la collaborazione, occorre osservare l’intero workflow. Analogamente a come LangSmith registra prompt, documenti recuperati, chiamate a tool e risposte del modello per una RAG, il tracing dei multi‑agent deve catturare:

    • Quali agenti sono stati invocati e in quale ordine
    • Input e output di ciascun agente
    • Payload di handoff da un agente all’altro
    • Decisioni di routing e delega
    • Letture e aggiornamenti dello stato condiviso
    • Chiamate a tool e relativi risultati
    • Retry, loop e decisioni di terminazione
    • Latenza, consumo di token e costi per ogni passo

Il trace diventa la cronologia di esecuzione del workflow multi‑agente. Senza di esso potremmo sapere solo che il risultato finale è fallito, ma non dove la collaborazione si è interrotta.

Valutare deadlock e loop nei workflow

A differenza di un’applicazione a singolo agente, un sistema multi‑agente è un workflow distribuito in cui gli agenti dipendono l’uno dall’altro per decidere il passo successivo. Ogni agente può attendere informazioni, approvazioni o azioni da un altro agente. Poiché queste dipendenze sono spesso espresse da decisioni guidate da LLM anziché da logica di programma fissa, il workflow può entrare in stati in cui nessun agente può progredire (deadlock) o in cui gli agenti si attivano ripetutamente senza avanzare (loop infinito o livelock).

Deadlock: si verifica quando vi sono dipendenze circolari. Per esempio, un orchestratore attende un risultato da un agente operatore, mentre l’operatore attende conferma o istruzioni aggiuntive dall’orchestratore. Nessuno può procedere e il workflow si blocca indefinitamente.

Loop infinito (livelock): gli agenti continuano a interagire senza mai compiere progressi. Un agente di conoscenza può richiedere chiarimenti a un agente di transazione, mentre quest’ultimo risponde di nuovo con la stessa richiesta di chiarimento perché l’informazione mancante non è stata fornita. Gli agenti sono attivi, ma il workflow non raggiunge mai uno stato terminale.

Questi fallimenti sono proprietà del grafo di esecuzione, non di un singolo agente. Pertanto valutiamo il trace del workflow usando metriche organizzate in tre categorie:

CategoriaEsempi di metriche
ProgressioneWorkflow completion rate, execution time, average workflow iterations
CoordinazioneDeadlock rate, infinite loop rate, average agent handoffs
TerminazioneValid termination rate, maximum iterations reached, abandoned workflow rate

Queste metriche consentono di capire se la rete di agenti sta realmente avanzando verso una conclusione valida, anziché produrre risposte apparentemente corrette ma isolate.

Valutare gli handoff tra agenti

Nel contesto multi‑agente, l’output di un agente diventa l’input o il contesto di un altro. Anche se ogni agente funziona bene in modo indipendente, il workflow può fallire se le informazioni vengono perse, modificate o interpretate erroneamente al confine tra agenti.

Consideriamo ogni handoff come un piccolo pipeline di informazione:

Output agente A → contesto passato a agente B → interpretazione agente B

Come nella valutazione RAG, dobbiamo esaminare sia la qualità del “recupero” (cioè il passaggio del contesto) sia la qualità della “generazione” (cioè l’interpretazione). Inoltre, i sistemi multi‑agente richiedono una validazione a livello di interfaccia per garantire che il contratto di comunicazione tra agenti sia rispettato.

Valutare il passaggio del contesto

La prima domanda è se le informazioni corrette prodotte dall’agente a monte arrivano effettivamente all’agente a valle.

Domande tipiche includono:

    • È stata trasferita tutta l’informazione rilevante da agente A a agente B?
    • Qualche informazione importante è stata persa durante l’handoff?
    • È stato incluso materiale inutile o irrilevante?
    • Il contesto fornito a agente B contiene ciò di cui ha bisogno per svolgere il compito?

I metrici di qualità del contesto usati nella valutazione RAG si applicano qui:

MetricaCosa misura
Precisione del contestoRilevanza delle informazioni passate all’agente a valle rispetto al suo compito
Recall del contestoCompletezza: se tutte le informazioni necessarie sono state preservate
Rilevanza del contestoUtilità del contesto trasferito per il compito dell’agente successivo

Valutare l’interpretazione a valle

Passare il contesto corretto è solo metà dell’handoff. È necessario verificare se l’agente a valle comprende e utilizza correttamente le informazioni ricevute.

Domande tipiche includono:

    • L’output di agente B è supportato dalle informazioni ricevute da agente A?
    • Agente B ha preservato il significato del risultato a monte?
    • Ha introdotto informazioni non supportate dall’handoff?
    • Ha preso la decisione corretta basandosi sulle informazioni fornite?

Le metriche di qualità della generazione della RAG possono essere adattate:

MetricaCosa misura
Fedele (faithfulness)Se l’output a valle è supportato dal contesto proveniente dall’agente a monte
Rilevanza dell’outputSe l’output a valle risponde al compito assegnato
Correttezza della rispostaSe il risultato a valle corrisponde al risultato atteso o al ground‑truth quando disponibile

Spesso si utilizza un “LLM‑as‑judge” per valutazioni semantiche, confrontando l’output a monte, il contesto ricevuto dall’agente a valle e il risultato finale.

Valutare l’integrità dell’interfaccia

La collaborazione tra agenti introduce un livello di valutazione aggiuntivo rispetto alle tradizionali pipeline RAG: il contratto di interfaccia tra agenti.

Quando possibile, anche per testi lunghi, gli agenti dovrebbero scambiarsi output strutturati anziché risposte in linguaggio naturale libero. Schemi JSON, modelli Pydantic o altri contratti tipizzati consentono di valutare in modo deterministico parte dell’handoff prima che l’agente a valle lo elabori.

Esempi di pratiche consigliate:

    • Definire schemi JSON espliciti per ogni tipo di messaggio tra agenti
    • Validare la conformità dello schema subito dopo la generazione dell’agente mittente
    • Utilizzare test di contract‑testing per verificare che le modifiche a un agente non rompano le aspettative degli agenti consumatori
    • Registrare errori di validazione come segnali di potenziali problemi di comunicazione

Costruire controlli ingegneristici più robusti

L’obiettivo non è rendere i LLM deterministici – il loro carattere nondeterministico è intrinseco – ma rendere il loro comportamento imprevedibile visibile, misurabile, limitato e recuperabile. Con i trace completi e le metriche sopra descritte, è possibile:

    • Identificare rapidamente dove avvengono perdite o distorsioni di informazioni
    • Rilevare pattern di deadlock o loop prima che impattino costi e latenza
    • Applicare meccanismi di fallback o retry basati su soglie di metriche (es. se il deadlock rate supera il 2 % attivare un “circuit breaker”)
    • Iterare sul design dei contratti di interfaccia per ridurre la dipendenza da interpretazioni libere

In pratica, una pipeline di valutazione dovrebbe includere:

    • Raccolta automatica del trace per ogni esecuzione multi‑agente
    • Analisi post‑hoc delle metriche di progresso, coordinazione e terminazione
    • Validazione dei payload di handoff contro schemi predefiniti
    • Valutazione della fedeltà e della rilevanza dell’output a valle con LLM‑as‑judge
    • Allarme e azioni correttive automatiche quando le soglie di errore sono superate

Implementando questi passaggi, le organizzazioni possono mantenere la flessibilità dei LLM nei sistemi multi‑agente senza sacrificare affidabilità e prevedibilità operative.

Conclusioni

I sistemi multi‑agente introducono una complessità che va oltre la semplice accuratezza di ciascun modello. La collaborazione può fallire a causa di perdite di contesto, interpretazioni errate, dipendenze circolari o loop infiniti. Solo osservando il flusso completo di dati, valutando gli handoff e monitorando metriche specifiche di workflow è possibile costruire uno “strato di controllo” capace di gestire l’imprevedibilità dei LLM.

In sintesi, la chiave è trasformare l’incertezza in un elemento misurabile: tracciare, valutare, limitare e, quando necessario, recuperare. Così, gli agenti IA possono continuare a fornire valore senza compromettere la robustezza dei sistemi che li ospitano.