GitHub Copilot: ecco la agent mode e i Copilot Edits, in arrivo anche gli agenti SWE

GitHub Copilot

GitHub ha aggiornato GitHub Copilot con una virata ancora più decisa verso l’agentic AI, introducendo la modalità agent e annunciando la disponibilità generale di Copilot Edits, entrambe in VS Code.

Inoltre, sta aggiungendo Gemini 2.0 Flash al selezionatore di modelli per tutti gli utenti di Copilot. E offre un primo sguardo al nuovo agente autonomo di Copilot, nome in codice Project Padawan.

Dal completamento del codice, alla chat, alla modifica di più file, allo spazio di lavoro e agli agenti, Copilot mette l’uomo al centro del lavoro creativo che è lo sviluppo del software, afferma il team, che aggiunge: l’intelligenza artificiale aiuta a fare le cose che l’utente non desidera fare, in modo che lo sviluppatore possa avere più tempo per quelle che vuole fare.

La nuova agent mode di GitHub Copilot – ora disponibile in preview – è in grado di iterare sul proprio codice, riconoscere gli errori e correggerli automaticamente. Può suggerire comandi da terminale e chiedere all’utente di eseguirli. Analizza anche gli errori di esecuzione con capacità di auto-riparazione.

GitHub CopilotIn modalità agente, Copilot itera non solo sul proprio output, ma anche sul risultato di tale output. E lo farà fino a quando non avrà completato tutte le sottoattività necessarie per completare la richiesta dell’utente. Invece di eseguire solo il compito richiesto dall’utente, Copilot è ora in grado di dedurre ulteriori compiti non specificati, ma necessari per il funzionamento della richiesta principale. Inoltre, è in grado di individuare i propri errori, evitando di dover fare copia/incolla dal terminale alla chat.

Secondo il team di GitHub, la modalità agente cambierà il modo in cui gli sviluppatori lavorano con il loro editor; e come tale, il team la porterà in tutti gli IDE supportati da Copilot. GitHub, al tempo stesso, è consapevole che l’attuale versione Insiders non è perfetta e per questo richiede il feedback da parte degli utenti lavora per migliorare la funzionalità.

Annunciato al GitHub Universe nell’ottobre dello scorso anno, Copilot Edits è ora generalmente disponibile in VS Code: combina il meglio della Chat e della Inline Chat con un flusso conversazionale e la possibilità di apportare modifiche in linea a un insieme di file gestiti dall’utente.

GitHub CopilotIn Copilot Edits si specifica un insieme di file da modificare e si utilizza il linguaggio naturale per chiedere a GitHub Copilot ciò di cui si ha bisogno. Copilot Edits apporta modifiche in linea nello spazio di lavoro, su più file, utilizzando un’interfaccia utente progettata per una rapida iterazione. L’utente rimane nel flusso del codice mentre esamina le modifiche suggerite, accetta quelle che funzionano e itera con richieste di follow-up.

Dietro le quinte, Copilot Edits sfrutta un’architettura a doppio modello per migliorare l’efficienza e l’accuratezza dell’editing. In primo luogo, un modello linguistico di base considera il contesto completo della sessione di Edits per generare suggerimenti di modifica iniziali. È possibile scegliere il modello linguistico di base che si preferisce tra: GPT-4o, o1, o3-mini di OpenAI, Claude 3.5 Sonnet di Anthropic e ora Gemini 2.0 Flash di Google. Per un’esperienza ottimale, il team ha sviluppato un endpoint di decoding speculativo, ottimizzato per l’applicazione rapida delle modifiche ai file. Le modifiche proposte dal modello foundation vengono inviate all’endpoint di decoding speculativo che le proporrà in linea nell’editor.

Copilot Edits – spiega il team di GitHub– dà il controllo all’utente, dall’impostazione del contesto giusto all’accettazione delle modifiche. L’esperienza è iterativa: quando il modello sbaglia, è possibile rivedere le modifiche su più file, accettare quelle buone e iterare finché, insieme a Copilot, non si arriva alla soluzione giusta. Dopo aver accettato le modifiche, è possibile eseguire il codice per verificarle e, se necessario, annullare in Copilot Edits per tornare a uno stato di lavoro precedente. Copilot Edits si trova nella barra laterale secondaria (di default a destra), in modo da poter interagire con le viste della barra laterale primaria, come Explorer, Debug o Source Control, mentre si esaminano le modifiche proposte.

L’uso della voce è un’esperienza naturale durante l’utilizzo di Copilot Edits. Il solo fatto di parlare con Copilot rende il flusso di lavoro scorrevole e colloquiale: sembra quasi – sottolinea il team – di interagire con un collega esperto del settore, utilizzando lo stesso tipo di flusso iterativo che si usa nel pair programming della vita reale.

Oltre alla GA in VS Code, Copilot Edits è ora in anteprima per Visual Studio 2022.

Infine, il progetto Padawan riguarda gli agenti SWE su GitHub.

Gli SWE agents, introdotti per la prima volta in un paper dello scorso anno, sono un tipo di sistema automatizzato o guidato dall’intelligenza artificiale che assiste (o agisce per conto) gli ingegneri del software. Possono svolgere diverse attività di sviluppo, come la generazione e la revisione del codice, il refactoring o l’ottimizzazione della base di codice, l’automazione di flussi di lavoro come i test o le pipeline e la fornitura di indicazioni sull’architettura, la risoluzione degli errori e le best practice. Il loro scopo è quello di scaricare alcune delle attività di routine o specializzate degli ingegneri del software, dando loro più tempo per concentrarsi su lavori di maggior valore. Le prestazioni degli agenti SWE sono spesso misurate rispetto a SWE-bench, un insieme di 2.294 coppie Issue-Pull Request provenienti da 12 repository Python popolari su GitHub.

GitHub ha condiviso un primo sguardo al suo agente SWE autonomo e a come l’azienda immagina che questo tipo di agenti si inserisca nell’esperienza utente di GitHub. Quando il prodotto che sta costruendo con il nome in codice di Project Padawan verrà lanciato nel corso dell’anno, permetterà di assegnare direttamente i problemi a GitHub Copilot, utilizzando uno qualsiasi dei client di GitHub, e di fargli produrre richieste di pull completamente testate. Una volta terminata un’attività, Copilot assegnerà dei revisori umani alla pull request e lavorerà per risolvere i feedback aggiunti. In un certo senso, sarà come se Copilot fosse un collaboratore di ogni repository su GitHub.

Dietro le quinte, Copilot avvia automaticamente una sandbox cloud sicura per ogni task che gli viene assegnato. Quindi clona in modo asincrono il repository, imposta l’ambiente, analizza la base di codice, modifica i file necessari, costruisce, testa e lima il codice. Inoltre, Copilot tiene conto di qualsiasi discussione all’interno dell’issue o della PR e di qualsiasi istruzione personalizzata all’interno del repository, in modo da comprendere l’intero intento del suo compito, nonché le linee guida e le convenzioni del progetto.

Proprio come ha fatto con le Copilot Extensions e il model picker in Copilot, il team fornirà anche opportunità di integrazione in questo flusso di lavoro nativo dell’intelligenza artificiale e lavorerà a stretto contatto con partner e clienti in uno stretto ciclo di feedback. Il team ritiene che lo stato finale di Project Padawan trasformerà il modo in cui i team gestiscono attività critiche ma banali, come la correzione di bug o la creazione e la manutenzione di test automatizzati. Perché, in ultima analisi, si tratta di responsabilizzare gli sviluppatori consentendo loro di concentrarsi su ciò che conta e lasciando che i copiloti facciano il resto.

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome