L’IA generativa sa essere uno strumento eccezionale nella programmazione. ChatGPT lo ha dimostrato sin dalla sua uscita e ora, con il modello di linguaggio GPT-4, funziona ancora meglio. Basta un prompt ben illustrato affinché il chatbot scriva stringhe di codice funzionanti, contenenti pochi errori o da ottimizzare. Insomma, il prodotto di OpenAI fornisce agli sviluppatori una base sulla quale lavorare al fine di raggiungere gli obiettivi prefissati, e si rivela un ottimo assistente nella programmazione.
Quest’ultima abilità è diventata ormai essenziale nell’era digitale che stiamo vivendo, e ChatGPT permetterà di velocizzare e semplificare la scrittura di interi programmi e script man mano che diventerà più performante. Esiste, però, anche un’alternativa molto interessante firmata Google DeepMind: si tratta di AlphaCode, sistema già esistente dal 2022 che sa programmare “a livello competitivo”, avvicinandosi sempre di più alle abilità degli esseri umani. Ma come funziona e, soprattutto, a oggi è davvero utile?
Cos’è AlphaCode?
AlphaCode viene descritto dalla stessa società di Alphabet DeepMind, focalizzata nel settore dell’intelligenza artificiale, come un sistema in grado di “scrivere programmi per computer a livello competitivo”. Cosa significa esattamente? Che l’editor IA, almeno sulla carta, può aiutare gli sviluppatori a scrivere codice in maniera più efficiente. Grazie all’apprendimento per rinforzo, AlphaCode perfeziona continuamente le sue capacità man mano che gli utenti sfruttano il servizio. All’atto pratico, infatti, l’IA continua a imparare nuove nozioni tramite l’editor di codice e l’input inserito dal programmatore.
Non lasciatevi andare a pessimismi e preoccupazioni, mi raccomando: questo strumento opera al meglio esclusivamente sotto il controllo di un operatore umano, che deve fornirgli un input manualmente affinché quest’ultimo consigli modifiche al codice. Si tratta perciò di una utility non indifferente, la quale comprende il contesto del codice e genera soluzioni che si uniformino allo stile di programmazione del programmatore stesso, riducendo gli errori e facendo risparmiare tempo prezioso.
E AlphaCode non si ferma alla creazione di codice: può rilevare errori in tempo reale e suggerire correzioni, fornendo al contempo spiegazioni sul motivo per cui si è verificato un errore specifico e suggerendo modi per risolverlo, pulendo infine il codice sorgente. O ancora, l’IA può identificare i colli di bottiglia e suggerire modifiche che possono migliorare le prestazioni delle loro applicazioni.
Vantaggi e svantaggi di AlphaCode
L’intelligenza artificiale di DeepMind, di conseguenza, ha tre chiari vantaggi:
- Fa risparmiare tempo: le funzionalità di completamento automatico e suggerimento di AlphaCode consentono di ridurre la necessità di digitazione manuale, velocizzando la preparazione del programma e il completamento dei progetti.
- Aumenta la produttività: dal risparmio di tempo per ciascuna mansione consegue l’incremento della produttività. A definirlo sono anche le funzionalità di rilevamento e correzione degli errori di AlphaCode, le quali supportano gli sviluppatori nello scovare gli errori in anticipo affinché il codice sia più chiaro anche a un lettore esterno.
- Migliora la qualità del codice: AlphaCode rende le applicazioni molto più gradevoli da leggere e modificare manualmente nel caso in cui siano necessari cambiamenti sul momento, anche quando l’IA non è disponibile.
Tuttavia, non aspettatevi un’IA davvero performante: rispetto a inizio 2022, quando Google DeepMind ha mostrato al pubblico le prime attività di AlphaCode, si notano ancora diversi problemi che rendono l’algoritmo lento nella realizzazione di progetti particolarmente complessi. Le potenzialità di AlphaCode sono evidenti, e i casi d’uso sono chiari: dallo sviluppo di software all’analisi di dati, fino al machine learning, l’IA può rivelarsi essenziale per intervenire su linguaggi come Python, Java e C++. C’è però ancora molta strada da fare per giungere a uno strumento molto competitivo e altamente performante. Esattamente come ChatGPT, AlphaCode richiede altro lavoro dietro le quinte per pareggiare o superare le abilità umane.
AlphaCode è uno strumento gratuito accessibile tramite il sito ufficiale, o scaricabile sempre a costo zero tramite GitHub assieme al set di test estesi con i quali provare l’IA sul campo e completare alcuni benchmark. Quale sarà il suo futuro? Come afferma la stessa DeepMind, l’esplorazione nella generazione del codice lascia ampi margini di miglioramento e suggerisce idee ancora più entusiasmanti che potrebbero aiutare i programmatori a migliorare la loro produttività e aprire il campo a persone che attualmente non scrivono codice. Le ricerche nel segmento continueranno e, probabilmente, si tradurranno in un futuro più o meno prossimo in strumenti per migliorare la programmazione e avvicinare i programmatori a un’IA in grado di risolvere problemi alquanto ostici. Questo, pertanto, è solo l’inizio.
Anche Petr Mitrichev, software engineer di Google, ha affermato che AlphaCode è impressionante e sta progredendo rapidamente, posizionandosi nella Top 54% dei risultati nelle competizioni di Codeforces. Nel corso dei prossimi anni, a suo avviso, l’IA non potrà fare altro che migliorare e raggiungere il livello dei migliori programmatori al mondo. Questi ultimi temono la sostituzione con l’intelligenza artificiale? Affatto: per la community è uno stimolo, una sfida e uno strumento che permetterà di elevare gli esseri umani a livelli mai raggiunti prima. E probabilmente questo è l’approccio giusto per tutti gli strumenti IA.