Parlare di Intelligenza Artificiale significa mettersi nell’occhio del ciclone: ogni giorno ci sono novità tecniche, dubbi e ambizioni, errori da correggere, nuove prospettive prima impensabili.
Non fa eccezione il settore informatico, anzi, forse è il più vicino a questa rivoluzione. Ci si inizia a domandare se le IA generative, cioè quelle attuali come ChatGPT, possano generare codice e sviluppare app e programmi da sole.
La risposta breve è sì, potranno, seppur con pazienza e limiti da considerare: vediamo alcune prospettive e come un’IA potrà creare un’app da zero.
Perché la IA generativa fa la differenza anche nell’informatica
Il “gran parlare” sulle Intelligenze Artificiali è recente, ma in realtà questo è un settore in sviluppo da parecchio tempo. Pur considerando solo quelle moderne, le IA sono un elemento comune da almeno trent’anni.
L’intelligenza delle macchine è presente in moltissimi dispositivi che usiamo ogni giorno, basti pensare all’esempio dei giochi e videogiochi. Quello che definiamo comunemente il “computer” non è altro che un’IA, la quale cerca di batterci, se necessario adattandosi a noi.
Questo elemento è molto visibile soprattutto nei videogiochi sportivi, in cui l’IA reagisce a qualsiasi movimento o tattica che utilizziamo. Ma basterebbe pensare al computer Deep Blue che negli anni ’90 sconfisse il campione di scacchi Kasparov.
Allora perché ci sembra tutto così nuovo?
La differenza è che quelle odierne, come ChatGPT, sono IA generative. Il termine indica che sono in grado di generare risposte di varia tipologia (testuale come ChatGPT stesso, di immagine come fa Midjourney, e così via) a fronte di un prompt, cioè di una richiesta, da parte dell’utente.
Così come può trovare risposte, l’IA generativa può crearle, e lo fa incrociando tutti i dati e le informazioni che ha a disposizione. Questo senso di creazione dal nulla (che dal nulla non è: si parte dai dati e dai prompt) ha messo ChatGPT e servizi simili sulla cresta dell’onda.
Le capacità di codice attuali di ChatGPT e delle IA
Attualmente un’IA generativa, come ChatGPT o Bing, può già generare codice e supportare nella creazione di applicativi. Bisogna però ricordare che, nonostante tutto, siamo ancora in una fase iniziale: l’IA è fortemente dipendente dall’umano.
Se chiediamo a ChatGPT le sue capacità in termini di creazione di codici e app, probabilmente ci risponderà che può farlo, ma si porrà da sola dei limiti in termini di affidabilità.
In particolare, risponderà che l’affidabilità cala all’aumentare della complessità del codice che deve generare. Dirà inoltre che non può garantire di generare codice corretto al 100%: serve obbligatoriamente una supervisione umana per controllare la bontà e gli errori.
Abbiamo provato a domandare a un’IA un codice JAVA o HTML per funzioni molto semplici, come la generazione di numeri casuali, le operazioni matematiche, o per mostrare immagini dal web. E le richieste sono andate tutte a buon fine.
ChatGPT può creare app da zero? Le possibilità future dell’IA
Questi codici semplici funzionano perfettamente, ma si tratta di azioni basilari. A dispetto di ciò che dice l’IA stessa, allora, una ChatGPT potrà fare cose sensibilmente più complesse in futuro?
La risposta è probabilmente sì, ma innanzitutto è presto per averne certezza perché questi sistemi sono ancora in fase di sviluppo; inoltre, bisogna vedere in che condizioni, ad esempio di quanta supervisione e verifica avranno bisogno.
Alcuni ci scommettono appieno, come Amazon con la sua nuova suite IA, Bedrock. L’annuncio è recentissimo, la big tech di Bezos promette che le IA saranno integrate in modo esaustivo per tantissime aziende sviluppatrici grazie al linguaggio Titan.
Amazon, tra l’altro, ha svelato che alcune di queste IA sono già state usate, ad esempio quella per generare risultati di ricerca attinenti sul sito e-commerce. Stando alle ambizioni di queste aziende, il futuro sembra dirigersi verso un gigantesco sì.
Al momento le IA in stile ChatGPT sono già molto efficienti (e già molto usate) soprattutto nel supporto all’uomo, ad esempio sottoponendo loro un codice per trovare bug ed errori di compilazione.
Come detto servirà ancora un po’ di evoluzione per andare molto oltre, ed è probabile che il supporto umano non smetterà mai di essere necessario. Eppure, anche la creazione di app e software rischia di cambiare completamente volto. I modi dettagliati li scopriremo più avanti.