GitHub ha annunciato il lancio del servizio Copilot Workspace, finalizzato a ridurre il tempo che sviluppatori e ingegneri dedicano alla lettura dei codici e all’avvio di un nuovo progetto. Inizialmente, Workspace sarà soltanto disponibile in anteprima per una specifica lista d’attesa di alcuni sviluppatori, anche se poi verrà successivamente integrato nella più ampia piattaforma GitHub Copilot.
Come funziona Copilot Workspace
Nel 2022, GitHub ha lanciato GitHub Copilot come programmatore di coppia con completamento automatico nell’editor, aumentando così la produttività degli sviluppatori fino al 55%. Ad oggi, Copilot è lo strumento di sviluppo IA più adottato da utenti e sviluppatori. Nel 2023 è stato rilasciato Copilot Chat, sbloccando così la potenza del linguaggio naturale nella codifica, nel debug e nei test, consentendo in questo modo agli sviluppatori di conversare con il loro codice in tempo reale.
L’ultima novità è rappresentata da Copilot Workspace, che sarà presto nei repositories (depositi) o nelle librerie di GitHub. Copilot Workspace rappresenta un modo completamente nuovo di creare software con linguaggio naturale. È inoltre stato espressamente progettato per supportare e non certo sostituire la creatività degli sviluppatori in modo più facile e veloce.
Gli sviluppatori non dovranno fare altro che descrivere a Copilot Workspace attraverso delle indicazioni via messaggio cosa hanno intenzione di progettare. Come risposta, Copilot Workspace offrirà una serie di suggerimenti su come strutturare il progetto fin dalle sue fasi iniziali e fornirà una serie di indicazioni successive in merito allo sviluppo del progetto stesso. Gli utenti potranno eventualmente modificare i suggerimenti forniti e, una volta soddisfatti, lanciare il codice (o utilizzare Copilot per completarlo) e finalizzare il progetto. In aggiunta, Copilot Workspace è stato progettato per essere utilizzato su qualsiasi dispositivo, consentendo così un ambiente di sviluppo reale supportato da laptop o smartphone.
Qual è l’utilità principale del servizio
Jonathan Carter, figura di riferimento di GitHub Next, ha dichiarato al sito The Verge di aver sentito lui stesso dai clienti quanto Copilot fosse un’utile risorsa da utilizzare nel bel mezzo di un progetto. Eppure, stando alle sue dichiarazioni, Carter ha puntualizzato come Copilot non fosse stato altrettanto utile all’inizio di un qualsiasi nuovo progetto. Però, l’aggiunta di Copilot all’inizio di un progetto permette agli sviluppatori di dedicare più tempo alla codifica vera e propria, piuttosto che alla lettura del codice e della documentazione per capire come iniziare.
Carter ha anche affermato che Copilot Workspace è un servizio utile per la revisione dei codici più vecchi, dato che è in grado di scansionare la base dei codici e capirne velocemente il funzionamento. In questo modo, infatti, il servizio supera di gran lunga la velocità di comprensione umana di come funziona un qualsiasi codice, considerato che gli esseri umani hanno la necessità di leggere la documentazione in merito al funzionamento di qualsiasi codice.
Da quando è stato lanciato Copilot, la funzione di scrittura e completamento di codici è diventata un’abilità comune di benchmarking (analisi comparativa) dei nuovi modelli di intelligenza artificiale. Negli ultimi due anni, infatti, l’intelligenza artificiale generativa ha cambiato in maniera radicale il panorama degli sviluppatori, soprattutto come strumento integrato all’interno degli ambienti di sviluppo. Però, la maggior parte dei modelli di IA con competenze più limitate possono per lo più svolgere compiti semplici come la funzione di scrittura, sintesi e completamento del codice.
A questo proposito, Microsoft, la società madre di GitHub, ha lanciato Phi-3 Mini, un modello di piccole dimensioni in grado di svolgere compiti di scrittura di codici. L’azienda prevede di rilasciare Phi-3 Small (parametri 7B) e Phi-3 Medium (parametri 14B). I parametri indicati si riferiscono a quante istruzioni complesse un modello può comprendere. Anche altre aziende come Meta hanno rilasciato delle versioni dei loro modelli linguistici di grandi dimensioni per progetti di codifica.