Copilot Workspace: Cos’è, come funziona, perché è importante
In un recente intervento al Unstructured Data Meetup, abbiamo ascoltato Idan Gazit, senior research director, e Cole Bemis, senior research engineer presso GitHub Next. Hanno presentato il loro Copilot Workspace, un nuovo ambiente di sviluppo orientato alle attività basato su GitHub Copilot.
Questo ambiente di sviluppo migliora il modo in cui utilizziamo i modelli di IA generativa, poiché ora possiamo andare oltre i semplici suggerimenti di codice fino all’implementazione di intere funzionalità. Nelle sezioni seguenti, esploriamo questo Copilot Workspace e come può aiutarci a creare e mantenere app di IA.
Guarda la registrazione dell’intervento su YouTube.
Che cos’è GitHub Copilot Workspace?
GitHub Copilot Workspace è uno strumento progettato per integrare l’IA generativa direttamente nell’ambiente di coding. Ci consente di fare brainstorming, pianificare, creare, testare ed eseguire codice utilizzando conversazioni e prompt in linguaggio naturale. È progettato per aiutarci a svolgere attività come correggere bug, implementare funzionalità, ecc.
GitHub Copilot Workspace è alimentato da un modello generativo, il che può presentare alcune sfide quando si interagisce con esso, proprio come avviene con i modelli generativi. Una sfida comune è far sì che il modello fornisca una risposta, in questo caso un suggerimento, senza andare completamente fuori strada.
Il team di GitHub Next ha risolto questa sfida implementando punti di guida tra l’attività assegnata e il codice suggerito. Consentono agli sviluppatori di guidare il modello dicendogli quando fraintende le nostre richieste o trascura alcuni casi limite. Diamo un’occhiata al flusso seguito da Copilot Workspace.
Da attività a specifica a piano a codice
Copilot Workspace inizia con la creazione dell’attività e procede verso specifica, pianificazione e coding.
Fig 1- Workflow da attività a specifica a piano a codice
Ecco una panoramica di ogni passaggio:
Creazione dell’attività: Il workflow inizia con un’attività, che potrebbe essere un issue di GitHub, una pull request o una richiesta di funzionalità o idea generale. Questo è il prompt iniziale o il tuo obiettivo.
Specifica: Copilot Workspace genera una specifica di alto livello o uno schema di ciò che deve essere realizzato a partire dall’attività. Sfrutta la sua comprensione della codebase, dei commenti dell’issue e di altri contesti per suggerire una specifica.
Pianificazione: Copilot Workspace trasforma quindi la specifica in un piano dettagliato. Questo piano delinea il processo passo dopo passo necessario per implementare la soluzione, inclusi eventuali cambiamenti di codice, test e altre azioni necessarie. Il piano ti viene poi presentato per la validazione.
Coding: Una volta che sei soddisfatto del piano, Copilot Workspace genera il codice effettivo per implementare la soluzione. Usa il piano come guida, sfruttando la sua comprensione della codebase e dei linguaggi di programmazione per scrivere il codice necessario.
Senza questi punti di guida, è come chiudere gli occhi e sperare di colpire il bersaglio. Ogni passaggio del workflow è modificabile e ti consente di raccogliere o migliorare il contenuto.
Una demo pratica che mostra come funziona Copilot Workspace
Vediamo un esempio pratico per comprendere meglio il workflow di Copilot Workspace. Poiché Copilot è nella fase di revisione tecnica e non è disponibile per tutti, useremo screenshot presentati al suo rilascio ufficiale.
Iniziamo con un issue di GitHub. Questa è l’attività su cui vogliamo che Copilot Workspace lavori con noi. In questo caso, vogliamo aggiungere un giocatore IA al nostro gioco in modo che non richieda sempre due persone. Il giocatore IA dovrebbe bloccare con successo il giocatore umano il 95% delle volte, rendendo il gioco impegnativo ma comunque giocabile. Una volta cliccato su Open in Workspace, il workflow verrà attivato.
Fig 2- Problema dell'opzione giocatore IA di GitHub
Una volta attivato, Copilot Workspace prende la issue come attività e genera le specifiche o una bozza. Esamina la base di codice corrente e verifica che non ci sia alcun giocatore IA. Quindi propone le modifiche che consentirebbero allo stato futuro del gioco di avere un giocatore IA. Puoi fare clic sulla proposta e modificarla per soddisfare le tue aspettative.
Fig 3- Fase di specifica del flusso di lavoro di Copilot Workspace
Una volta soddisfatto della bozza, Copilot Workspace genera il piano per implementarla. Il piano consiste nel modificare i file index.jsx e style.css per incorporare la nuova funzionalità del giocatore IA. Copilot Workspace elenca tutte le modifiche che apporterà in ciascun file per implementare le specifiche. Puoi modificare il piano in questa fase o aggiungere un elemento.
Fig 4- Fase di pianificazione del flusso di lavoro di Copilot Workspace
Dopo aver esaminato il piano ed esserne soddisfatto, il passo successivo è implementare la soluzione pianificata. Ciò comporta la scrittura del codice suggerito nei file suggeriti. Copilot Workspace visualizza i file modificati. Puoi modificare e adattare il codice direttamente nella visualizzazione.
Fig 5- Fase di implementazione del flusso di lavoro di Copilot Workspace
Una volta soddisfatto del codice, puoi aprire un'anteprima live per vedere l'aspetto del gioco. All'interno dell'ambiente Copilot Workspace, un terminale integrato ti consente di validare e testare il codice senza passare a un terminale o ambiente separato. Se sei soddisfatto della nuova funzionalità, in questo caso il giocatore IA, il passo successivo è aprire una pull request.
Fig 6- Fase di creazione della pull request del flusso di lavoro di Copilot Workspace
Questo passaggio consente a te o al tuo team di rivedere le modifiche apportate un'ultima volta prima di eseguire il merge del codice. Questo approccio ci mostra che Copilot Workspace non sostituisce gli sviluppatori, ma aiuta a integrarli, poiché la validazione è necessaria durante tutto il processo.
Semplificare la creazione di RAG con GitHub Copilot Workplace e Milvus
GitHub Copilot Workspace migliora la produttività consentendo un flusso di lavoro di sviluppo da attività a codice tramite l'IA generativa. Questo Copilot Workspace rende la creazione di applicazioni complesse molto più semplice ed efficiente.
Un ottimo esempio è la Retrieval-Augmented Generation (RAG). È una tecnica avanzata progettata per affrontare le allucinazioni dei modelli linguistici di grandi dimensioni (LLM) fornendo a tali modelli conoscenza esterna. RAG comprende due componenti chiave: un Retriever creato con database vettoriali come Milvus o Zilliz Cloud (il Milvus gestito) e modelli di embedding, e un LLM.
Creare applicazioni RAG è complicato. Tuttavia, con Copilot Workspace, tali attività risultano molto più semplificate.
Diamo un'occhiata a un'attività RAG—rendere multilingue un'app monolingue—e vediamo come questo ambiente di lavoro può aiutare.
Hai codice RAG in un'app attualmente monolingue e basata sul database vettoriale Milvus. Vuoi che l'app supporti più lingue utilizzando un modello di embedding con supporto multilingue di Milvus, come BGE-M3. Puoi istruire Copilot Workspace a implementare questa funzionalità.
Implementazione con Copilot Workspace
Ecco come puoi utilizzare Copilot Workspace per implementare questa funzionalità:
Creazione dell'attività: Inizi creando una issue GitHub per rendere l'app multilingue. L'attività consiste nell'integrare il modello multilingue (BGE-M3) nel sistema RAG esistente.
Specifica: Copilot Workspace analizza l'attività e genera una specifica di alto livello. Identifica la necessità di aggiornare la pipeline di elaborazione dei dati per gestire più lingue e modificare il sistema RAG per utilizzare BGE-M3 per il supporto multilingue.
Pianificazione: Il Workspace genera quindi un piano dettagliato. Questo include passaggi come:
Aggiornare il processo di ingestione dei dati per includere dati multilingue.
Modificare la configurazione Milvus esistente per supportare BGE-M3.
Adattare il sistema RAG per sfruttare le capacità multilingue di BGE-M3.
Testare il sistema per garantire che funzioni in più lingue.
- Codifica: In base al piano validato, Copilot Workspace genera il codice necessario:
Aggiorna gli script di ingestione dei dati per preelaborare e indicizzare dati multilingue in Milvus.
Configura il codice Milvus per utilizzare gli embedding BGE-M3 per ricerche di similarità in più lingue.
Modifica il sistema RAG per interrogare Milvus usando il modello multilingue e recuperare risultati pertinenti.
Revisione e test: Rivedi il codice generato, apporti eventuali modifiche necessarie e testi i cambiamenti.
Pull Request e Merge: Una volta soddisfatto, apri una pull request per rivedere le modifiche con il tuo team. Dopo la validazione finale, le modifiche vengono unite, rendendo l'app multilingue.
Conclusione
La presentazione di Idan Gazit e Cole Bemis ha messo in luce il potenziale di GitHub Copilot Workspace. Questo ambiente di sviluppo rappresenta un passo significativo nella semplificazione dello sviluppo software complesso come RAG, aumentando la produttività consentendo un flusso di lavoro di sviluppo dall'attività al codice tramite l'IA generativa.
Ulteriori risorse
Continua a leggere

Introducing Functions and Model Inference on Zilliz Cloud: Automatic Embedding and Reranking with Hosted Models
Zilliz Cloud Functions auto-generate embeddings via OpenAI, Voyage AI, Cohere, or Zilliz Hosted Models. Built-in reranking — just insert text and search.
Milvus/Zilliz + Surveillance: How Vector Databases Transform Multi-Camera Tracking
See how Milvus vector database enhances multi-camera tracking with similarity-based matching for better surveillance in retail, warehouses and transport hubs.

Vector Databases vs. Document Databases
Use a vector database for similarity search and AI-powered applications; use a document database for flexible schema and JSON-like data storage.


