Coding

Programmare con l’intelligenza artificiale: ecco fin dove ChatGpt può arrivare



Indirizzo copiato

La programmazione è un’area in cui l’IA avrà un impatto significativo, consentendo anche l’automazione di compiti di base. A ChatGPT è già possibile chiedere la scrittura di script e programmi, l’analisi di codice già scritto o anche la traduzione di programmi da un linguaggio a un altro. E siamo solo all’inizio

Pubblicato il 21 feb 2023

Antonio Cisternino

Università di Pisa



script

Le capacità di interloquire in linguaggio naturale con ChatGPT hanno reso rapidamente popolare l’intelligenza artificiale, ma uno dei suoi talenti meno noti è quello di una notevole conoscenza dei linguaggi di programmazione. È infatti possibile sia chiedere la scrittura di script e programmi oppure l’analisi di codice già scritto alla ricerca di specifiche proprietà, come ad esempio difetti. Infine è possibile chiedere la traduzione di programmi da un linguaggio di programmazione ad un altro.

Le capacità di ChatGPT nello scripting

Nonostante le ricche interfacce grafiche di cui disponiamo, scrivere uno script è ancora spesso la via più efficiente per automatizzare azioni di sistema. Come sempre la fantasia nella scrittura del prompt è essenziale nel determinare la risposta.

Consideriamo il seguente esempio:

Immagine che contiene testo Descrizione generata automaticamente

Lo script generato è corretto, e sicuramente è apprezzabile il fatto che l’AI abbia generato i nomi di tutti e 8 degli ipotetici server nonostante il prompt ne abbia elencati 3.

Provando a porre una domanda più difficile si può chiedere uno script capace di trovare i file il cui nome contiene un numero tra 0 e 100. Dopo 3 generazioni di risposte quasi corrette (ma con errori significativi) ho ottenuto uno script che approssimativamente fa la cosa giusta (purtroppo riconosce anche i file che nel nome contengono numeri fino a 999).

Immagine che contiene testo Descrizione generata automaticamente

Come spiega correttamente il test sul nome del file è effettuato dall’espressione regolare “[0-9]{1,3}” che riconosce una sequenza di 1, 2 o 3 occorrenze di caratteri compresi tra 0 e 9.

Se chiediamo di tradurlo in powershell otteniamo una versione corretta dello stesso script:

Immagine che contiene testo Descrizione generata automaticamente

Si possono chiedere numerosi script e, per richieste non troppo complesse, ottenere risposte assolutamente corrette, al punto che può valere la pena per un sistemista chiedere a ChatGPT la generazione dello script di cui si ha bisogno per poi aggiustarlo per le proprie esigenze. Uno dei vantaggi è infatti che l’AI ricorda meglio di un uomo (o quantomeno meglio di me) i numerosi parametri dei vari comandi.

Come se la cava ChatGPT con la programmazione

