Gli assistenti di codifica basati sull’intelligenza artificiale sono ormai strumenti comuni nel flusso di lavoro degli sviluppatori, promettendo di accelerare la scrittura del codice e risolvere bug con facilità. Tuttavia, un nuovo benchmark sviluppato da Amazon Web Services (AWS), chiamato SWE-PolyBench, ha messo in luce le limitazioni di questi strumenti, rivelando che spesso non sono all’altezza delle sfide reali della programmazione.
SWE-PolyBench è un benchmark multi-linguaggio progettato per valutare le capacità degli assistenti di codifica AI in scenari complessi e reali. A differenza di altri benchmark come SWE-Bench, che si concentra principalmente su Python e su compiti di correzione di bug, SWE-PolyBench include oltre 2.000 sfide di codifica provenienti da problemi reali su GitHub, distribuite su quattro linguaggi: Java, JavaScript, TypeScript e Python. Inoltre, offre un sottoinsieme di 500 problemi (SWE-PolyBench500) per esperimenti più rapidi.
I risultati ottenuti con SWE-PolyBench hanno evidenziato che, sebbene gli assistenti di codifica AI siano efficaci in compiti semplici, mostrano significative difficoltà quando si tratta di affrontare sfide più complesse. In particolare, la loro performance diminuisce quando è necessario modificare più di un file o quando i compiti richiedono una comprensione profonda del codice. Questo suggerisce che molti assistenti AI, pur essendo utili per attività di base, non sono ancora pronti per affrontare le complessità della programmazione su larga scala.
Tradizionalmente, le capacità degli assistenti di codifica AI sono state valutate utilizzando metriche semplici, come il tasso di successo, che misura se una correzione proposta risolve un problema. Tuttavia, queste metriche non offrono una visione completa delle reali capacità dell’assistente. SWE-PolyBench introduce metriche più sofisticate, come la localizzazione a livello di file e il recupero a livello di nodo dell’albero sintattico concreto (CST), per valutare con maggiore precisione l’efficacia degli assistenti AI.
Per gli sviluppatori, questi risultati evidenziano l’importanza di non affidarsi completamente agli assistenti di codifica AI, soprattutto per compiti complessi. È fondamentale utilizzare questi strumenti come supporto, mantenendo un controllo attivo sul processo di sviluppo. Per le aziende, l’adozione di assistenti AI dovrebbe essere accompagnata da una valutazione critica delle loro capacità, utilizzando benchmark come SWE-PolyBench per garantire che gli strumenti scelti siano adeguati alle esigenze specifiche.