ELAI S.r.l.

Agenti e best-of-n: perché più tentativi possono selezionare la risposta peggiore

Un controesempio esatto separa capacità del generatore, errori del verificatore e selezione: optimum del budget, arresto anticipato e limiti dell’indipendenza.

Agenti e best-of-n: perché più tentativi possono selezionare la risposta peggiore

Abstract: la qualità della ricerca dipende da ciò che seleziona

Un agente può generare molte soluzioni e scegliere quella che riceve il voto più alto da un verificatore. La probabilità che almeno una soluzione sia corretta cresce con il numero di tentativi; la probabilità che quella selezionata sia corretta può invece diminuire. Costruiamo un esempio discreto nel quale il generatore produce risposte corrette nel 60% dei casi e il verificatore ha accuratezza del 99% come classificatore binario. La selezione best-of-n raggiunge il 94,20% con cinque candidati, ma scende al 36,60% con cento. Non è una contraddizione: il massimo esplora la coda degli errori del verificatore.

L’articolo è un’analisi matematica didattica, non un benchmark di un LLM o di un agente EL-AI. Richiede probabilità elementari, eventi indipendenti e somme geometriche. Distinguiamo tre oggetti spesso confusi: disponibilità di una buona soluzione, riconoscimento di quella soluzione e politica che decide quando fermarsi. I numeri sono calcolati esattamente dal modello dichiarato con Python; non derivano da conversazioni, test software o clienti reali.

1. Un verificatore quasi sempre corretto, ma vulnerabile nella coda

Ogni candidato indipendente appartiene a una di tre categorie: C è corretto, con probabilità 0,60 e score 1; O è un errore ordinario, con probabilità 0,39 e score 0; E è un errore raro sopravvalutato, con probabilità 0,01 e score 2. Il nome E non implica un attacco deliberato: può essere una soluzione formalmente convincente che sfrutta una lacuna del criterio. Il verificatore ordina sempre E sopra C sopra O. I pareggi dentro una categoria non cambiano la correttezza della scelta.

P(C)=0.60, score(C)=1 P(O)=0.39, score(O)=0 P(E)=0.01, score(E)=2 selection = argmax score(candidate)

Con soglia di accettazione score≥1, il verificatore classifica correttamente tutti i C e tutti gli O: accuratezza 0,60+0,39=0,99. Anche il confronto fra un candidato corretto e uno errato sembra forte: il corretto vince nel 97,5% dei casi, perché fra gli errori solo 0,01/0,40=2,5% appartiene a E. Nessuna delle due metriche descrive però la selezione del massimo fra cento candidati. Quella politica cambia la distribuzione delle risposte che arrivano all’utente.

2. Derivare la probabilità della risposta scelta

La risposta scelta è corretta se non compare alcun E e compare almeno un C. La probabilità di non vedere E in n estrazioni indipendenti è 0,99^n. Dentro questo evento dobbiamo sottrarre il caso in cui tutti i candidati siano O, che pesa 0,39^n. Se compare anche un solo E, il massimo score è errato. Se compaiono soltanto O, la risposta è ancora errata. Questi tre eventi sono disgiunti e coprono tutti gli esiti: lo script controlla che le probabilità sommino a uno.

P(selected correct | n) = 0.99^n − 0.39^n P(selected E | n) = 1 − 0.99^n P(selected O | n) = 0.39^n P(at least one C | n) = 1 − 0.40^n

L’ultima riga è la prestazione di un selettore ideale che riconosce sempre una risposta corretta, quando esiste. È un limite di disponibilità dei candidati, non la prestazione del verificatore reale. Per n=5 la disponibilità è 98,976%, mentre la selezione effettiva è 94,196763%. Per n=100 la disponibilità è praticamente uno, ma gli E compaiono nel 63,396766% dei gruppi e vengono selezionati. Aumentare la varietà delle soluzioni non corregge automaticamente un criterio che preferisce un errore alla verità.

nCorretto sceltoErrore E sceltoOracle
10.600000000.010000000.60000000
20.828000000.019900000.84000000
50.941967630.049009950.98976000
100.904300670.095617920.99989514
500.605006070.394993931.00000000
1000.366032340.633967661.00000000
Probabilità esatte del modello sintetico: asse orizzontale logaritmico, nessun benchmark di un agente reale. L’oracle misura la presenza di almeno un candidato corretto.
Probabilità esatte del modello sintetico: asse orizzontale logaritmico, nessun benchmark di un agente reale. L’oracle misura la presenza di almeno un candidato corretto.

3. Trovare il budget ottimale senza una ricerca cieca

Chiamiamo P_n la probabilità di selezione corretta. La differenza P_(n+1)−P_n è −0,01·0,99^n+0,61·0,39^n: aggiungere un candidato aiuta soltanto se il secondo termine supera il primo. Il beneficio viene dal recupero dei gruppi composti solo da errori ordinari; il danno viene dall’introduzione di un E in un gruppo finora utilizzabile. Il rapporto (0,39/0,99)^n decresce strettamente: esiste un solo cambio di segno. Il massimo intero è n=5, verificato anche enumerando n da 1 a 1000.

