L’evoluzione degli assistenti di codifica sta segnando una fase cruciale nello sviluppo software, con l’intelligenza artificiale (IA) che gioca un ruolo sempre più significativo. Sundar Pichai, CEO di Google, ha annunciato che oltre il 25% del nuovo codice scritto all’interno dell’azienda è generato da algoritmi di intelligenza artificiale. Analogamente, Microsoft ha evidenziato come il suo assistente di codifica, GitHub Copilot, contribuisca a generare quasi la metà del codice all’interno dei file in cui è attivato. OpenAI, da parte sua, sta espandendo le capacità di generazione del codice dei suoi modelli, alimentando una competitività che si intensifica nel settore dell’IA.
Tuttavia, non dobbiamo perdere di vista le sfide e i rischi associati a questa tecnologia. Harish Mukhami, CEO di GibsonAI, ha sottolineato come, nonostante i progressi, gli assistenti di codifica manchino spesso di contesto. Questo deficit di comprensione può derivare dalla mancanza di informazioni critiche condivise durante le riunioni tra ingegneri e product manager, oppure dalla scarsa consapevolezza del progetto complessivo per il quale il codice viene generato. Tali lacune possono portare alla creazione di codice ridondante e complesso, contribuendo così a un fenomeno noto come “debito tecnico”, dove il codice di bassa qualità deve essere poi corretto o sostituito.
La dipendenza crescente dagli assistenti di codifica ha anche portato a un aumento della qualità discutibile del codice prodotto. Quinn Slack, CEO di Sourcegraph, ha osservato che gli sviluppatori spesso utilizzano strumenti come GitHub Copilot per ottenere suggerimenti di codice in tempo reale, ma senza effettuare un’accurata revisione. Questo comportamento, simile al completamento automatico in Gmail, può portare a una generazione di codice che non viene rifinito o corretto, con conseguenze potenzialmente problematiche.
Nuovi dati di GitClear, che ha analizzato oltre 153 milioni di righe di modifiche al codice, indicano un significativo aumento del “tasso di abbandono” del codice tra il 2022 e il 2023. Questo tasso misura la percentuale di codice che, una volta messo in produzione, viene poi ripristinato, rimosso o aggiornato entro due settimane. In questo stesso periodo, è emerso un incremento nella pratica degli sviluppatori di copiare e incollare interi blocchi di codice generato dall’IA, spesso senza modifiche. È interessante notare che gli sviluppatori meno esperti tendono a fare maggior affidamento sui suggerimenti di codice forniti dall’IA rispetto ai loro colleghi più esperti.
Per affrontare queste problematiche, una strategia suggerita è l’uso di assistenti di codifica focalizzati su codice boilerplate, come quelli sviluppati da GibsonAI, specializzati nel generare codice backend. Questi strumenti sono più prevedibili e riducono il rischio di generare codice complesso e poco chiaro. Inoltre, assistenti di programmazione come Cursor e Canvas di OpenAI stanno introducendo funzionalità che permettono di correggere automaticamente gli errori e ottimizzare il codice, cercando di mitigare la bassa qualità del codice generato.
Alcune startup, come Sourcegraph, offrono soluzioni che permettono agli utenti di personalizzare le proprie scorciatoie, facilitando così una maggiore integrazione e adattamento alle specifiche esigenze aziendali. Questa personalizzazione non solo aiuta a migliorare la qualità del codice ma favorisce anche la condivisione delle migliori pratiche tra gli ingegneri di un’azienda.
In definitiva, sebbene sia innegabile il valore degli assistenti di programmazione — testimoniato dai 300 milioni di dollari di fatturato che GitHub Copilot è destinato a generare — è fondamentale approcciarsi a queste tecnologie con cautela. È necessaria una supervisione attenta per garantire che il codice generato sia di alta qualità e possa realmente contribuire a una programmazione efficiente e sostenibile nel lungo periodo.