Rivedere i risultati e agire

Una valutazione produce un punteggio, ma il punteggio da solo non migliora niente. Il lavoro vero comincia quando apri l’esito, isoli i casi che non hanno passato e decidi dove sta il difetto: nell’agente, nel caso di test o nella connessione con cui il test è stato eseguito. La pagina Evaluation dell’agente è costruita esattamente per questo ciclo, perché ti porta dal punteggio aggregato alla singola risposta e ti riporta indietro alla modifica.

Leggere l’esito: pass rate, stati e filtri

Nella sezione Recent results trovi la Pass rate di ogni esecuzione del test set, e con See all apri l’elenco completo delle run. La pass rate si calcola sul rapporto fra Pass e Fail, ma il singolo caso di test riceve uno di quattro esiti: Pass, Fail, Invalid oppure Error. La distinzione è la prima cosa da interiorizzare: Invalid non vuol dire che l’agente ha risposto male, vuol dire che il caso non era valutabile con quel test method. Un caso privo di expected answer con Compare meaning, privo di keyword con Keyword match o privo di risorse attese con Tool use produce Invalid per quel metodo. Davanti a un Invalid la modifica va fatta sul test set, non sull’agente.

I risultati sono elaborati in tempo reale, riga per riga: i casi compaiono via via che vengono generati, così puoi fermare l’esecuzione appena vedi una deriva, e a fine corsa un avviso segnala che il riepilogo è pronto. Ricorda che puoi eseguire una sola valutazione per volta.

Dal caso di test alla causa

Aprendo un risultato vedi l’elenco delle domande usate, la risposta dell’agente e il punteggio; i filtri All, Pass e Fail restringono la lista. Selezionando un caso ottieni l’analisi dettagliata: risposta attesa e risposta effettiva, il ragionamento dietro l’esito e le risorse che l’agente ha impiegato, cioè knowledge, topic e tool. Sono tre oggetti diversi e il pannello li tiene separati: un knowledge source fornisce contenuto, un topic è un percorso di dialogo autorizzato, un tool compie un’azione. Da qui parte la diagnosi. Se nel caso fallito compare il tool sbagliato, il problema sta nell’orchestrazione o nella descrizione dello strumento; se la knowledge recuperata era corretta ma la risposta rimane parziale, guarda i criteri di General quality — relevance, groundedness, completeness e abstention — perché basta che uno non sia soddisfatto per far scendere il voto.

Show activity map apre la sequenza di input, decisioni e output interna al caso: è lo strumento con cui ricostruisci l’ordine reale delle chiamate invece di dedurlo. Accanto alla risposta trovi il Response time in secondi, misurato end-to-end e comprensivo di ragionamento, chiamate a tool e connettori, query e passi di workflow. Attenzione, perché è una trappola frequente: il response time è solo una misura, non assegna Pass o Fail e non influisce sulla pass rate.

I pollici in su e in giù nel pannello di dettaglio non giudicano la risposta dell’agente: sono feedback a Microsoft su quanto efficacemente il metodo di valutazione scelto ha valutato quella risposta. Confondere le due cose è l’errore tipico su questo punto.

Per capire se una modifica ha funzionato usa Compare with: apri una run e scegli data e ora di un’altra run dello stesso test set. Nell’elenco dei casi le frecce segnalano i passaggi da fail a pass e le regressioni da pass a fail; nel pannello Evaluation summary vedi il confronto diretto dei punteggi, con la run corrente in alto. Gli esiti restano in Copilot Studio per un periodo limitato: per conservarli usa Export test results, che scarica un CSV con domanda, risposta attesa, test method, passing score, risposta dell’agente, esito e analisi. Nota infine che tutti i maker vedono stato e metriche di una run, ma solo chi l’ha avviata può leggerne le risposte dell’agente e le spiegazioni.

Modificare il test set e i suoi casi

Agire non significa solo toccare l’agente: a volte è la domanda a essere formulata male o l’attesa a essere irrealistica. Selezionando un caso puoi riscrivere il testo nel campo Question e aggiornare risposte attese, keyword o risorse attese, poi confermare con Apply e chiudere con Save oppure lanciare subito Evaluate. Le caselle di spunta accanto ai casi permettono modifiche in blocco. Nei test set di tipo conversazione l’icona di modifica apre il conversation editor, dove vedi i messaggi utente, modificabili, e le reference response dell’agente, cioè come ti aspetti che risponda in quel contesto; puoi aggiungere passaggi con Add a user question e chiudere con Done. Per ampliare la copertura ci sono Add questions e Add conversations.

C’è un ultimo sospetto da escludere prima di dare la colpa all’agente: il profilo. Con Manage profile scegli l’account che simula l’utente e ne verifichi le connessioni; se il test set non ha profilo o ha connessioni rotte compare la finestra Manage profile and connections. Un fallimento può nascere da una credenziale non funzionante, che è un problema di connessione e non di contenuto del test.

Automatizzare con REST API e connettori

Rilanciare a mano una valutazione dopo ogni modifica non scala. Le valutazioni si possono avviare via Power Platform API: recuperi l’ID del test set, lanci la run e poi leggi i risultati con l’ID della run, che gira in modo asincrono.

POST https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/makerevaluation/testsets/{TestSetId}/run?api-version=2024-10-01

La risposta restituisce runId, executionState, totalTestCases e testCasesProcessed. Il dettaglio della run contiene testCasesResults e, per ogni caso, metricsResults con il type del metodo, lo status, l’eventuale errorReason e aiResultReason, cioè la spiegazione generata dall’AI dell’esito: sono i campi con cui costruisci un gate automatico in una pipeline CI/CD. Per un test general quality il payload data riporta abstention, relevance e completeness.

Se preferisci non scrivere chiamate REST, il connettore Microsoft Copilot Studio espone le stesse operazioni come azioni — Evaluate Agent, Get Agent Test Run Details, Get Agent Test Runs, Get Agent Test Set Details, Get Agent Test Sets — utilizzabili come tool di un agente, in un flow o in Power Automate. Il pattern tipico è un trigger Recurrence che chiama Evaluate Agent, poi verifica con Get Agent Test Run Details che lo stato sia Completed e infine spedisce i risultati a un database, a un’email o a una dashboard. L’esame verifica che sappiate distinguere questi due canali, REST API contro connettore, e che non li confondiate con l’esecuzione manuale dall’interfaccia. Ricordate inoltre il perimetro: la valutazione misura correttezza e prestazioni, non etica o sicurezza dell’AI, quindi non sostituisce le revisioni di responsible AI e i filtri di content safety.