Si può chiedere la scrittura di un programma, ad esempio di un programma che stampi l’insieme di Mandelbrot (usando il linguaggio F# per motivi di compattezza).

Immagine che contiene testo Descrizione generata automaticamente

Dopo quattro generazioni il risultato non è ancora subito eseguibile, agli occhi di un programmatore salta subito all’occhio che manca l’apertura dello spazio dei nomi System.Numerics dove è definita la classe Complex (con la ‘C’ maiuscola). Inoltre la funzione abs si applica solo ai numeri reali mentre z.Magnitude andava usato al suo posto.

Il risultato è comunque sorprendente e il programma con piccoli aggiustamenti effettivamente mostra l’insieme di Mandelbrot (il programma stampa asterischi ma la forma del frattale si vede bene come evidenziato dalla controparte grafica).

Immagine che contiene testo Descrizione generata automaticamente
À quoi correspondent les figures de Mandelbrot ? - Couleur-Science ...

Se proviamo a chiedere a ChatGPT che errori trova nel programma generato si ottiene una risposta evasiva:

Immagine che contiene testo Descrizione generata automaticamente

Le considerazioni che fa sono assolutamente condivisibili, ma non è in grado di individuare gli errori di tipo che rendono il programma difficile da eseguire.

Ma non è un caso: ChatGPT ha già evidenziato problemi con le discipline esatte come la matematica, non sembra infatti in grado di astrarre i concetti dietro la sintassi utilizzata e può quindi generare output errati come in questo caso. Nei vari tentativi che ho fatto ad esempio ho ottenuto il programma sostanzialmente corretto ma venivano usati numeri reali al posto dei numeri complessi ottenendo un programma completamente errato anche se assomigliava molto a quello corretto.

È però inesatto dire che non è assolutamente in grado di astrarre, in alcuni casi fa delle astrazioni sorprendenti arrivando a trovare l’errore in un piccolo programma:

Sia l’analisi che la spiegazione e la soluzione sono corrette.

Imparare a programmare con ChatGPT

Ci si può chiedere se si possa imparare a programmare dialogando con l’AI. Ecco un primo esempio:

Possiamo anche chiedere l’implementazione di un particolare algoritmo come il QuickSort:

Immagine che contiene testo Descrizione generata automaticamente

Un’applicazione molto utile è quella della traduzione dei programmi, è infatti possibile chiedere a ChatGPT di tradurre le stringhe di un programma risparmiando tempo nella sua traduzione:

Il programma viene mantenuto e solo le stringhe al suo interno vengono tradotte.

Le applicazioni nel mondo della programmazione

Intanto, però, ha fatto notizia la decisione di Amazon che ha proibito ai propri programmatori di utilizzare ChatGPT per evitare il rischio che i frammenti di codice sottomessi all’intelligenza artificiale vengano utilizzati anche per apprendere rimanendo in qualche modo all’interno dell’AI. Nella nota inviata si fa riferimento a casi sospetti in cui il codice generato da ChatGPT assomigliasse troppo a quello interno ad Amazon.

Il dato di fatto è però che dei professionisti si appoggiavano a una AI per essere più produttivi nella gestione di programmi, sottoponendo frammenti di codice e chiedendone analisi varie. Le semplici tecniche analizzate in questo articolo sono quindi utili anche per usi professionali e aprono a scenari nuovi anche nel mondo della programmazione, con la possibilità che l’AI venga integrata in strumenti di programmazione al fine di rendere più efficiente la codifica. Già oggi Visual Studio di Microsoft propone frammenti di codice mentre si scrive, ma non è ancora in grado di generare funzioni o analizzare interi programmi.

Gli usi impropri

Sono noti anche usi impropri di questa tecnologia: esistono sistemi di phishing generati da ChatGPT, che consentono ad hacker di ottenere preziosi frammenti di codice con testi in tutte le lingue del mondo, contribuendo a creare messaggi sempre più plausibili con cui è più facile che gli utenti interagiscano inserendo le proprie credenziali.

Un aspetto centrale della questione è che il codice generato, o analizzato può produrre risposte errate, e questo è un fatto da non sottovalutare poiché programmatori pigri potrebbero introdurre involontariamente bug e comportamenti errati nei propri programmi solo a causa dell’uso di questo supporto. Si tratta di un aspetto decisamente delicato poiché i sistemi digitali, e quindi i programmi, sottendono ormai alla maggior parte delle attività nella nostra vita.

Conclusioni

In ogni caso la programmazione è un’area in cui l’intelligenza artificiale avrà un impatto significativo, consentendo anche l’automazione di compiti di base. Nell’immediato il sistema non sembra in grado di sostituire un programmatore esperto, ma in fondo siamo solo all’inizio. In futuro è plausibile pensare a sistemi capaci di acquisire la specifica in linguaggio naturale di un programma, di generare il programma corrispondente ed eseguirlo, coronando la previsione fatta all’inizio degli anni 50 nel secolo scorso da Alan Turing secondo la quale le macchine avrebbero a un certo punto generato autonomamente le “tabelle” (ovverosia i programmi) senza il bisogno dell’intervento umano.

Speciale PNRR

Tutti
Incentivi
Salute digitale
Formazione
Analisi
Sostenibilità
PA
Sostemibilità
Sicurezza
Digital Economy
CODICE STARTUP
Imprenditoria femminile: come attingere ai fondi per le donne che fanno impresa
DECRETI
PNRR e Fascicolo Sanitario Elettronico: investimenti per oltre 600 milioni
IL DOCUMENTO
Competenze digitali, ecco il nuovo piano operativo nazionale
STRUMENTI
Da Istat e RGS gli indicatori per misurare la sostenibilità nel PNRR
STRATEGIE
PNRR – Piano nazionale di Ripresa e Resilienza: cos’è e novità
FONDI
Pnrr, ok della Ue alla seconda rata da 21 miliardi: focus su 5G e banda ultralarga
GREEN ENERGY
Energia pulita: Banca Sella finanzia i progetti green incentivati dal PNRR
TECNOLOGIA SOLIDALE
Due buone notizie digitali: 500 milioni per gli ITS e l’inizio dell’intranet veloce in scuole e ospedali
INNOVAZIONE
Competenze digitali e InPA cruciali per raggiungere gli obiettivi del Pnrr
STRATEGIE
PA digitale 2026, come gestire i fondi PNRR in 5 fasi: ecco la proposta
ANALISI
Value-based healthcare: le esperienze in Italia e il ruolo del PNRR
Strategie
Accordi per l’innovazione, per le imprese altri 250 milioni
Strategie
PNRR, opportunità e sfide per le smart city
Strategie
Brevetti, il Mise mette sul piatto 8,5 milioni
Strategie
PNRR e opere pubbliche, la grande sfida per i Comuni e perché bisogna pensare digitale
Formazione
Trasferimento tecnologico, il Mise mette sul piatto 7,5 milioni
Strategie
PSN e Strategia Cloud Italia: a che punto siamo e come supportare la PA in questo percorso
Dispersione idrica
Siccità: AI e analisi dei dati possono ridurre gli sprechi d’acqua. Ecco gli interventi necessari
PNRR
Cloud, firmato il contratto per l’avvio di lavori del Polo strategico
Formazione
Competenze digitali, stanziati 48 milioni per gli Istituti tecnologici superiori
Iniziative
Digitalizzazione delle reti idriche: oltre 600 milioni per 21 progetti
Competenze e competitività
PNRR, così i fondi UE possono rilanciare la ricerca e l’Università
Finanziamenti
PNRR, si sbloccano i fondi per l’agrisolare
Sanità post-pandemica
PNRR, Missione Salute: a che punto siamo e cosa resta da fare
Strategie
Sovranità e autonomia tecnologica nazionale: come avviare un processo virtuoso e sostenibile
La relazione
Pnrr e PA digitale, l’alert della Corte dei conti su execution e capacità di spesa
L'editoriale
Elezioni 2022, la sfida digitale ai margini del dibattito politico
Strategie
Digitale, il monito di I-Com: “Senza riforme Pnrr inefficace”
Transizione digitale
Pnrr: arrivano 321 milioni per cloud dei Comuni, spazio e mobilità innovativa
L'analisi I-COM
Il PNRR alla prova delle elezioni: come usare bene le risorse e centrare gli obiettivi digitali
Cineca
Quantum computing, una svolta per la ricerca: lo scenario europeo e i progetti in corso
L'indice europeo
Desi, l’Italia scala due posizioni grazie a fibra e 5G. Ma è (ancora) allarme competenze
L'approfondimento
PNRR 2, ecco tutte le misure per cittadini e imprese: portale sommerso, codice crisi d’impresa e sismabonus, cosa cambia
Servizi digitali
PNRR e trasformazione digitale: ecco gli investimenti e le riforme previste per la digitalizzazione della PA
Legal health
Lo spazio europeo dei dati sanitari: come circoleranno le informazioni sulla salute nell’Unione Europea
Servizi digitali
PNRR e PA digitale: non dimentichiamo la dematerializzazione
Digital Healthcare transformation
La trasformazione digitale degli ospedali
Governance digitale
PA digitale, è la volta buona? Così misure e risorse del PNRR possono fare la differenza
Servizi digitali
Comuni e digitale, come usare il PNRR senza sbagliare
La survey
Pnrr e digitale accoppiata vincente per il 70% delle pmi italiane
Missione salute
Fascicolo Sanitario Elettronico alla prova del PNRR: limiti, rischi e opportunità
Servizi pubblici
PNRR: come diventeranno i siti dei comuni italiani grazie alle nuove risorse
Skill gap
PNRR, la banda ultra larga crea 20.000 nuovi posti di lavoro
Il Piano
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUMPA2022
PNRR e trasformazione digitale: rivedi i Talk di FORUM PA 2022 in collaborazione con le aziende partner
I contratti
Avio, 340 milioni dal Pnrr per i nuovi propulsori a metano
Next Generation EU
PNRR, a che punto siamo e cosa possono aspettarsi le aziende private
Fondi
Operativo il nuovo portale del MISE con tutti i finanziamenti per le imprese
Servizi comunali
Il PNRR occasione unica per i Comuni digitali: strumenti e risorse per enti e cittadini
Healthcare data platform
PNRR dalla teoria alla pratica: tecnologie e soluzioni per l’innovazione in Sanità
Skill
Competenze digitali, partono le Reti di facilitazione
Gli obiettivi
Scuola 4.0, PNRR ultima chance: ecco come cambierà il sistema formativo
Sistema Paese
PNRR 2, è il turno della space economy
FORUM PA 2022
FORUM PA 2022: la maturità digitale dei comuni italiani rispetto al PNRR
Analisi
PNRR: dalla Ricerca all’impresa, una sfida da cogliere insieme
Innovazione
Pnrr, il Dipartimento per la Trasformazione digitale si riorganizza
FORUM PA 2022
PA verde e sostenibile: il ruolo di PNRR, PNIEC, energy management e green public procurement
Analisi
PNRR, Comuni e digitalizzazione: tutto su fondi e opportunità, in meno di 3 minuti. Guarda il video!
Rapporti
Competenze digitali e servizi automatizzati pilastri del piano Inps
Analisi
Attuazione del PNRR: il dialogo necessario tra istituzioni e società civile. Rivedi lo Scenario di FORUM PA 2022
Progetti
Pnrr, fondi per il Politecnico di Torino. Fra i progetti anche IS4Aerospace
Analisi
PNRR, Colao fa il punto sulla transizione digitale dell’Italia: «In linea con tutte le scadenze»
La Svolta
Ict, Istat “riclassifica” i professionisti. Via anche al catalogo dati sul Pnrr
Analisi
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUM PA 2022
Ecosistema territoriale sostenibile: l’Emilia Romagna tra FESR e PNRR
Il Piano
Innovazione, il Mise “centra” gli obiettivi Pnrr: attivati 17,5 miliardi
Analisi
PNRR: raggiunti gli obiettivi per il primo semestre 2022. Il punto e qualche riflessione
Analisi
PNRR: dal dialogo tra PA e società civile passa il corretto monitoraggio dei risultati, tra collaborazione e identità dei luoghi
Webinar
Comuni e PNRR: un focus sui bandi attivi o in pubblicazione
Analisi
Formazione 4.0: cos’è e come funziona il credito d’imposta
PA e Sicurezza
PA e sicurezza informatica: il ruolo dei territori di fronte alle sfide della digitalizzazione
PA e sicurezza
PNRR e servizi pubblici digitali: sfide e opportunità per Comuni e Città metropolitane
Water management
Water management in Italia: verso una transizione “smart” e “circular” 
LE RISORSE
Transizione digitale, Simest apre i fondi Pnrr alle medie imprese
Prospettive
Turismo, cultura e digital: come spendere bene le risorse del PNRR
Analisi
Smart City: quale contributo alla transizione ecologica
Decarbonizzazione
Idrogeno verde, 450 milioni € di investimenti PNRR, Cingolani firma
Unioncamere
PNRR, imprese in ritardo: ecco come le Camere di commercio possono aiutare
I fondi
Industria 4.0: solo un’impresa su tre pronta a salire sul treno Pnrr
CODICE STARTUP
Imprenditoria femminile: come attingere ai fondi per le donne che fanno impresa
DECRETI
PNRR e Fascicolo Sanitario Elettronico: investimenti per oltre 600 milioni
IL DOCUMENTO
Competenze digitali, ecco il nuovo piano operativo nazionale
STRUMENTI
Da Istat e RGS gli indicatori per misurare la sostenibilità nel PNRR
STRATEGIE
PNRR – Piano nazionale di Ripresa e Resilienza: cos’è e novità
FONDI
Pnrr, ok della Ue alla seconda rata da 21 miliardi: focus su 5G e banda ultralarga
GREEN ENERGY
Energia pulita: Banca Sella finanzia i progetti green incentivati dal PNRR
TECNOLOGIA SOLIDALE
Due buone notizie digitali: 500 milioni per gli ITS e l’inizio dell’intranet veloce in scuole e ospedali
INNOVAZIONE
Competenze digitali e InPA cruciali per raggiungere gli obiettivi del Pnrr
STRATEGIE
PA digitale 2026, come gestire i fondi PNRR in 5 fasi: ecco la proposta
ANALISI
Value-based healthcare: le esperienze in Italia e il ruolo del PNRR
Strategie
Accordi per l’innovazione, per le imprese altri 250 milioni
Strategie
PNRR, opportunità e sfide per le smart city
Strategie
Brevetti, il Mise mette sul piatto 8,5 milioni
Strategie
PNRR e opere pubbliche, la grande sfida per i Comuni e perché bisogna pensare digitale
Formazione
Trasferimento tecnologico, il Mise mette sul piatto 7,5 milioni
Strategie
PSN e Strategia Cloud Italia: a che punto siamo e come supportare la PA in questo percorso
Dispersione idrica
Siccità: AI e analisi dei dati possono ridurre gli sprechi d’acqua. Ecco gli interventi necessari
PNRR
Cloud, firmato il contratto per l’avvio di lavori del Polo strategico
Formazione
Competenze digitali, stanziati 48 milioni per gli Istituti tecnologici superiori
Iniziative
Digitalizzazione delle reti idriche: oltre 600 milioni per 21 progetti
Competenze e competitività
PNRR, così i fondi UE possono rilanciare la ricerca e l’Università
Finanziamenti
PNRR, si sbloccano i fondi per l’agrisolare
Sanità post-pandemica
PNRR, Missione Salute: a che punto siamo e cosa resta da fare
Strategie
Sovranità e autonomia tecnologica nazionale: come avviare un processo virtuoso e sostenibile
La relazione
Pnrr e PA digitale, l’alert della Corte dei conti su execution e capacità di spesa
L'editoriale
Elezioni 2022, la sfida digitale ai margini del dibattito politico
Strategie
Digitale, il monito di I-Com: “Senza riforme Pnrr inefficace”
Transizione digitale
Pnrr: arrivano 321 milioni per cloud dei Comuni, spazio e mobilità innovativa
L'analisi I-COM
Il PNRR alla prova delle elezioni: come usare bene le risorse e centrare gli obiettivi digitali
Cineca
Quantum computing, una svolta per la ricerca: lo scenario europeo e i progetti in corso
L'indice europeo
Desi, l’Italia scala due posizioni grazie a fibra e 5G. Ma è (ancora) allarme competenze
L'approfondimento
PNRR 2, ecco tutte le misure per cittadini e imprese: portale sommerso, codice crisi d’impresa e sismabonus, cosa cambia
Servizi digitali
PNRR e trasformazione digitale: ecco gli investimenti e le riforme previste per la digitalizzazione della PA
Legal health
Lo spazio europeo dei dati sanitari: come circoleranno le informazioni sulla salute nell’Unione Europea
Servizi digitali
PNRR e PA digitale: non dimentichiamo la dematerializzazione
Digital Healthcare transformation
La trasformazione digitale degli ospedali
Governance digitale
PA digitale, è la volta buona? Così misure e risorse del PNRR possono fare la differenza
Servizi digitali
Comuni e digitale, come usare il PNRR senza sbagliare
La survey
Pnrr e digitale accoppiata vincente per il 70% delle pmi italiane
Missione salute
Fascicolo Sanitario Elettronico alla prova del PNRR: limiti, rischi e opportunità
Servizi pubblici
PNRR: come diventeranno i siti dei comuni italiani grazie alle nuove risorse
Skill gap
PNRR, la banda ultra larga crea 20.000 nuovi posti di lavoro
Il Piano
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUMPA2022
PNRR e trasformazione digitale: rivedi i Talk di FORUM PA 2022 in collaborazione con le aziende partner
I contratti
Avio, 340 milioni dal Pnrr per i nuovi propulsori a metano
Next Generation EU
PNRR, a che punto siamo e cosa possono aspettarsi le aziende private
Fondi
Operativo il nuovo portale del MISE con tutti i finanziamenti per le imprese
Servizi comunali
Il PNRR occasione unica per i Comuni digitali: strumenti e risorse per enti e cittadini
Healthcare data platform
PNRR dalla teoria alla pratica: tecnologie e soluzioni per l’innovazione in Sanità
Skill
Competenze digitali, partono le Reti di facilitazione
Gli obiettivi
Scuola 4.0, PNRR ultima chance: ecco come cambierà il sistema formativo
Sistema Paese
PNRR 2, è il turno della space economy
FORUM PA 2022
FORUM PA 2022: la maturità digitale dei comuni italiani rispetto al PNRR
Analisi
PNRR: dalla Ricerca all’impresa, una sfida da cogliere insieme
Innovazione
Pnrr, il Dipartimento per la Trasformazione digitale si riorganizza
FORUM PA 2022
PA verde e sostenibile: il ruolo di PNRR, PNIEC, energy management e green public procurement
Analisi
PNRR, Comuni e digitalizzazione: tutto su fondi e opportunità, in meno di 3 minuti. Guarda il video!
Rapporti
Competenze digitali e servizi automatizzati pilastri del piano Inps
Analisi
Attuazione del PNRR: il dialogo necessario tra istituzioni e società civile. Rivedi lo Scenario di FORUM PA 2022
Progetti
Pnrr, fondi per il Politecnico di Torino. Fra i progetti anche IS4Aerospace
Analisi
PNRR, Colao fa il punto sulla transizione digitale dell’Italia: «In linea con tutte le scadenze»
La Svolta
Ict, Istat “riclassifica” i professionisti. Via anche al catalogo dati sul Pnrr
Analisi
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUM PA 2022
Ecosistema territoriale sostenibile: l’Emilia Romagna tra FESR e PNRR
Il Piano
Innovazione, il Mise “centra” gli obiettivi Pnrr: attivati 17,5 miliardi
Analisi
PNRR: raggiunti gli obiettivi per il primo semestre 2022. Il punto e qualche riflessione
Analisi
PNRR: dal dialogo tra PA e società civile passa il corretto monitoraggio dei risultati, tra collaborazione e identità dei luoghi
Webinar
Comuni e PNRR: un focus sui bandi attivi o in pubblicazione
Analisi
Formazione 4.0: cos’è e come funziona il credito d’imposta
PA e Sicurezza
PA e sicurezza informatica: il ruolo dei territori di fronte alle sfide della digitalizzazione
PA e sicurezza
PNRR e servizi pubblici digitali: sfide e opportunità per Comuni e Città metropolitane
Water management
Water management in Italia: verso una transizione “smart” e “circular” 
LE RISORSE
Transizione digitale, Simest apre i fondi Pnrr alle medie imprese
Prospettive
Turismo, cultura e digital: come spendere bene le risorse del PNRR
Analisi
Smart City: quale contributo alla transizione ecologica
Decarbonizzazione
Idrogeno verde, 450 milioni € di investimenti PNRR, Cingolani firma
Unioncamere
PNRR, imprese in ritardo: ecco come le Camere di commercio possono aiutare
I fondi
Industria 4.0: solo un’impresa su tre pronta a salire sul treno Pnrr

Articoli correlati

Articolo 1 di 3