Introduzione a ThinkingBox

ThinkingBox di Microsoft propone una nuova metrica per valutare gli agenti intelligenti: non più la correttezza delle risposte testuali, ma la coerenza dello stato finale dei sistemi backend. Il benchmark, ora disponibile su Hugging Face, confronta i risultati degli agenti con il contenuto effettivo dei database dopo l’esecuzione di operazioni stateful.

Come funziona il test

Un caso tipico riguarda una cliente che segnala un elettrodomestico da 745 $ rimasto bloccato in uno “exception” di consegna a Nashville, 15 giorni oltre la data stimata. L’agente AI avvia nove chiamate a strumenti: recupera l’ordine, controlla il tracking, consulta il profilo cliente, cerca la politica di rimborso due volte, verifica l’assenza di ticket, ne apre uno, documenta la cronologia e legge correttamente la politica. Il risultato: l’account della cliente non ha diritto a un risarcimento per consegna in ritardo.

Nonostante il percorso sembri corretto, l’agente chiude il ticket come “risolto” e risponde: “Dal momento che la sua richiesta è stata risolta, c’è qualcos’altro su cui posso aiutarla?”. Due errori emergono: l’eccezione del corriere resta aperta (lo stato richiesto è “in sospeso”) e la cliente non riceve una risposta alla sua domanda reale.

Il ruolo del valutatore automatico

Un valutatore che controlla solo le chiamate agli strumenti vede nove chiamate ben formate; un valutatore che controlla lo stato del database rileva lo stesso. Solo il confronto con il database evidenzia la discrepanza. Questo è il nucleo di ciò che ThinkingBox misura: la differenza tra la “voce” dell’agente e il “fatto” registrato.

Metodologia del benchmark

Su 507 flussi di lavoro aziendali stateful, ciascuno eseguito 20 volte con diversi modelli LLM, ThinkingBox assegna un punteggio basato sullo stato finale del backend e sugli effetti collaterali. Il benchmark è disponibile tramite OpenEnv e può essere riprodotto con il file sandboxexternalretailgroup1.py, caso di test testcaseST003006. L’unico campo che fa fallire il controllo è lo stato del ticket, che dovrebbe rimanere “in sospeso” anziché “risolto”.

Risultati principali

Le valutazioni mostrano che i risultati finali e le chiamate valide sono solo proxy: un agente può sembrare corretto ma inserire valori sbagliati, modificare record errati o generare effetti collaterali indesiderati. Solo i record lasciati nel database determinano la verità.

In un’analisi su 121 680 prove valide con 12 modelli LLM, 79 853 tentativi hanno fallito i controlli eseguibili. Di questi fallimenti, il 67,24 % si è concluso senza errori apparenti, ma 77,61 % ha presentato valori di campo errati, 43,30 % ha prodotto effetti extra non intenzionali e 25,36 % ha omesso effetti richiesti.

Ripetibilità e affidabilità

Un agente che gestisce correttamente un rimborso una volta ma lo sbaglia quattro volte non è affidabile. Per questo motivo ogni task è ripetuto 20 volte partendo da uno stato backend pulito. Si riportano tre metriche principali, illustrate nella Tabella 1 del paper originale, che includono:

    • pass@1: percentuale di successi al primo tentativo.
    • pass@20: percentuale di task completati con successo in tutte e 20 le ripetizioni.
    • cost per successful attempt: costo medio per un tentativo riuscito.

Pass@1 per dominio

Il pass@1, la misura più comune nei leaderboard, varia notevolmente tra i domini. Nella Tabella 2, Claude Opus 5.5 ottiene il punteggio più alto complessivo con il 67,16 %, appena sopra Claude Opus 5. Kimi‑K3 è il modello open‑weights più forte, a un punto da GPT‑6‑Astra. La differenza di performance è evidente: Claude Opus 4.6 registra il 68,62 % nel retail ma solo l’8,30 % nell’assicurazione auto.

Consistenza nei 20 tentativi

Il pass@1 non rivela la stabilità. Quando i task sono eseguiti 20 volte, solo tre modelli mantengono la maggior parte del punteggio: GPT‑6 Astra conserva il 78 % del suo tasso singolo, mentre Claude Opus 5.5 e Claude Opus 5 conservano il 71 %. Modelli come GLM‑5.1, Kimi‑K2.6 e DeepSeek‑V4‑Pro mantengono circa l’8 %.

Copertura vs consistenza

Il modello Kimi‑K3 copre il 93,89 % del benchmark almeno una volta (476 su 507 task) ed è il leader nel retail con l’82,24 %. Tuttavia è tra i meno consistenti: solo il 13,41 % dei task supera tutti i 20 tentativi.

Claude Opus 5 mostra il contrario: copre il 79,09 % dei task almeno una volta, ma il 47,53 % dei task è completato con successo in tutte le 20 esecuzioni.

Claude Opus 5.5 migliora leggermente il pass@1 rispetto a Claude Opus 5 (67,16 % vs 66,50 %) ma non aumenta il numero di task passati in tutte le 20 prove, rimanendo a 241 task su 507.

Valutazione dei costi

Per chi deve scegliere un modello per operazioni che modificano record reali, il pass@20 non è la metrica più indicata. Invece si considera il costo per tentativo riuscito, calcolato come costo totale dei token diviso il numero di successi (pass@1). Si usano i listini di OpenRouter+ senza sconti promozionali.

Esempio: GPT‑5.4 spende $43,49 per 507 tentativi, con un pass@1 del 65,36 %, quindi il costo per successo è $0,131. I modelli sulla frontiera di Pareto (costo più basso per la stessa accuratezza) sono GPT‑5.6 Sol, GPT‑5.4 e Claude Opus 5.5.

Claude Opus 5, con $0,475 per successo e un pass@1 del 66,50 %, è più costoso e meno accurato rispetto a Claude Opus 5.5 ($0,276 e 67,16 %).

Costo per affidabilità

Il costo per task affidabile (pass@20) si calcola dividendo il costo della campagna completa (20 × 507 tent