Über GitHub Copilot Spaces
Mit Copilot Spaces kannst du den Kontext organisieren, den Copilot Chat verwendet, um deine Fragen zu beantworten. Spaces kann Repositorys, Code, Pull Requests, Issues, Freitextinhalte wie Transkripte oder Notizen, Bilder und Dateiuploads einschließen. Du kannst Copilot Fragen stellen, die auf diesem Kontext basieren, oder den Space mit deinem Team teilen, um die Zusammenarbeit und den Wissensaustausch zu vereinfachen. Auf Spaces kann auch direkt über die IDE auf den „Remote-GitHub MCP-Server“ zugegriffen werden.
Eingabeverarbeitung
Wenn du eine Frage in einem Bereich übermittelst, ergänzt Copilot Chat deine Anforderung um den relevanten Kontext aus diesem Bereich. Der enthaltene Kontext kann Folgendes einschließen:
- Dateien und Repositorys, die du hinzugefügt hast
- Issues, Pull Requests und Dokumentation
- Von dir bereitgestellte Notizen oder Transkripte
Der Eingabeprompt des Benutzers wird vom Copilot Chat-System vorab verarbeitet, mit zusätzlichen kontextbezogenen Informationen wie dem aktuellen Datum und der aktuellen Uhrzeit kombiniert und an ein großes Sprachmodell gesendet. Benutzereingaben können in Form von Codeschnipseln oder in einfacher Sprache erfolgen.
Das große Sprachmodell verwendet die Eingabeaufforderung, sammelt zusätzlichen Kontext (z. B. Repositorydaten, die auf GitHub oder Suchergebnissen aus Bing gespeichert sind), und stellen eine Antwort basierend auf der Eingabeaufforderung bereit. Die bevorzugte Sprache für übermittelte Prompts ist Englisch.
Sprachmodellanalyse
Der vorverarbeitete Prompt wird dann über das Copilot Chat-Sprachmodell übergeben. Dabei handelt es sich um ein neuronales Netz, das mit einer großen Menge an Textdaten trainiert wurde. Das Sprachmodell analysiert die Eingabeaufforderung.
Antwortgenerierung
Das Sprachmodell generiert eine Antwort auf der Grundlage seiner Analyse der Eingabeaufforderung und des zur Verfügung gestellten Kontexts. Das Sprachmodell kann zusätzlichen Kontext sammeln (z. B. Repositorydaten, die auf GitHub oder Suchergebnissen aus Bing gespeichert sind), und eine Antwort basierend auf der Eingabeaufforderung bereitstellen.
Ausgabeformatierung
Die von Copilot Chat generierte Antwort wird formatiert und dem Benutzer angezeigt. Copilot kann Syntaxmarkierung, Einzug und andere Formatierungsfunktionen verwenden, um der generierten Antwort Klarheit hinzuzufügen. Je nach Art der Frage vom Benutzer können Links zu Kontext, den das Modell beim Generieren einer Antwort verwendet hat, z. B. Quellcodedateien, Probleme, Bing Suchergebnisse oder Dokumentation, ebenfalls bereitgestellt werden.
Copilot Chat dient dazu, dir die relevanteste Antwort auf deine Frage zu geben. Es ist jedoch möglicherweise nicht immer die Antwort, die du suchst. Benutzer von Copilot Chat sind dafür verantwortlich, vom System generierte Antworten zu überprüfen, damit diese korrekt und angemessen sind. Darüber hinaus führen wir im Rahmen unseres Produktentwicklungsprozesses Red Teaming durch, um die Sicherheit von Copilot Chat zu verstehen und zu verbessern. Eingabeaufforderungen und Ausgabeabschlüsse werden über Inhaltsfilter ausgeführt. Das Inhaltsfiltersystem erkennt und verhindert die Ausgabe für bestimmte Inhaltskategorien, einschließlich schädlicher, anstößiger oder themenfremder Inhalte. Weitere Informationen zur Verbesserung der Leistung von Copilot Chat finden Sie unter Improving performance for Copilot Chat.
Anwendungsfälle für Spaces
Entwickeln eines neuen Features
Mit Spaces kannst du relevanten Code, Produktspezifikationen und Entwurfshinweise bündeln, damit Copilot die aktuelle Implementierung schnell erklären, Lücken hervorheben und neuen Code oder die nächsten Schritte entwerfen kann. Dadurch kannst du Zeit sparen, weiterhin deine Anforderungen verfolgen und Features mit höherer Qualität produzieren.
Definieren der Logik für eine kleine, häufig vorkommende Aufgabe
Für sich wiederholende Aufgaben wie das Hinzufügen von Telemetriedaten oder die Ereignisbehandlung erleichtert Spaces das einmalige Dokumentieren und Wiederverwenden des Prozesses. Indem du Copilot in Flussdiagrammen, Beispielen oder Schemas erstellst, stellst du konsistente Muster, wiederverwendbare Vorlagen und eine effiziente Ausführung im gesamten Team sicher.
Teilen von Wissen mit Teammitgliedern
Räume können als lebendige Leitfäden für allgemeine Projektfragen (z. B. wie Authentifizierung oder Suche funktioniert) fungieren, indem sie den neuesten Code und die neueste Dokumentation an einem Ort sammeln. Copilot verwendet dann diesen Kontext, um Systeme zu erläutern, Fragen zu beantworten und ein Onboarding für das Team schnell mit Best Practices durchzuführen.
Verbessern der Leistung für Spaces
Spaces kann in einer Vielzahl von Entwicklungs- und Zusammenarbeitsworkflows verwendet werden, vom Generieren von Code bis hin zum Teilen von Wissen für ein Team. Um die Leistung zu verbessern und relevantere Antworten zu erhalten, gibt es mehrere Best Practices, die du anwenden kannst. Ausführliche Informationen zu Systemeinschränkungen finden Sie unter Limitations of GitHub Copilot Spaces.
Seien Sie wählerisch bei der Auswahl des Kontexts
Wenn du nur die relevantesten Dateien, Repositorys und Notizen hinzufügst, bleibt Copilot fokussiert. Das Überladen eines Bereichs mit unnötigem Inhalt kann die Qualität der Antworten beeinträchtigen und das Abrufen präziser Ergebnisse erschweren.
Beibehalten des Kontexts auf dem neuesten Stand
Aktualisieren Sie während Ihres Projekts die Dateien, Vorgänge oder die Dokumentation in Ihrem Bereich. Veralteter Kontext kann dazu führen, dass Copilot ungenaue oder unvollständige Antworten generiert.
Verwenden Sie Anweisungen zusammen mit Quellen
Die Kombination von Anweisungen in natürlicher Sprache mit zusammengestellten Quellen hilft Copilot dabei, deine Absicht besser zu verstehen. Anweisungen bieten Richtlinien, während Quellen die Ausgabe in einen realen Projektkontext einbinden.
Chat in einem Raum verankern
Das Starten einer Unterhaltungen aus einem Bereich stellt Kontinuität und Relevanz sicher. Dadurch werden Copilot-Antworten an den spezifischen Kontext angepasst, den du bereits eingerichtet hast, und nicht bei jedem neuen Chat zurückgesetzt.
Überprüfen der Ausgabe des Bereichs
Spaces groundet Antworten von Copilot in dem von dir bereitgestellten Kontext, allerdings kann das System dennoch Fehler machen. Bei diesen Fehlern kann es sich um Missverständnisse oder einfache Fehler in der generierten Antwort handeln. Überprüfe die Copilot-Ausgabe immer sorgfältig, damit sie sich wie beabsichtigt verhält, und stelle sicher, dass sie die Qualitäts- und Sicherheitsstandards deines Teams erfüllt, bevor du sie in der Produktion verwendest.
Einschränkungen von GitHub Copilot Spaces
Interpretation der Benutzerabsicht
Spaces hilft dabei, die Antworten von Copilot Chat im kuratierten Kontext zu grounden, allerdings kann das System deine Absicht dennoch falsch verstehen. Überprüfen Sie immer die Ausgabe von Copilot, um zu bestätigen, dass sie Ihre Ziele widerspiegelt, bevor Sie sie in Ihrem project verwenden.
Einschränkungen des Kontexts
Für Spaces gelten definierte Größenbeschränkungen, und Copilot Chat verarbeitet nur einen Teil des von dir eingeschlossenen Inhalts. Das bedeutet, dass nicht jede Datei, jedes Dokument oder jede Notiz in einem Bereich in einer Antwort verwendet wird. Durch das selektive Hinzufügen von Inhalt kannst du sicherstellen, dass Copilot mit dem relevantesten Kontext arbeitet.
Eingeschränkter Gültigkeitsbereich
Spaces, die nur ein Repository enthalten, können derzeit nicht über den GitHub MCP-Server in der IDE zugänglich gemacht werden. Um Spaces in der IDE zu verwenden, musst du zusätzlichen Kontext wie Dateien, Probleme oder Dokumentation einschließen.
Spaces wird von Copilot Chat unterstützt und wurde daher mit einem großen Codekörper trainiert, hat jedoch immer noch einen begrenzten Umfang und kann möglicherweise keine komplexeren Codestrukturen oder weniger bekannte Programmiersprachen verarbeiten. Für jede Sprache hängt die Qualität der Vorschläge, die du erhältst, von der Menge und Vielfalt der Trainingsdaten für diese Sprache ab. Beispielsweise ist JavaScript in öffentlichen Repositories gut vertreten und eine der am besten unterstützten Sprachen von GitHub Copilot. Bei Sprachen mit weniger Präsenz in öffentlichen Repositorys kann es für Copilot Chat schwieriger sein, Unterstützung bereitzustellen. Darüber hinaus kann Copilot Chat nur Code basierend auf dem Kontext des geschriebenen Codes vorschlagen, sodass er möglicherweise nicht in der Lage ist, größere Design- oder Architekturprobleme zu identifizieren.
Falsche Antworten
Selbst mit Grounding in einem Bereich generiert Copilot Chat möglicherweise Antworten, die ungenau, unvollständig oder veraltet sind. Das gilt für alle Ausgabetypen, einschließlich Code, Zusammenfassungen oder Issue-Entwürfe. Überprüfen Sie immer Ergebnisse anhand Ihrer eigenen project Anforderungen.
Sicherheitseinschränkungen
Copilot Chat generiert Code basierend auf dem Kontext des geschriebenen Codes, wodurch potenziell vertrauliche Informationen verfügbar gemacht werden können oder Sicherheitsrisiken entstehen können, wenn die Sorgfalt vernachlässigt wird. Sie sollten vorsichtig sein, wenn Sie Copilot Chat verwenden, um Code für sicherheitsrelevante Anwendungen zu generieren, und immer den generierten Code gründlich überprüfen und testen.
Rechtliche und regulatorische Überlegungen
Benutzer müssen potenzielle rechtliche und behördliche Verpflichtungen berücksichtigen, wenn du KI-Dienste und -Lösungen verwendest. Diese sind möglicherweise nicht für die Verwendung in jeder Branche oder in jedem Szenario geeignet. Darüber hinaus sind KI-Dienste oder -Lösungen nicht dafür konzipiert, auf eine Weise verwendet zu werden, die gegen die geltenden Nutzungsbedingungen und Verhaltensregeln verstößt, und dürfen nicht solchermaßen eingesetzt werden.
Anstößiger Inhalt
Spaces nutzt Copilot Chat mit dem integrierten Schutz vor schädlichen, hasserfüllten oder anstößigen Inhalten. Bitte melden Sie beispiele für anstößige Inhalte an copilot-safety@github.com.