Misurare in modo accurato le capacità dei modelli è importante per decisioni di deployment e sicurezza: quando un benchmark ha difetti che alterano i risultati, si rischia una lettura falsata delle capacità. Dopo aver già abbandonato SWE-bench Verified per problemi di design e contaminazione, OpenAI ha condotto un audit analogo su SWE-Bench Pro, il benchmark che essa stessa aveva consigliato come alternativa, e conclude che circa il 30% dei task è rotto. Per chi confronta modelli di coding, è un promemoria concreto sul fatto che i numeri dei benchmark vanno letti con cautela.
Cosa è emerso
SWE-Bench Pro era pensato per testare orizzonti più lunghi e task più realistici: sullo split pubblico da 731 task, i modelli di frontiera sono passati da un pass rate del 23,3% all’80,3% in otto mesi. La pipeline di analisi dei datapoint di OpenAI ha segnalato 200 task rotti (27,4%), mentre la campagna di annotazione umana ne ha identificati 249 (34,1%). I problemi ricadono in quattro categorie: test troppo rigidi che impongono dettagli implementativi non specificati nel prompt (invalidando soluzioni funzionalmente corrette), prompt sottospecificati che omettono requisiti imposti da test nascosti e non ragionevolmente deducibili, test a bassa copertura che verificano poco la feature (così anche fix incompleti passano) e prompt fuorvianti che contraddicono ciò che i test richiedono.
Metodologia e implicazioni
Un primo filtro automatico ha segnalato 286 task potenzialmente rotti, poi rivisti in due modi: un audit assistito da agenti investigatori basati su Codex (con accesso a repository e ambiente per distinguere l’ambiguità risolvibile dalla vera sottospecificazione) e una campagna con ingegneri software esperti, cinque revisori per task. I revisori umani hanno marcato come rotti più task degli agenti, e in nessun task segnalato l’etichetta più comune è stata “non rotto”; le categorie coincidevano nel 74% dei casi. La differenza maggiore riguardava i test a bassa copertura, indicati dagli umani come problema più comune nel 9,4% del benchmark contro il 4,1% della pipeline, segno di un labeling conservativo.
La radice del problema è nota: issue e pull request dei repository open source nascono per la collaborazione umana, e descrizioni, codice e test non sempre si allineano a formare task puliti e isolati; i test nelle PR tendono a essere troppo rigidi perché scritti per validare uno specifico cambiamento, non uno standard implementation-agnostic. OpenAI nota anche che i difetti sono oggi più facili da individuare, proprio usando i modelli per ispezionare prompt, test e trace su larga scala. In base a questi risultati, OpenAI ritira la raccomandazione ad adottare SWE-Bench Pro e invita gli sviluppatori a esaminare i risultati con attenzione.
- OpenAI stima che circa il 30% dei task di SWE-Bench Pro sia difettoso, con la pipeline automatica al 27,4% e l’annotazione umana al 34,1%.
- I difetti principali sono test troppo rigidi, prompt sottospecificati, test a bassa copertura e prompt fuorvianti.
- OpenAI ritira la raccomandazione al benchmark e suggerisce di costruire nuove valutazioni curate da sviluppatori esperti, difficili da gestire e facili da fidarsi.
Fonte: Separating signal from noise in coding evaluations — https://openai.com/index/separating-signal-from-noise-coding-evaluations
Hai qualcosa da aggiungere? Unisciti alla discussione.