Ne parlano tutti: ChatGPT è il software di intelligenza artificiale che, attingendo a dati e informazioni su internet, riesce a interagire e dialogare con gli esseri umani. Sviluppato dall’americana OpenAI, il software è la novità del periodo in tema di intelligenza artificiale, suscitando molta curiosità, ma anche qualche critica e reticenza.
In particolare, ci si chiede in che modo ChatGPT potrebbe costituire un supporto per alcuni lavori e in quale misura possa invece sostituirvisi. L’intelligenza artificiale, ad esempio, potrebbe essere utile nella programmazione: ma in che modo?
L’intelligenza artificiale, e più specificatamente ChatGPT, può avere un ruolo nella riscrittura ottimizzata e nella generazione di un codice sulla base di alcune specifiche, può servire in fase di identificazione e correzione di bug, può automatizzare i processi di sviluppo (come testing del software, la gestione del codice sorgente e la compilazione). Inoltre, può garantire un accesso immediato e diretto a informazioni utili.
Il lavoro del programmatore viene in questo modo velocizzato e facilitato. Il completamento della sintassi, le correzioni, la scrittura stessa del codice permettono al developer di concentrarsi su altri aspetti, aumentando così la produttività, migliorando la qualità del codice grazie anche alla riduzione degli errori e risparmiando tempo utile.
Inoltre, per automatizzare alcune attività e quindi ottimizzare il lavoro, è possibile anche integrare ChatGPT con altri applicativi, come editor di testo avanzati, sistemi di monitoraggio e analisi per controllare le prestazioni e correggere errori in tempo reale e analisi o strumenti di gestione del progetto per pianificare le attività.
I vantaggi di ChatGPT sono molteplici, ma siamo ben lontani da una sostituzione in toto dell’intelligenza umana.
L’AI generativa in effetti non è un concetto nuovo per i programmatori, che già da un anno hanno la possibilità di utilizzare GitHub Copilot, che scrive il codice a partire dal linguaggio naturale. Inoltre, ChatGPT è solo uno degli strumenti che possono coadiuvare i developer nella programmazione o nella realizzazione di applicazioni web (per citarne alcuni: Replit Ghostwriter; GitHub Copilot; MutableAI; Tabnine; Amazon CodeWhisperer). Se poi pensiamo che esistono anche altre applicazioni, come Uizard.io, Mixo.io e Durable.co, che permettono di creare siti web in poco tempo, anche senza competenze in tema di programmazione, ci rendiamo conto che ChatGPT è solo la novità in tema di programmi e software di intelligenza artificiale e non rappresenta la soluzione definitiva.
Le premesse sono le stesse rispetto a qualche tempo fa, quando il software di OpenAI non era ancora noto al mondo: resta da chiedersi se ChatGPT possa realmente sostituire un programmatore.
In una qualche misura, abbiamo già risposto a questa domanda: non totalmente, i programmatori “umani” sono ancora essenziali.
La scrittura di un codice attraverso l’uso esclusivo di questa tecnologia potrebbe incorrere infatti in grandi limitazioni di linguaggio e di comprensione del contesto, ma anche nella qualità dei dati e nella sicurezza. Limitazioni tecniche, errori sintattici, spezzoni disorganici di codice, mancanza di un contesto: ChatGPT non può prescindere da verifiche di qualità da parte dell’uomo. Tra l’altro, il discorso si fa spinoso se a utilizzare questa tecnologia è un programmatore junior, che rischia di dipendere troppo da questa tecnologia, appiattendo così le proprie conoscenze e competenze.
In conclusione, ChatGPT può essere sicuramente un valido aiuto per i programmatori senior, che possono sfruttarla come supporto per velocizzare il lavoro. Questa tecnologia però non potrà sostituirli, perché la correttezza del codice dipende dalla revisione finale, ancora tutta umana.