ChatGPT per la programmazione: ottimo ma attenzione ai limiti

Le capacità di programmazione di ChatGPT variano ampiamente a seconda della complessità del compito, ma eccelle nell'aiutare i principianti e fornire supporto preliminare.

Avatar di Valerio Porcu

a cura di Valerio Porcu

Senior Editor

ChatGPT può essere un eccellente strumento a supporto degli sviluppatori, e di fatto molti lo usano quotidianamente. Molte aziende, poi, usano il meno costoso GTP 3.5 via API, e a tal proposito un recente studio pubblicato da IEEE Spectrum getta luce sulle limitazioni di questo strumento. 

ChatGPT, nello sviluppo software, è usato per una varietà di azioni: dalla generazione di semplici script all'assistenza in compiti di programmazione complessi. Tuttavia, le sue prestazioni variano significativamente in base alla complessità del compito, al linguaggio di programmazione utilizzato e ad altri fattori. Ad esempio, ChatGPT può risolvere problemi di codifica con una percentuale di successo che varia dallo 0,66% all'89%, a seconda di queste variabili.

ChatGPT può essere utile tanto ai principianti quanto agli esperti, perché permette di risparmiare tempo e di fare più cose in meno tempo. Può assistere con compiti di codifica preliminari, come la scrittura di semplici algoritmi, la revisione del codice per efficienza e il debugging. Gli sviluppatori possono chiedere a ChatGPT di rivedere funzioni Python, codice JavaScript, algoritmi di ordinamento in C++, query SQL e fogli di stile CSS, rendendolo uno strumento versatile per varie esigenze di programmazione.

ChatGPT può essere utile tanto ai principianti quanto agli esperti, perché permette di risparmiare tempo e di fare più cose in meno tempo

Tuttavia, ci sono anche notevoli limitazioni. ChatGPT può generare codice plausibile ma errato o insensato (il problema dell’allucinazione esiste anche in questo ambito). Questo problema richiede agli utenti di verificare rigorosamente l'output

In confronto, per alcuni aspetti potrebbero essere preferibili - o almeno complementari - le piattaforme low-code/no-code. Queste piattaforme sono progettate per ridurre al minimo la necessità di una conoscenza approfondita della programmazione, presentando interfacce user-friendly con elementi trascinabili e modelli. Sono ideali per le piccole imprese che cercano di migliorare l'efficienza operativa e possono ridurre il tempo di sviluppo fino all'80%. 

Il rovescio della medaglia è che una piattaforma di questo tipo in genere è parte di un servizio più complesso e costoso rispetto al “semplice” ChatGPT. Ma è probabilmente un falso problema, perché con ogni probabilità l’azienda ha già un fornitore (o magari più di uno) che offre una piattaforma del genere. L’unico possibile ostacolo quindi è imparare a usarla. 

Tornando a ChatGPT, questo strumento permette di lavorare usando il linguaggio naturale. Un aspetto che lo rende molto potente e alla portata appunto anche di programmatori non esperti. Diventa però determinante saper padroneggiare lo strumento ed essere in grado sia di creare il prompt adeguato sia rispondere con prompt aggiuntivi per ottimizzare l’output. Si tratta, in altre parole, di prompt engineering

Resta, comunque, l’imperativo della verifica: l’output della GenAI, che sia codice, testo, immagini o altro, va controllato. E per fare tale controllo serve personale esperto e competente, che sia in grado di vedere gli errori fatti dal bot. Altrimenti si rischia che quegli stessi errori superino il processo di verifica, finendo per rappresentare un problema potenzialmente catastrofico. 

Il problema per le aziende è quindi trovare persone competenti in questo ambito specifico. Nel caso della programmazione, servirà almeno uno sviluppatore che si occupi della supervisione e che si prenda la responsabilità di validare i prodotti creati con ChatGPT. 

Leggi altri articoli