Uno dei progetti più interessanti di GitHub, servizio di hosting per progetti software acquisito a suo tempo da Microsoft, è certamente Copilot.
GitHub Copilot utilizza l’intelligenza artificiale per “comprendere” il codice che gli sviluppatori stanno realizzando e propone soluzioni a problemi concreti.
Utilizzando il linguaggio naturale, il programmatore può chiedere a GitHub Copilot di scrivere codice al suo posto: lo strumento “capisce” ciò che lo sviluppatore vuole ottenere e utilizza le sue conoscenze per predisporre la soluzione migliore.
Copilot è stato per lungo tempo in fase di test e gli sviluppatori di tutto il mondo hanno fatto a gara per iscriversi al programma beta. Uno strumento come Copilot permette infatti di velocizzare significativamente lo sviluppo di codice riducendo il numero di ore di lavoro destinate a un progetto.
Secondo i dati condivisi da GitHub circa il 40% del codice caricato sulla piattaforma è stato generato usando proprio Copilot. Soltanto a ottobre 2021 dicevamo che l’intelligenza artificiale di Copilot aveva scritto il 30% del coice pubblicato su GitHub.
Copilot è ottimizzato per la programmazione in Python, JavaScript, TypeScript, Ruby, Go, C# e C++ ma è anche in grado di proporre suggerimenti per altri linguaggi e supporta una moltitudine di framework. Tutti aspetti che miglioreranno ulteriormente con il tempo grazie all’estensione delle funzionalità di apprendimento automatico.
Inoltre, è disponibile sotto forma di estensione per i principali IDE (ambienti di sviluppo integrato) ed editor integrati quali Visual Studio, JetBrains, Visual Studio Code e Neovim.
Come provare GitHub Copilot
Dal 21 giugno 2022 GitHub Copilot è diventato disponibile per tutti gli sviluppatori: ciò significa che non è più necessario ottenere una specifica autorizzazione per l’utilizzo della piattaforma che esce dal programma di beta testing.
La cattiva notizia è che GitHub Copilot diventa un prodotto a pagamento utilizzabile al costo di 10 dollari al mese o 100 dollari l’anno per utente. Il servizio può essere provato gratis per ben 60 giorni semplicemente registrando un account.
Gli studenti e i docenti (il loro ruolo verrà però verificato da GitHub) hanno diritto a utilizzare gratuitamente Copilot.
A causa della natura dei modelli di intelligenza artificiale, va comunque tenuto presente che Copilot rimane un sistema imperfetto. I tecnici di GitHub spiegano di aver implementato dei filtri che si occupano di evitare il riutilizzo di indirizzi email, dati personali e parole offensive: Copilot viene addestrato usando codice reperibile pubblicamente online. È quindi verosimile che qualche informazione non pertinente possa essere fatta propria dal sistema e in alcuni casi proposta ai programmatori a fronte di specifiche richieste.
GitHub riconosce che Copilot può talvolta produrre codice di scarsa qualità, introdurre bug o riferimenti non sicuri ad API obsolete. Non bisogna però dimenticare che Copilot vuole essere uno strumento per aiutare lo sviluppatore, non certo una soluzione di programmazione completamente automatica. Il codice generato dall’intelligenza artificiale deve quindi essere esaminato con attenzione prima di essere preso per buono e integrato in un qualunque progetto.
Il modo migliore per provare GitHub Copilot consiste nell’avviare Visual Studio Code, cliccare sull’icona Estensioni nella colonna di sinistra, digitare Copilot quindi installare il componente aggiuntivo.
Cliccando su Sign in to GitHub viene chiesto di effettuare il login sulla piattaforma GitHub usando il proprio account utente (registrare un account se ancora non lo si utilizzasse).
È quindi necessario autorizzare Visual Studio Code a collegarsi con l’account GitHub dell’utente: basta un clic sul pulsante verde Authorize Visual-Studio-Code.
Cliccando infine sul pulsante Copilot settings in basso a destra si apre una pagina Web nel browser predefinito.
Cliccando su Start your free trial viene chiesto di impostare il proprio indirizzo di residenza e un metodo di pagamento (carta di credito o PayPal). In questo modo, alla scadenza dei 60 giorni di prova, GitHub provvederà ad addebitare il costo di abbonamento (a meno che l’utente non annulli prima la sottoscrizione del servizio).
Nell’ultima pagina che viene proposta è possibile decidere se Copilot possa fornire suggerimenti identici a codice già conosciuto pubblicamente (Allow) oppure solo indicazioni che non corrispondono a codice già noto (Block).
Togliendo la spunta da Allow GitHub to use my code snippets for product improvements si evita che Copilot riutilizzi il codice che lo sviluppatore sta predisponendo.
Nella barra di stato e in particolare nell’angolo inferiore destro, è bene verificare che Copilot sia indicato come attivo (la sua icona non deve presentare una barra).
In caso di problemi, dopo aver correttamente concluso la procedura di autenticazione, suggeriamo di chiudere e riaprire Visual Studio Code oppure l’IDE che si sta adoperando.
Cliccando sull’icona di Copilot è anche possibile disattivare l’utilizzo dell’estensione a livello globale (quindi per l’intero editor o IDE) oppure soltanto per uno specifico linguaggio di programmazione.
A questo punto, cliccando su File, Nuovo file di testo e scegliendo un linguaggio di programmazione, ad esempio JavaScript, è possibile provare subito i vantaggi di Copilot.
Provate ad esempio a digitare function calcoladifferenzatradate(
: Copilot mostrerà subito il codice che permette di calcolare i giorni di differenza tra le date specificate. Per accettare il codice proposto da Copilot basta premere il tasto TAB
.
Come abbiamo detto nell’introduzione, Copilot supporta anche il linguaggio naturale. Provate ad esempio a scrivere un commento del genere:
Con buona probabilità Copilot mostrerà il suggerimento // mostra ora corrente nel formato HH:MM:SS
. Per accettare il suggerimento basta premere TAB
.
A questo punto, premendo Invio, apparirà la funzione function getTime()
o similare.
Accettando anche questo suggerimento, Copilot visualizzerà in Visual Studio Code il codice che mostra l’ora di sistema corrente nel formato HH:MM:SS. Il tutto senza aver digitato una singola riga di codice.
Le combinazioni di tasti ALT+ì
e ALT+'
consentono di scorrere i suggerimenti di Copilot.
Altri possibili spunti possono essere trovati in questo articolo ufficiale: provate però a cimentarvi voi con le richieste più astruse sia in termini di funzioni che utilizzando il linguaggio naturale. Scoprirete tutto il potenziale nascosto di Copilot e velocizzerete significativamente lo sviluppo dei vostri progetti software.
In un altro articolo abbiamo visto perché GitHub Copilot non viola alcun diritto di terzi nel riutilizzare il codice disponibile online.