P_(n+1) > P_n ⇔ (0.39/0.99)^n > 0.01/0.61

Il valore cinque non è una raccomandazione per un prodotto: dipende dalle probabilità inventate. Mantenendo P(C)=0,60 e ponendo P(E)=ε, la formula diventa (1−ε)^n−(0,40−ε)^n. Per ε=0,001 il miglior budget è 7 e la probabilità 99,1411%; per ε=0,05 è 3 e 81,45%. Ridurre gli errori ad alto score cambia sia il risultato massimo sia il budget utile. Inoltre un costo positivo per ogni generazione o verifica può rendere conveniente fermarsi prima del massimo di accuratezza.

4. Cambiare la politica: primo accettato e astensione

Consideriamo ora una politica diversa: leggere i candidati in ordine, fermarsi al primo score≥1 e astenersi se nessuno passa entro n tentativi. C ed E passano entrambi; O viene scartato. La probabilità di rispondere è 1−0,39^n. La probabilità congiunta di rispondere correttamente è 0,60·Σ_(j=0)^(n−1)0,39^j, perché j errori ordinari possono precedere il primo C. Dividendo per la probabilità di rispondere si ottiene sempre 0,60/0,61=98,3607%, indipendentemente da n.

Questa regola non trasforma il verificatore in un oracle: circa l’1,64% delle risposte accettate resta errato. Evita però di preferire sistematicamente E a C dopo aver trovato una soluzione accettabile. Il confronto va riportato con due misure: correttezza condizionata alla risposta e copertura, cioè frazione dei casi in cui si risponde. Un sistema che si astiene spesso può sembrare perfetto se si pubblica soltanto la prima. L’attesa del numero di tentativi è (1−0,39^n)/0,61, includendo il caso di esaurimento del budget; il limite è circa 1,63934 tentativi, ma solo sotto le nostre ipotesi.

5. Che cosa rompe il modello, e come valutare un agente

L’indipendenza è una condizione sostanziale. Se i cento candidati sono copie dello stesso esito, la probabilità corretta resta 0,60: le potenze precedenti non valgono. Anche campioni diversi possono condividere la stessa lacuna del modello o del test. In un agente adattivo, ogni tentativo dipende dagli errori precedenti e dai messaggi del verificatore; le probabilità possono cambiare a ogni passo. Servono quindi curve misurate sull’intera politica, con problemi separati fra sviluppo e test, non soltanto una stima per candidato moltiplicata per il budget.

Un secondo verificatore aiuta solo se aggiunge evidenza pertinente. Ripetere lo stesso giudizio con lo stesso errore condiviso non giustifica moltiplicare due probabilità di falso positivo. Per un agente che scrive codice, test indipendenti dai casi usati per cercare la soluzione possono controllare una specifica; non dimostrano automaticamente tutte le proprietà del programma. Il protocollo deve conservare candidati, score, decisioni, astensioni, costi e criteri di correttezza. In questo modo è possibile capire se il limite è generare una soluzione, riconoscerla o scegliere la politica.

6. Rapporto con la letteratura e conclusione

Gao, Schulman e Hilton studiano la sovraottimizzazione dei reward model con best-of-n e PPO. Nella versione arXiv v1 del 2022 consultata, il riferimento “gold” è a sua volta un modello, non una verità umana misurata a ogni passo. Metodi e risultati mostrano perché una proxy ottimizzata richiede una valutazione separata. Il nostro esempio non riproduce quelle curve o quei modelli: isola un meccanismo mediante tre categorie e probabilità note. Non è una rassegna dello stato dell’arte né una prova che ogni ricerca best-of-n peggiori.

La conclusione tecnica è più precisa di “meno tentativi è meglio”: il budget deve essere valutato insieme alla distribuzione degli errori del verificatore e alla regola di selezione. La presenza di una risposta corretta nel gruppo non garantisce che l’agente la restituisca. Il codice allegato calcola tutte le probabilità, controlla la partizione degli eventi e ripete la ricerca del massimo per tre frequenze dell’errore raro. Nessuna casualità, nessun modello addestrato e nessun risultato operativo EL-AI sono impliciti in questi numeri.

Gao L., Schulman J., Hilton J. (2022), Scaling Laws for Reward Model Overoptimization, arXiv:2210.10760v1; methodology §2, results §3.

for n in [1, 2, 5, 10, 50, 100]:
    correct = .99**n - .39**n
    oracle = 1 - .4**n
    print(n, correct, oracle)
print("precision_first_pass", .6/.61)

Codice, dati e istruzioni · JSON. Calcoli didattici eseguiti con Python 3.14.0; figure con Matplotlib 3.11.2. Analisi con assistenza AI, senza dichiarare peer review o revisione umana. Copertina originale ImageGen, illustrativa: non documenta persone, sedi o installazioni EL-AI. Fonti consultate il 24 settembre 2026.