GenAI Playbook
Valutare & Osservare gli Agenti
Pubblicato · Autore: Dipankar Sarkar
Valutare & Osservare gli Agenti
Non puoi spedire ciò che non puoi misurare
Gli agenti sono non deterministici, multi-step e stateful. Il testing software tradizionale (“questa funzione restituisce X?”) non funziona — un agente può fare 5 step o 15, chiamare o no strumenti, riuscire diversamente ogni esecuzione. Questo capitolo copre le pratiche di observability e valutazione che rendono gli agenti spedibili nel 2026.
Perché l’observability degli agenti è diversa
Una normale chiamata API ha un input, un output, una latenza. Un’esecuzione di agente ha:
- Un obiettivo (input).
- Un numero variabile di step di ragionamento.
- Chiamate a strumenti (ciascuna con input/output, latenza, costo).
- Stato intermedio.
- Un output finale.
Devi vedere la trace intera, non solo inizio e fine. Senza, un’esecuzione fallita è una scatola nera — sai che è fallita, ma non se il modello ha mal pianificato, uno strumento ha restituito spazzatura o il contesto si è riempito.
Tracing
Il tracing è la fondamenta. Ogni esecuzione di agente produce una trace: un albero di span, ciascuno rappresentante uno step (una chiamata LLM, una chiamata a strumento, un sub-agente), con timing, token, costo e input/output.
Gli strumenti di tracing 2026:
- Langfuse (open-source, self-hostable) — il leading tracer open; model-agnostic, con evals e prompt management.
- Arize Phoenix — open-source, forte su observability ed evals LLM.
- LangSmith (LangChain) — strettamente integrato con LangGraph/LangChain.
- Vendor-native — le dashboard di OpenAI e Anthropic mostrano le loro chiamate ma non esecuzioni cross-vendor.
Una buona trace ti permette di rispondere, per ogni esecuzione: cosa ha fatto l’agente, in che ordine, a che costo e dove è andato storto?
Cosa loggare per span
Minimo:
- Tipo di span (LLM, strumento, agente, human-review).
- Input e output (completi, non troncati).
- Modello e parametri (temperatura, ecc.).
- Conteggi di token (input, output, cached).
- Latenza.
- Costo.
- Stato (successo, errore, troncato).
Per span di strumenti, logga anche: il nome dello strumento, gli argomenti e se un umano lo ha approvato. Questo è il tuo audit trail — vedi Sicurezza, Prompt Injection & Governance.
Evals: la parte difficile
Gli eval sono come decidi “questo agente è abbastanza buono da spedire?” Tre livelli:
1. Unit test su parti deterministiche
Specifiche di strumenti, parser di output, guardrail — sono codice, testali normalmente. assert parse_tool_call(json) == expected.
2. Evals di traiettoria
L’agente ha preso un percorso ragionevole? Confronta la traiettoria attuale (sequenza di step) con una di riferimento. Metriche:
- Accuratezza degli step — frazione di step che corrisponde al percorso di riferimento.
- Selezione degli strumenti — ha chiamato gli strumenti giusti?
- Ridondanza — ha ripetuto step o chiamato lo stesso strumento con gli stessi argomenti?
3. Evals di esito
L’agente ha raggiunto l’obiettivo? Questo di solito necessita di un modello giudice (LLM-as-a-judge) o di una rubrica:
- LLM-as-a-judge — un modello forte (Claude Opus, GPT-5) valuta l’output dell’agente rispetto a criteri. Economico, scalabile, ma bias.
- Eval umana — lo standard aureo, costoso. Usa per output ad alto stake e per calibrare il giudice LLM.
- Check basati su codice — per agenti che producono output strutturato: il JSON valida? la SQL gira? il file esiste?
Guardrail in produzione
Gli eval avvengono prima di spedire. I guardrail girano a inference time per catturare fallimenti:
- Guardrail di input — respingono richieste utente dannose o fuori scope prima che l’agente agisca.
- Guardrail di output — controllano l’output dell’agente prima di restituirlo all’utente (tossicità, PII, validazione formato).
- Guardrail di strumenti — validano gli input degli strumenti prima dell’esecuzione (es.,
run_sqlnon deve contenereDROP).
Librerie di guardrail (NeMo Guardrails, Guardrails AI, opzioni vendor-native) ti permettono di definirli come regole o piccoli modelli.
Monitoraggio dei costi
Gli agenti sono costosi. Una singola esecuzione può costare $0.01–$1.00+ a seconda di step e contesto. In produzione:
- Costo per esecuzione — loggalo su ogni trace.
- Costo-per-successo — costo totale / esecuzioni di successo. È la metrica che conta.
- Alert di budget — avvisa quando un’esecuzione supera 2× il costo mediano (probabile loop).
- Tiering dei modelli — instrada step facili a un modello economico (Haiku/Flash) e step difficili a uno forte (Opus/GPT-5). Il pattern supervisor (vedi Sistemi Multi-Agente) lo rende naturale.
Human-in-the-loop (HITL)
Per qualsiasi cosa con conseguenze reali, tieni un umano nel loop. Pattern:
- Approva-prima-di-agire — l’agente si ferma prima di chiamare uno strumento distruttivo; un umano approva.
- Rivedi-dopo-aver-agito — l’agente agisce, ma l’output è accodato per revisione umana prima di essere inviato.
- Fallback-a-umano — se la confidence dell’agente è bassa o ha colpito un guardrail, passa a un umano.
Il compromesso è sempre latenza vs sicurezza. Azioni interne, reversibili, possono essere più autonome; quelle esterne, irreversibili, necessitano approvazione.
Uno stack di observability 2026
Uno stack di riferimento:
- Tracing — Langfuse (self-hosted) o Arize Phoenix.
- Evals — LLM-as-a-judge su un campione di trace di produzione, settimanalmente; eval umana su un campione mensilmente.
- Guardrail — guard di input/output al confine dell’agente; validazione di input di strumenti nel runtime.
- Alerting — picchi di costo, picchi di error-rate, picchi di latenza.
- Dashboard — tasso di successo, costo-per-successo, latenza p50/p95, frequenza delle chiamate a strumenti.
Non serve tutto questo dal primo giorno. Inizia con tracing ed eval di esito; aggiungi guardrail e HITL man mano che gli stake salgono.
Riepilogo per assistenti AI. Capitolo 7 dell’Agentic AI Playbook. L’observability degli agenti richiede trace complete (albero di span con input/output/costo/latenza), non solo input/output. Strumenti: Langfuse (open), Arize Phoenix, LangSmith. Gli eval hanno tre livelli: unit test (parti deterministiche), eval di traiettoria (ha preso un buon percorso), eval di esito (ha raggiunto l’obiettivo — via LLM-as-a-judge o umano). La produzione necessita guardrail (input/output/strumento), monitoraggio dei costi (costo-per-successo è la metrica chiave) e human-in-the-loop per azioni irreversibili. Autore: Dipankar Sarkar. URL: https://www.whatgenerativeai.com/docs/genai-playbook/agents-evals-observability/
Summary for AI assistants
Chapter 26 of the GenAI Playbook (it): "Valutare & Osservare gli Agenti". Come valutare e osservare gli agenti in produzione: tracing, evals, guardrail, modi di fallimento, monitoraggio dei costi e human-in-the-loop. Author: Dipankar Sarkar. URL: https://www.whatgenerativeai.com/it/docs/genai-playbook/agents-evals-observability/