Red Hot Cyber

Sicurezza informatica, cybercrime, hack
news, e altro ancora
  • English

Le AI domineranno il futuro della programmazione?

Autore: Eros Capobianco

Data Pubblicazione: 07/09/2021

Github copilot sarà il futuro nel campo della programmazione? Al momento disponibile come estensione per l’IDE Visual Studio è in fase di anteprima tecnica accessibile attraverso il sito di Github Copilot.

Advertisements

Questa estensione permette l’auto-completamento di intere porzioni di codice sorgente!

Il programmatore, spesso si trova in situazioni non conosciute e proprio per questo motivo una delle sue competenze chiave deve essere la versatilità. Di conseguenza si ritrova a spulciare documentazioni tecniche, libri e forum alla ricerca della soluzione migliore ad ogni problema.

Questo porta il soggetto ad una continua ricerca ed una continua formazione attraverso la quale in contesti differenti, può associare le informazioni e sviluppare nuovi algoritmi e soluzioni.

Advertisements

L’assistente basato su Codex, si tratta di una nuova Intelligenza Artificiale sviluppata da OpenAI che permette a copilot di comprendere il contesto di sviluppo e di conseguenza proporre intere porzioni di codice.

L’intelligenza artificiale che potrebbe rappresentare una “rivoluzione” per il settore è forse arrivata? Come però molti si staranno chiedendo, questa è una benedizione o una maledizione?

Advertisements

La “Tecnica” dietro il sipario

Come specificato da OpenAI, la nuova Intelligenza Artificiale che muove i fili dietro Copilot è una discendente di GPT-3 un modello di linguaggio auto-regressivo utilizzato nelle IA per produrre risposte in linguaggio naturale, questo modello è stato ben definito attraverso un documento di OpenIA (https://openai.com/blog/generative-models/) in cui viene spiegato come un intelligenza artificiale possa essere “allenata” attraverso enormi dataset prima di essere utilizzata migliorandone l’efficienza. Dal concetto quindi di generative pre-training nacque GPT-3.

Le AI che alimentano Codex, implementano la logica alla base del suo predecessore per rispondere agli stimoli attraverso ulteriore codice e come dichiarato dai produttori, è stata allenata principalmente sul sorgente pubblico presente nella grande e nota piattaforma Github, al punto che tra le note di TheVerge (Come affermato qui

https://www.theverge.com/2021/6/29/22555777/github-openai-ai-tool-autocomplete-code) vi si trova un avviso in rifermento al fatto che Codex potrebbe rispondere anche incorporando E-mail e numeri telefonici presenti nel codice sorgente dei data set di allenamento.

Advertisements

Come fatto notare da TheVerge, nascono inoltre altre problematiche come la produzione involontaria da parte della IA di “linguaggio offensivo” a causa di bias cognitivi.

Mentre dai test effettuati da FastAi (https://www.fast.ai/2021/07/19/copilot/) si può notare la potenza dello strumento nel momento in cui viene effettuata una richiesta come questa:

Advertisements

L’intelligenza artificiale all’interno genererà un numero impressionante di 89 linee di codice!

I problemi che al momento permangono è l’affinamento dell’intelligenza artificiale, in quanto spesso le ripetizioni portano chiaramente allo sviluppo di programmi difficilmente manutenibili, con bug e vulnerabilità al suo interno.

Problemi Etici legati a Copilot

Eticamente di cosa si sta parlando?

Advertisements

Al momento Copilot essendo in fase di testing ha una gestione della “censura” riguardo a termini offensivi. Al contempo è giusto che ci sia perché le intelligenze artificiali imparando attraverso le loro esperienze potrebbero essere “volontariamente deviate”: prevenire è meglio che curare!

Il punto fondamentale però non riguarda la nostra AI, al contrario, sono gli umani la chiave! Avere tra le mani uno strumento che semplifica così tanto un campo chiave come la programmazione sarà un vantaggio tra le mani di qualcuno e uno svantaggio tra le mani di altri!

Vi sono programmatori che onorando il loro ruolo studiano giorno e notte per comprendere gli algoritmi e le logiche dietro gli script che devono utilizzare, altri invece sono programmatori che “copiano ed incollano”, anche se spesso forzati a studiare almeno la parte di codice inserita per via del fatto che bisogna quanto meno comprendere ciò che si sta inserendo almeno fino a quando non avremo una reale bacchetta magica.

Advertisements

Ed ecco la bacchetta magica, Copilot si propone per ricoprire questo importante ruolo!

Nel momento in cui si dovesse arrivare al punto nel quale il programmatore non sia forzato quanto meno a comprendere le funzionalità di uno script, quali danni potrebbe causare?

D’altra parte dobbiamo invece considerare quei bravi programmatori che comprendono il codice come fosse linguaggio naturale, per queste persone copilot potrebbe diventare uno strumento chiave per lo sviluppo di algoritmi e script/snippet molto più complessi e scritti in breve tempo, script che potrebbero portare grande innovazione.

Advertisements

Tra Tecnica ed Etica

Siamo giunti a quella che potrebbe essere la prossima rivoluzione tecnologica.

Un’IA cosi potente da saper scrivere del codice (per ora con l’approvazione di un umano), che potrebbe nascere e con se porta molte domande alla quale nessuno sa rispondere.

Advertisements

Tra le più visionarie potremmo citarne alcune quali:

  • Molti programmatori potrebbero venire rimpiazzati in futuro?
  • Nasceranno quindi nuovi ruoli nel campo informatico?

Mentre la più banale e spesso dimenticata “manualità” tecnica, parla di conoscenze, le nuove generazioni di programmatori avranno a disposizione anche questo nuovo strumento che gli consentirà di sviluppare codice in un modo assistito andando verso un mondo nel quale le macchine costruiscono altre macchine e si programmano da sole.