Accumulo di errori dell'agente AI: perché il 95% di precisione per passo non basta
L'accumulo di errori dell'agente AI (compounding error) è l'effetto per cui la probabilità di successo di un compito lungo è il prodotto delle probabilità di successo di ogni passo. Con il 95% di precisione per passo, una catena di 10 passi riesce in circa il 60% dei casi, quella di 20 solo nel 36%. L'harness contrasta il fenomeno controllando ogni passo e fissando lo stato verificato, così che l'errore non si propaghi oltre.
Che cos'è l'accumulo di errori
Un agente risolve un compito non con una singola azione, ma con una catena: leggere un file, modificare una funzione, eseguire i test, correggere un import. Se ogni passo è corretto con probabilità p, i passi sono indipendenti e l'errore di uno solo compromette tutto ciò che segue, la probabilità di successo dell'intera catena di n passi è p elevato alla n. È questo l'accumulo di errori dell'agente AI, in inglese compounding error.
L'intuizione inganna: il 95% per passo suona come affidabilità. Ma l'esponente consuma rapidamente il margine.
| Passi | p = 0,95 | p = 0,99 |
|---|---|---|
| 1 | 95% | 99% |
| 10 | ≈ 60% | ≈ 90% |
| 20 | ≈ 36% | ≈ 82% |
| 50 | ≈ 8% | ≈ 61% |
Il modello è approssimativo: in pratica i passi non sono del tutto indipendenti e alcuni errori sono innocui. Ma la direzione è corretta: più lunga è un'esecuzione autonoma senza controlli, minore è la probabilità che il risultato sia giusto.
Perché le catene lunghe crollano
Un errore al primo passo non resta fermo. L'agente costruisce le modifiche successive su una base sbagliata, e quando qualcosa si rompe visibilmente, sopra il bug ci sono già decine di strati di codice. È peggio quando è l'agente stesso a valutare il risultato: il suo giudizio tende al «va tutto bene», quindi il rapporto «fatto, i test sono verdi» può arrivare anche con un codice rotto a metà.
Che cosa fa l'harness
Migliorare p è possibile solo in parte: il modello non diventerà infallibile. La leva principale è non lasciare che l'errore passi al passo successivo. L'harness chiude il ciclo di feedback.
- Sensore dopo ogni passo. Un solo comando di verifica (per esempio
make verifycon test e linter) misura il risultato in modo onesto, invece dell'autovalutazione dell'agente. - Punto di ripristino. Il passo che supera la verifica viene fissato con un commit. La catena successiva parte dallo stato verificato, e il contatore degli errori di fatto si azzera.
- Correzione minima. Se la verifica fallisce, l'agente corregge la causa specifica invece di riscrivere tutto: così si smorzano le oscillazioni.
- Compiti brevi. Un compito alla volta, passi piccoli, verifiche frequenti: al posto di venti passi alla cieca si ottengono venti catene di un solo passo.
In Claude Code la verifica si può collegare agli hook, così viene eseguita automaticamente e non per buona volontà del modello.
In breve
L'accumulo di errori dell'agente AI è una semplice aritmetica: 0,95 elevato alla decima potenza fa circa 0,60, alla ventesima circa 0,36. Non si cura con un «modello più intelligente», ma con l'harness: controllo di ogni passo, commit dello stato verificato e compiti brevi. La matematica del ciclo e le leggi che la governano sono approfondite nella lezione del corso.
Domande frequenti
Significa che un agente non riuscirà mai a completare un compito di 50 passi?
Senza controlli intermedi le probabilità sono davvero basse. Con una verifica e un commit dopo ogni passo il compito diventa una serie di catene brevi, e il successo complessivo non dipende più dal prodotto di tutti i passi.
Un modello più potente aiuta?
Sì: portare la precisione dal 95% al 99% fa salire il successo su 20 passi dal 36% all'82%. Ma anche il 99% su 50 passi dà circa il 61%, quindi i controlli restano necessari.
Perché l'agente è sicuro del risultato anche quando ha sbagliato?
Senza un sensore esterno l'agente confronta il risultato con la propria aspettativa, non con la realtà. La sua sicurezza cresce indipendentemente dalla correttezza del codice.
Basta chiedere all'agente di controllare sé stesso?
Una richiesta nel prompt non garantisce l'esecuzione. È più affidabile rendere il controllo un meccanismo: un comando separato, un hook o una verifica in CI.
Questo argomento è trattato in modo approfondito, con pratica, nel corso «Harness Engineering: инженерия надёжности AI-агентов».
Vai al corso