I punteggi di SWE-bench sono passati dall'1,96% al 72,7% in meno di due anni, un aumento che i titoli hanno presentato come un balzo di 37 volte nella capacità di programmazione dell'IA. Il titolo attira l'attenzione, ma i numeri confrontano due esami diversi, non un singolo e costante miglioramento nelle competenze di ingegneria del software.

I numeri grezzi

Nel 2023, l'originale SWE-bench valutava gli agenti IA su 2.294 reali issue di GitHub. I compiti erano un miscuglio: descrizioni vaghe, test interrotti e molti problemi che persino un essere umano farebbe fatica a risolvere. Entro il 2025, lo stesso nome di benchmark è apparso con un punteggio del 72,7%, ma il test era stato ristretto a un sottoinsieme “Verified” di soli 500 compiti che gli esseri umani avevano verificato per chiarezza e risolvibilità.

Come è cambiato il test

Il passaggio dall'intero catalogo al set Verified è il primo, e più visibile, cambiamento. La collezione originale cercava di riflettere la realtà caotica dei contributi open-source: issue incomplete, scarsamente documentate o semplicemente impossibili senza un contesto aggiuntivo. La versione Verified, al contrario, filtra deliberatamente quel caos. Presenta un set di problemi più pulito e gestibile, in cui punteggi elevati sono realisticamente raggiungibili.

Poiché le due versioni misurano diverse porzioni dello spazio dei problemi, un confronto diretto in percentuale è fuorviante. La cifra dell'1,96% cattura le prestazioni su un lavoro grezzo e non filtrato; la cifra del 72,7% cattura le prestazioni su un campione curato in cui le probabilità di successo sono molto più elevate.

Ingegneria mirata

Un secondo cambiamento, più sottile, è avvenuto nel modo in cui gli sviluppatori hanno approcciato il benchmark. Nel 2023, nessuno costruiva agenti specificamente per superare SWE-bench; il test fungeva da campione casuale delle sfide di programmazione mondiali. Entro il 2025, i team hanno trasformato il benchmark in una classifica. Hanno costruito scaffolding, strategie di prompting e modelli fine-tuned con l'obiettivo esplicito di ottenere punteggi elevati nel set Verified.

Quando gli ingegneri progettano un sistema per superare un test particolare, il punteggio riflette quanto bene il sistema si adatti a quel test, non quanto sia ampiamente capace. Il benchmark ha smesso di essere un campione rappresentativo del lavoro nel mondo reale nel momento in cui è stato “riparato” e trasformato in un obiettivo.

Cosa significa realmente il balzo

Il miglioramento che attira i titoli è reale nel senso che gli attuali agenti di programmazione ottengono prestazioni drasticamente migliori sui compiti Verified rispetto al set originale. Quel miglioramento è importante per competizioni, articoli di ricerca e demo di prodotti che si affidano allo stesso benchmark curato.

Tuttavia, il balzo non dimostra che gli agenti IA possano ora gestire il disordine dello sviluppo software quotidiano. Il set originale di 2.294 issue esiste ancora, e i punteggi su quella versione rimangono bassi.

Domande da porsi

Ogni volta che vedi un cambiamento massiccio nei risultati di un benchmark, tieni a mente questi tre controlli:

  • Quale versione viene riportata? Original, Lite o Verified? Nomi identici possono mascherare pool di task molto diversi.
  • Cosa è stato filtrato? Rimuovere task rumorosi o impossibili alza il soffitto per qualsiasi sistema; ma rimuove anche proprio quelle sfide che contano in produzione.
  • Il sistema è stato costruito per superare questo test specifico? Se gli sviluppatori hanno ottimizzato modelli o pipeline per il benchmark, il punteggio misura l'ottimizzazione, non la capacità pura.

Guardando al futuro

Finché tali precauzioni non diventeranno uno standard, il miglior indicatore dell'utilità di un programmatore IA rimarrà la sua prestazione sulle issue caotiche del mondo reale che gli sviluppatori affrontano quotidianamente.

In sintesi: Un punteggio più alto su un benchmark riparato e mirato non dimostra automaticamente che gli agenti IA siano pronti per il caos del codice nel mondo reale; il vero test rimane rappresentato dai problemi non filtrati con cui gli ingegneri si confrontano ogni giorno.