GitHub e OpenAI presentano Copilot AI Assistant per la scrittura di codice
GitHub e OpenAI hanno creato un assistente virtuale basato sull'AI per assistere i developer mentre creano il codice di sviluppo. Gli algoritmi sono un'evoluzione di GPT-3 dedicata a questo contesto. Scopriamo come funziona!
Cos'è GitHub Copilot?
Si tratta di un nuovo assistente virtuale che aiuterà gli sviluppatori a scrivere codice durante la creazione di software, sfruttando l'intelligenza artificiale.
Il sistema è basato su Codex, ovvero una versione migliorata del noto modello di linguaggio GPT-3 di OpenAI dedicata alla collaborazione in un progetto di sviluppo.
Come funziona?
GitHub Copilot sfrutta il concetto dell'elaborazione del linguaggio naturale (NLP) e lo applica al dominio dei linguaggi di programmazione.
L'idea è quella di imitare una tecnica agile si sviluppo del software definita "pair programming", che consiste in due developers nella stessa postazione: uno dei due conduce lo sviluppo e scrive il codice, mentre l'altro supervisiona e revisiona in tempo reale.
L'AI prende il ruolo dell'osservatore, e attraverso Codex cerca di comprendere gli obiettivi dello sviluppatore "conducente", fornendo suggerimenti per completarli.
Come GPT-3, Codex è costruito su un'enorme raccolta di dati per insegnare all'intelligenza artificiale come intervenire sul codice. Il sistema apprende dai suggerimenti che l'utente umano accetta o rifiuta, affinando la sua conoscenza e offrendo idealmente idee di codice sempre migliori.
GitHub Copilot comprende il contesto dal codice su cui stai lavorando, suggerendo righe di codice o intere funzioni,
ha spiegato il CEO di GitHub Nat Friedman in un post sul blog che presenta il nuovo strumento. E continua..
Ti aiuta a scoprire rapidamente modi alternativi per risolvere problemi, implementare test ed esplorare nuove API senza dover adattare noiosamente una soluzione trovata sul web. Durante la digitazione, si adatta al modo in cui scrivi il codice, per aiutarti a completare il tuo lavoro più velocemente.
Le versioni e i linguaggi
GitHub Copilot è disponibile in anteprima su Microsoft Visual Studio Code; la versione a pagamento sarà presto disponibile.
L'IA è già in grado di supportare la maggior parte dei linguaggi di programmazione ma è maggiormente "allenata" sui più diffusi, come JavaScript, Python, TypeScript, Ruby e Go.
Come per con GPT-3, Microsoft ha accesso esclusivo a Codex, ma OpenAI sta pianificando di estendere presto una versione del modello anche a sviluppatori di terze parti.
GitHub Copilot è basato su OpenAI Codex,
ha scritto Friedman.
OpenAI Codex ha un'ampia conoscenza di come le persone usano il codice ed è significativamente più capace di GPT-3 su questo, principalmente perché è stato addestrato su un set di dati che include una concentrazione molto più ampia di codice sorgente pubblico.
Quanto è performante GitHub Copilot?
Di recente è stato fatto un test per rispondere a questa domanda. È stato selezionato un insieme di funzioni Python ben testate all'interno delle repository open source. Sono stati cancellati i "corpi" delle funzioni, chiedendo a Copilot di completarle.
Il modello ha generato codice corretto il 43% delle volte al primo tentativo, e il 57% con tentativi.
GitHub Copilot scrive codice perfetto?
No! Il sistema cerca di comprendere l'intento dell'utente e di generare il miglior codice possibile, ma il codice che suggerisce potrebbe non funzionare sempre. Ciò che viene generato dai suggerimenti va sempre rivisto e testato: gli sviluppatori sono insostituibili, e rimangono al comando.