Copilot Workspace: Was es ist, wie es funktioniert, warum es wichtig ist
In einem kürzlich gehaltenen Vortrag beim Unstructured Data Meetup hörten wir von Idan Gazit, einem Senior Research Director, und Cole Bemis, einem Senior Research Engineer bei GitHub Next. Sie stellten ihren Copilot Workspace vor, eine neue aufgabenorientierte Entwicklungsumgebung, die auf GitHub Copilot aufbaut.
Diese Dev-Umgebung verbessert, wie wir generative KI-Modelle nutzen, da wir nun über einfache Codevorschläge hinausgehen und ganze Features implementieren können. In den folgenden Abschnitten wollen wir diesen Copilot Workspace erkunden und sehen, wie er uns helfen kann, KI-Apps zu erstellen und zu warten.
Sehen Sie sich die Aufzeichnung des Vortrags auf YouTube an.
Was ist GitHub Copilot Workspace?
Der GitHub Copilot Workspace ist ein Tool, das darauf ausgelegt ist, generative KI direkt in die Coding-Umgebung zu integrieren. Es ermöglicht uns, mithilfe von Gesprächen und Prompts in natürlicher Sprache Ideen zu sammeln, zu planen, zu entwickeln, zu testen und Code auszuführen. Es wurde entwickelt, um uns bei Aufgaben wie dem Beheben von Bugs, dem Implementieren von Features usw. zu helfen.
Der GitHub Copilot Workspace wird von einem generativen Modell angetrieben, was bei der Interaktion damit einige Herausforderungen mit sich bringen kann, genau wie bei generativen Modellen im Allgemeinen. Eine häufige Herausforderung besteht darin, das Modell dazu zu bringen, eine Antwort zu liefern, in diesem Fall einen Vorschlag, ohne völlig vom Kurs abzukommen.
Das GitHub Next-Team löste diese Herausforderung, indem es Steuerungspunkte zwischen der gegebenen Aufgabe und dem vorgeschlagenen Code implementierte. Sie ermöglichen Entwicklern, das Modell zu leiten, indem sie ihm mitteilen, wenn es unsere Anfragen missversteht oder einige Randfälle übersieht. Werfen wir einen Blick auf den Ablauf, dem Copilot Workspace folgt.
Von der Aufgabe zur Spezifikation zum Plan zum Code
Der Copilot Workspace beginnt mit der Aufgabenerstellung und geht dann in Spezifikation, Planung und Coding über.
Abb. 1 – Workflow von der Aufgabe zur Spezifikation zum Plan zum Code
Hier ist eine Aufschlüsselung der einzelnen Schritte:
Aufgabenerstellung: Der Workflow beginnt mit einer Aufgabe, die ein GitHub-Issue, ein Pull Request oder eine allgemeine Feature-Anfrage bzw. Idee sein kann. Dies ist der anfängliche Prompt oder Ihr Ziel.
Spezifikation: Copilot Workspace erstellt eine übergeordnete Spezifikation oder Gliederung dessen, was aus der Aufgabe erreicht werden muss. Er nutzt sein Verständnis der Codebasis, Issue-Kommentare und anderer Kontexte, um eine Spezifikation vorzuschlagen.
Planung: Copilot Workspace wandelt die Spezifikation anschließend in einen detaillierten Plan um. Dieser Plan beschreibt den Schritt-für-Schritt-Prozess, der erforderlich ist, um die Lösung zu implementieren, einschließlich aller notwendigen Codeänderungen, Tests und anderer Aktionen. Der Plan wird Ihnen dann zur Validierung präsentiert.
Coding: Sobald Sie mit dem Plan zufrieden sind, generiert Copilot Workspace den eigentlichen Code zur Implementierung der Lösung. Er verwendet den Plan als Leitfaden und nutzt sein Verständnis der Codebasis und Programmiersprachen, um den notwendigen Code zu schreiben.
Ohne diese Steuerungspunkte ist es, als würde man die Augen schließen und hoffen, das Ziel zu treffen. Jeder Schritt im Workflow ist bearbeitbar und ermöglicht es Ihnen, den Inhalt zu sammeln oder zu verbessern.
Eine praktische Demo, die zeigt, wie Copilot Workspace funktioniert
Schauen wir uns ein praktisches Beispiel an, um den Copilot-Workspace-Workflow besser zu verstehen. Da Copilot sich in der technischen Review-Phase befindet und nicht für alle verfügbar ist, verwenden wir Screenshots, die bei seiner offiziellen Veröffentlichung präsentiert wurden.
Beginnen wir mit einem GitHub-Issue. Dies ist die Aufgabe, an der Copilot Workspace mit uns arbeiten soll. In diesem Fall möchten wir unserem Spiel einen AI Player hinzufügen, sodass nicht immer zwei Personen erforderlich sind. Der AI Player sollte den menschlichen Spieler in 95 % der Fälle erfolgreich blockieren, wodurch das Spiel herausfordernd, aber dennoch spielbar bleibt. Sobald Sie auf Open in Workspace klicken, wird der Workflow ausgelöst.
Abb. 2 – Problem mit GitHub-AI-Player-Option
Nach dem Auslösen nimmt Copilot Workspace das Issue als Aufgabe und generiert die Spezifikationen oder eine Gliederung. Es betrachtet die aktuelle Codebasis und validiert, dass es keinen AI player gibt. Anschließend schlägt es die Änderungen vor, die es dem zukünftigen Zustand des Spiels ermöglichen würden, einen AI player zu haben. Du kannst auf den Vorschlag klicken und ihn bearbeiten, damit er deinen Erwartungen entspricht.
Abb. 3 – Spezifikationsschritt im Copilot-Workspace-Workflow
Sobald du mit der Gliederung zufrieden bist, generiert Copilot Workspace den Plan zur Implementierung. Der Plan besteht darin, die Dateien index.jsx und style.css zu ändern, um die neue AI-player-Funktion zu integrieren. Copilot Workspace listet alle Änderungen auf, die es in jeder Datei vornehmen wird, um die Spezifikationen umzusetzen. Du kannst den Plan in dieser Phase bearbeiten oder ein Element hinzufügen.
Abb. 4 – Planungsschritt im Copilot-Workspace-Workflow
Nachdem du den Plan überprüft hast und zufrieden bist, ist die Implementierung der geplanten Lösung der nächste Schritt. Dazu gehört, den vorgeschlagenen Code in die vorgeschlagenen Dateien zu schreiben. Der Copilot Workspace zeigt die geänderten Dateien an. Du kannst den Code direkt in der Anzeige bearbeiten und ändern.
Abb. 5 – Implementierungsschritt im Copilot-Workspace-Workflow
Sobald du mit dem Code zufrieden bist, kannst du eine Live-Vorschau öffnen, um zu sehen, wie das Spiel aussieht. In der Copilot-Workspace-Umgebung ermöglicht dir ein integriertes Terminal, deinen Code zu validieren und zu testen, ohne zu einem separaten Terminal oder einer anderen Umgebung wechseln zu müssen. Wenn du mit der neuen Funktion zufrieden bist, in diesem Fall dem AI player, ist der nächste Schritt, einen Pull Request zu öffnen.
Abb. 6 – Schritt zum Erstellen eines Pull Requests im Copilot-Workspace-Workflow
Dieser Schritt ermöglicht es dir oder deinem Team, die vorgenommenen Änderungen ein letztes Mal zu überprüfen, bevor der Code gemergt wird. Dieser Ansatz zeigt uns, dass Copilot Workspace Entwickler nicht ersetzt, sondern sie ergänzt, da während des gesamten Prozesses Validierung erforderlich ist.
Optimierung der RAG-Erstellung mit GitHub Copilot Workplace und Milvus
GitHub Copilot Workspace steigert die Produktivität, indem es einen Task-to-Code-Entwicklungsworkflow mithilfe generativer KI ermöglicht. Dieser Copilot Workspace macht das Erstellen komplizierter Anwendungen viel einfacher und effizienter.
Ein gutes Beispiel ist Retrieval-Augmented Generation (RAG). Es handelt sich um eine fortgeschrittene Technik, die darauf ausgelegt ist, Halluzinationen großer Sprachmodelle (LLM) zu adressieren, indem diese Modelle mit externem Wissen versorgt werden. RAG umfasst zwei Schlüsselkomponenten: einen Retriever, der mit Vektordatenbanken wie Milvus oder Zilliz Cloud (dem verwalteten Milvus) und Embedding-Modellen erstellt wird, sowie ein LLM.
Das Erstellen von RAG-Anwendungen ist kompliziert. Mit Copilot Workspace werden solche Aufgaben jedoch deutlich stärker optimiert.
Schauen wir uns eine RAG-Aufgabe an – eine einsprachige App mehrsprachig zu machen – und sehen wir, wie dieser Workplace helfen kann.
Du hast RAG-Code in einer App, die derzeit einsprachig ist und von der Milvus-Vektordatenbank unterstützt wird. Du möchtest, dass die App mehrere Sprachen mithilfe eines von Milvus unterstützten mehrsprachigen Embedding-Modells wie BGE-M3 unterstützt. Du kannst Copilot Workspace anweisen, diese Funktion zu implementieren.
Implementierung mit Copilot Workspace
So kannst du Copilot Workspace nutzen, um diese Funktion zu implementieren:
Aufgabenerstellung: Sie beginnen damit, ein GitHub-Issue zu erstellen, um die App mehrsprachig zu machen. Die Aufgabe besteht darin, das mehrsprachige Modell (BGE-M3) in das bestehende RAG-System zu integrieren.
Spezifikation: Copilot Workspace analysiert die Aufgabe und erstellt eine übergeordnete Spezifikation. Es erkennt die Notwendigkeit, die Datenverarbeitungspipeline zu aktualisieren, um mehrere Sprachen zu verarbeiten, und das RAG-System so zu ändern, dass BGE-M3 für mehrsprachige Unterstützung genutzt wird.
Planung: Anschließend erstellt der Workspace einen detaillierten Plan. Dazu gehören Schritte wie:
Aktualisierung des Datenaufnahmeprozesses, um mehrsprachige Daten einzubeziehen.
Änderung der bestehenden Milvus-Einrichtung zur Unterstützung von BGE-M3.
Anpassung des RAG-Systems, um die mehrsprachigen Fähigkeiten von BGE-M3 zu nutzen.
Testen des Systems, um sicherzustellen, dass es in mehreren Sprachen funktioniert.
- Codierung: Basierend auf dem validierten Plan generiert Copilot Workspace den notwendigen Code:
Es aktualisiert die Datenaufnahmeskripte, um mehrsprachige Daten vorzuverarbeiten und in Milvus zu indexieren.
Es konfiguriert den Milvus-Code so, dass BGE-M3-Embeddings für Ähnlichkeitssuchen in mehreren Sprachen genutzt werden.
Es ändert das RAG-System so, dass Milvus mithilfe des mehrsprachigen Modells abgefragt wird und relevante Ergebnisse abgerufen werden.
Überprüfung und Test: Sie überprüfen den generierten Code, nehmen gegebenenfalls notwendige Anpassungen vor und testen die Änderungen.
Pull Request und Merge: Sobald Sie zufrieden sind, öffnen Sie einen Pull Request, um die Änderungen mit Ihrem Team zu überprüfen. Nach der abschließenden Validierung werden die Änderungen gemergt, wodurch die App mehrsprachig wird.
Fazit
Die Präsentation von Idan Gazit und Cole Bemis verdeutlichte das Potenzial des GitHub Copilot Workspace. Diese Entwicklungsumgebung stellt einen bedeutenden Schritt dar, um komplizierte Softwareentwicklung wie RAG zu optimieren und die Produktivität zu steigern, indem sie einen Task-to-Code-Entwicklungsworkflow mithilfe generativer KI ermöglicht.
Weitere Ressourcen
Weiterlesen

We spent 8 years making vector databases faster. Then we stopped.
Rarely queried embeddings still need to stay searchable. See how Vector Lakebase enables on-demand vector search without always-on compute costs.

Introducing Zilliz MCP Server: Natural Language Access to Your Vector Database
Developers can easily manage and query vector databases with natural language via Zilliz MCP Server in AI-native environments.

Democratizing AI: Making Vector Search Powerful and Affordable
Zilliz democratizes AI vector search with Milvus 2.6 and Zilliz Cloud for powerful, affordable scalability, cutting costs in infrastructure, operations, and development.


