Era il 2021 quando GitHub, proprietà Microsoft, ha portato al debutto Copilot, l’assistente digitale basato su AI concepito per semplificare la vita degli sviluppatori affiancandoli nella scrittura del codice. Il nome stesso riflette la filosofia del progetto: Copilot non vuole sostituire il programmatore, bensì lavorare al suo fianco, intervenendo quando necessario per suggerire modifiche, correggere vulnerabilità di sicurezza e supportare il processo creativo dello sviluppo software. Oggi GitHub Copilot compie un ulteriore passo in avanti grazie all’introduzione della modalità agente e al rilascio di Copilot Edits in Visual Studio Code.
Cos’è la modalità agente di GitHub Copilot e perché è utile
La nuova modalità agente permette a Copilot di iterare sul codice, individuare errori e correggerli senza necessità di intervento umano. Inoltre, l’AI può suggerire comandi da eseguire nel terminale e analizzare errori a runtime con capacità di auto-correzione.
Ciò che rende unica questa funzionalità è la sua capacità di sviluppare delle attività aggiuntive non esplicitamente specificate dallo sviluppatore, ma necessarie per completare la richiesta primaria. L’utente non deve più copiare e incollare manualmente i suggerimenti: Copilot analizza gli errori e li corregge automaticamente, riducendo il carico cognitivo dello sviluppatore.
Secondo Thomas Dohmke, CEO of GitHub, i team di sviluppatori saranno sempre più affiancati da evoluti e sempre più intelligenti agenti AI, capaci di agire come programmatori di pari grado, in possesso del bagaglio tecnico e dell’esperienza necessaria per svolgere i compiti quotidiani.
Come provare la modalità agente
Sebbene la nuova funzionalità sia disponibile per tutti gli sviluppatori interessati, per attivare la modalità agente è necessario scaricare VS Code Insiders, ovvero la versione di anteprima dell’editor Microsoft che sta diventando sempre più un IDE (Integrated Development Environment).
Cliccando sull’icona delle impostazioni (ingranaggio in basso a sinistra), si deve selezionare la voce Estensioni quindi cercare copilot agent
. Come ultimo passo, è necessario abilitare l’opzione Chat agent.
Una volta attivata la nuova caratteristica, si deve fare clic sull’icona Modifiche di Copilot (CTRL+MAIUSC+I
) quindi fare riferimento al riquadro per l’inserimento del prompt nella colonna Chiedi a Copilot.
Copilot Edits: modifiche automatiche sul codice di programmazione
Annunciata in anteprima a GitHub Universe 2023, Copilot Edits rappresenta una svolta nella gestione delle modifiche al codice di programmazione. Questa funzionalità consente agli sviluppatori di specificare un set di file e richiedere modifiche utilizzando il linguaggio naturale. L’AI applica le modifiche inline, permettendo un’iterazione continua fino a ottenere il risultato desiderato.
Copilot Edits sfrutta un’architettura a doppio modello per migliorare l’accuratezza e l’efficienza delle modifiche:
- Un modello linguistico di base elabora il contesto della sessione e genera i suggerimenti iniziali.
- Un endpoint di decodifica speculativa ottimizza l’applicazione delle modifiche nei file, garantendo velocità ed efficacia.
Gli sviluppatori possono scegliere tra diversi modelli AI, tra cui OpenAI GPT-4o, o1, o3-mini, Claude 3.5 Sonnet e Gemini 2.0 Flash. Copilot Edits si integra perfettamente nell’ambiente di sviluppo, permettendo di interagire con altri strumenti come Explorer, Debug e Source Control.
Anche l’integrazione di Gemini 2.0 Flash nel selettore dei modelli AI è una novità assoluta: gli sviluppatori possono così selezionare lo strumento preferito da usare a supporto delle loro lavorazioni con GitHub Copilot che ridefinisce sempre di più il concetto di AI applicata allo sviluppo software.
Project Padawan: l’agente autonomo per sviluppatori
Gli sviluppatori di GitHub non hanno mancato di fornire anche un assaggio di quelli che saranno i prossimi passaggi. Un nuovo agente autonomo SWE (Software Engineer) permetterà ai team di assegnare direttamente problemi da risolvere a Copilot. Una volta completate le attività assegnate, Padawan (questo il nome in codice dell’agente) genererà richieste pull testate automaticamente e collaborerà con revisori umani per risolvere eventuali feedback addizionali.
Project Padawan rappresenta insomma un’anteprima della prossima generazione di SWE agents, sistemi AI progettati per supportare gli ingegneri del software in compiti specifici. Basandosi su una serie di dati reali raccolti dai repository GitHub, questi agenti potranno:
- Generare e revisionare codice
- Ottimizzare il codice e svolgere attività di refactoring
- Automatizzare test e pipeline
- Fornire suggerimenti su architettura e best practice
Dietro le quinte, l’agente autonomo clonerà il repository in un ambiente sicuro, analizzerà il codice, apporterà le modifiche necessarie e verificherà la correttezza delle modifiche attraverso test pratici. Incredibile e quasi impossibile, almeno fino a qualche anno fa.