Was ist eine Anwendungskarte?
GitHub’s application and platform cards are intended to help you understand how our AI technology works, the choices application owners can make that influence application performance and behavior, and the importance of considering the whole application, including the technology, the people, and the environment. Application cards are created for AI applications and platform cards are created for AI platform services. These resources can support the development or deployment of your own applications and can be shared with users or stakeholders impacted by them.
As part of its commitment to responsible AI, GitHub adheres to Microsoft's six core principles: fairness, reliability and safety, privacy and security, inclusiveness, transparency, and accountability. These principles are embedded in the Responsible AI Standard, which guides teams in designing, building, and testing AI applications. Application and Platform Cards play a key role in operationalizing these principles by offering transparency around capabilities, intended uses, and limitations. For further insight, readers are encouraged to explore Microsoft’s Responsible AI Transparency Report and GitHub-Bedingungen.
1. Übersicht
GitHub Copilot Chat ist eine Chatschnittstelle, über die Sie mit GitHub Copilot interagieren können, um Antworten auf Codierungsfragen zu erhalten. GitHub Copilot Chat ist auf GitHub.com, in unterstützten IDEs (VS Code, Visual Studio, JetBrains und Eclipse) auf GitHub Mobile und in Windows-Terminal verfügbar. Auf GitHub.com und in GitHub Desktop können Copilot auch Pull-Anforderungszusammenfassungen und Commitnachrichten generieren– KI-gestützte Übersichten über Änderungen, die in einer Pullanforderung oder einem Commit vorgenommen wurden.
GitHub-Copilot Chat können eine vielzahl von Codierungsfragen zu Themen wie Syntax, Programmierkonzepte, Testfälle, Debugging und mehr beantworten. GitHub Copilot Chat ist nicht für die Beantwortung von Fragen ohne Codierung konzipiert oder stellt allgemeine Informationen zu Themen außerhalb der Codierung bereit.
Die primäre unterstützte Sprache für GitHub Copilot Chat ist Englisch.
2. Schlüsselbegriffe
Die folgende Liste enthält ein Glossar mit Schlüsselbegriffen im Zusammenhang mit GitHub-Copilot Chat:
- Inhaltsfilterung: Ein Sicherheitssystem, das Eingabeaufforderungen und Antworten überprüft, um schädliche Inhalte zu erkennen und zu blockieren, bevor sie dem Benutzer angezeigt wird.
- Halluzination: Ein Phänomen, bei dem ein Sprachmodell eine Ausgabe generiert, die plausibel klingt, aber sachlich falsch, nicht vom bereitgestellten Kontext unterstützt oder vollständig erstellt wird. Halluzinationen sind ein bekanntes Risiko großer Sprachmodelle und sind der Grund, warum die menschliche Überprüfung von KI-generierten Ausgaben wichtig ist.
- Großes Sprachmodell (LLM): Eine Art neurales Netzwerk, das auf einem großen Textteil von Textdaten trainiert wurde, der natürliche Sprache und Code generieren, analysieren und transformieren kann. GitHub Copilot Chat verwendet eine oder mehrere LLMs, um Eingabeaufforderungen zu verarbeiten und Antworten zu erzeugen.
- Prompt: Die Eingabe, die GitHub Copilot Chat zur Verfügung gestellt wird. Das System kombiniert die Eingabeaufforderung mit zusätzlichem Kontext (z. B. Öffnen von Dateien oder Repositorydaten), bevor sie an das Sprachmodell gesendet wird.
- Public code matching: Eine Funktion, die überprüft, ob Copilots Vorschläge mit öffentlich verfügbarem Code übereinstimmen. Je nach Ihren Einstellungen können übereinstimmende Vorschläge deaktiviert oder aktiviert sein; wenn sie aktiviert sind, können sie entweder blockiert oder mit einem Verweis auf das Quell-Repository und etwaigen Lizenzinformationen gekennzeichnet werden.
- Zusammenfassung der Pull-Anforderung: Eine KI-generierte Übersicht über die Änderungen in einer Pullanforderung, bestehend aus einem Prose-Absatz und einer Aufzählung der Schlüsseländerungen, die mit den betroffenen Dateien verknüpft sind. Zusammenfassungen werden bei Bedarf auf GitHub.com generiert.
- Rotes Teaming: Eine strukturierte Testpraxis, in der Tester absichtlich versuchen, unsicheres, schädliches oder unbeabsichtigtes Verhalten von einem KI-System zu provozieren. Rotes Teaming hilft dabei, Sicherheitsrisiken zu erkennen und Sicherheitsminderungen vor und nach der Veröffentlichung zu verbessern.
- Trainingsdaten: Die große Menge an öffentlich verfügbarem Text und Code, die zum Trainieren der Basismodelle verwendet wurde, die GitHub Copilot Chat zugrunde liegen. Die Zusammensetzung der Schulungsdaten beeinflusst die Qualität und Abdeckung der Vorschläge des Modells in verschiedenen Programmiersprachen, Frameworks und Themen.
3. Wesentliche Merkmale oder Funktionen
Die hier beschriebenen wesentlichen Merkmale und Fähigkeiten erläutern, wofür GitHub Copilot Chat konzipiert ist und wie es bei den unterstützten Aufgaben abschneidet.
- Conversational Coding Assistance: GitHub Copilot Chat bietet eine natürliche Sprachschnittstelle zum Stellen von Codierungsfragen und Zum Empfangen von Antworten in Form von Code, Erklärungen oder schrittweisen Anleitungen. Benutzer können Nachverfolgungsfragen stellen, um Antworten zu verfeinern, und der Unterhaltungsverlauf wird innerhalb einer Sitzung verwaltet.
- Context-fähige Antworten: GitHub Copilot Chat verwendet kontextbezogene Informationen wie geöffnete Dateien, das aktive Repository, den Chatverlauf und (wenn aktiviert) Websuchergebnisse, um Antworten zu generieren, die für die aktuelle Arbeit des Benutzers relevant sind. Der verfügbare Kontext hängt von der Plattform (GitHub.com, IDE, Mobile, Windows-Terminal oder GitHub Desktop) ab.
- Multi-platform availability: GitHub Copilot Chat ist auf mehreren Oberflächen verfügbar, darunter GitHub.com, unterstützte IDEs (VS Code, Visual Studio, JetBrains und Eclipse), GitHub Mobile, Windows-Terminal und GitHub Desktop. Jede Plattform bietet eine maßgeschneiderte Erfahrung, die für ihre Umgebung optimiert ist.
- Agent mode: In unterstützten IDEs kann GitHub Copilot Chat im Agentmodus arbeiten, wobei das Modell mehrschrittige Aufgaben autonom plant, Tools aufruft (z. B. zum Ausführen von Terminalbefehlen oder zum Bearbeiten von Dateien) und Ergebnisse iterativ verfeinert. Dies erweitert das Chat-Erlebnis über einzelne Frage-Antwort-Interaktionen hinaus.
- Copilot Spaces: Spaces ermöglichen es Benutzern, Repositories, Dateien, Issues und andere Materialien in einer kuratierten Kontextsammlung zu organisieren. Wenn eine Frage innerhalb eines Raums gestellt wird, verwendet Copilot den eingeschlossenen Kontext, um gezieltere und relevantere Antworten zu erzeugen. Auf Spaces kann auch aus der IDE über den Remote-GitHub-MCP-Server zugegriffen werden.
- Pull-Anforderungszusammenfassungen: Auf GitHub.com kann Copilot eine KI-gestützte Zusammenfassung der Änderungen in einer Pullanforderung generieren. Die Ausgabe besteht aus einer Proseübersicht gefolgt von einer Aufzählung der Schlüsseländerungen, die mit den betroffenen Dateien verknüpft sind. Zusammenfassungen werden bei Bedarf generiert und sollen Bearbeitern helfen, schnell zu verstehen, was sich geändert hat.
- Erstellung von Commit-Nachrichten: Auf GitHub.com und in GitHub Desktop kann Copilot basierend auf den von Ihnen ausgewählten Codeänderungen eine vorgeschlagene Commit-Zusammenfassung (Titel) und Beschreibung generieren. In GitHub Desktop können Benutzer bestimmte Codezeilen oder Dateien auswählen, um den Kontext und die Genauigkeit zu verbessern. Generierte Nachrichten können vor dem Commit überprüft und bearbeitet werden.
- Bring Your Own Key (BYOK): Organisationen können GitHub Copilot Chat mit großen Sprachmodellen von unterstützten Drittanbietern verbinden, indem sie ihren eigenen API-Schlüssel bereitstellen und nicht das standardmäßige GitHub gehostete Modell verwenden.
- Inhaltsfilterung: Manchmal enthält GitHub-Copilot Chat möglicherweise ein Inhaltsfiltersystem, das Eingabeaufforderungen und Antworten überprüft, um schädliche Inhalte zu erkennen und zu blockieren. Ein Feature zum Abgleich von öffentlichem Code überprüft, ob Vorschläge öffentlich verfügbaren Code entsprechen und abhängig von den Einstellungen diese Übereinstimmungen mit Quell- und Lizenzinformationen blockieren oder kommentieren.
4. Beabsichtigte Verwendung
GitHub-Copilot Chat können in mehreren Szenarien in einer Vielzahl von Branchen verwendet werden. Beispiele für Anwendungsfälle sind:
- Beantwortung von Programmierfragen: Bitten Sie GitHub Copilot Chat um Hilfe oder Klarstellung zu spezifischen Programmierproblemen und erhalten Sie Antworten in natürlicher Sprache oder in Form von Codeausschnitten. Die Antwort kann auf die Trainingsdaten des Modells, den Repositorykontext und die Websuchergebnisse (sofern aktiviert) zurückgreifen.
- Erläutern von Code und Verbesserungsvorschlägen: Generieren Sie Beschreibungen natürlicher Sprachen für den Zweck, Eingaben, Ausgaben und Abhängigkeiten einer Funktion. GitHub-Copilot Chat können auch Verbesserungen vorschlagen, z. B. eine bessere Fehlerbehandlung oder einen besser lesbaren Steuerungsfluss. Beachten Sie, dass generierte Erklärungen möglicherweise nicht immer korrekt oder vollständig sind und überprüft werden sollten.
- Generating unit test cases: GitHub Copilot Chat kann beim Schreiben von Komponententestfällen helfen, indem Codeausschnitte basierend auf dem im Editor geöffneten Code oder einem hervorgehobenen Codeausschnitt generiert werden. Es kann mögliche Eingabeparameter, erwartete Ausgabewerte und Assertionen basierend auf der Signatur und dem Text der Funktion vorschlagen. GitHub-Copilot Chat kann auch Testfälle für Edgefälle und Grenzbedingungen vorschlagen, z. B. Fehlerbehandlung, Nullwerte oder unerwartete Eingabetypen, die möglicherweise schwer manuell zu identifizieren sind. Generierte Testfälle decken möglicherweise nicht alle möglichen Szenarien ab; Manuelle Tests und Codeüberprüfung sind weiterhin erforderlich.
- Vorschlagen von Codekorrekturen: Erhalten Sie vorgeschlagene Korrekturen für Fehler basierend auf der Fehlermeldung, der Codesyntax und dem umgebenden Kontext. GitHub Copilot Chat kann Änderungen an Variablen, Steuerelementstrukturen oder Funktionsaufrufen vorschlagen, die das Problem möglicherweise beheben können. Beachten Sie, dass vorgeschlagene Fixes möglicherweise nicht immer optimal oder vollständig sind.
- Planen von Codierungsaufgaben: Lesen und Zusammenfassen GitHub Probleme, Beantworten von Fragen oder Vorschlagen der nächsten Schritte.
- Erfahren Sie mehr über Veröffentlichungen, Diskussionen und Commits: Fassen Sie zusammen, was in einer Version geändert wurde, den Gist einer Diskussion oder die Änderungen in einem bestimmten Commit.
- Summarizing pull request changes (GitHub.com): Generieren Sie eine KI-gestützte Zusammenfassung der Änderungen in einer Pullanforderung, einschließlich einer Übersicht über prose und einer Aufzählung der mit den betroffenen Dateien verknüpften Schlüsseländerungen, damit Prüfer schnell verstehen können, was sich geändert hat und wo sie ihre Überprüfung konzentrieren können.
- Generieren von Commit-Nachrichten (GitHub.com und GitHub Desktop): Generieren Sie eine Commit-Nachrichten-Zusammenfassung (Titel) und eine Beschreibung auf Grundlage der Codeänderungen, die Sie für den Commit ausgewählt haben. So sparen Sie Zeit und sorgen für klare Commit-Verläufe. In GitHub Desktop können Sie bestimmte Codezeilen oder Dateien auswählen, um den Kontext besser zu verstehen und so die Genauigkeit zu erhöhen. Sie können den vorgeschlagenen Titel und die vorgeschlagene Beschreibung überprüfen und bearbeiten, bevor Sie den Commit durchführen.
- Finden des richtigen Befehls (Windows-Terminal): Copilot fragen, um Befehle vorzuschlagen, mit denen Sie Aufgaben in der Befehlszeile ausführen können. Sie können Ihre Frage überarbeiten, bis der zurückgegebene Befehl Ihren Erwartungen entspricht, und fügen Sie sie dann in die Befehlszeile ein, um sie auszuführen.
- Erläuterung eines unbekannten Befehls (Windows-Terminal): Bitten Sie Copilot, eine Beschreibung der Funktion eines Befehls in natürlicher Sprache zu erstellen, einschließlich seiner Eingabe- und Ausgabeparameter sowie von Verwendungsbeispielen. Beachten Sie, dass generierte Erklärungen möglicherweise nicht immer korrekt oder vollständig sind.
- Developing a new feature (Spaces): Bündeln Sie relevanten Code, Produktspezifikationen und Designnotizen in einem Raum, damit Copilot die aktuelle Implementierung erläutern, Lücken hervorheben und neuen Code oder nächste Schritte entwerfen können.
- Definieren von Logik für wiederholte Aufgaben (Leerzeichen): Dokumentieren Sie einen Prozess einmal – mit Flussdiagrammen, Beispielen oder Schemas – und verwenden Sie ihn im gesamten Team für konsistente Muster und wiederverwendbare Vorlagen.
- Sharing von Wissen mit Teamkollegen (Spaces): Sammeln Sie den neuesten Code und die neueste Dokumentation an einem Ort, damit Copilot Systeme erläutern, Fragen beantworten und Teamkollegen integrieren können.
5. Modelle und Trainingsdaten
GitHub Copilot Chat nutzt eine Vielzahl von KI-Modellen, um die Benutzerfreundlichkeit zu verbessern. Einen Vergleich der für Copilot verfügbaren Modelle finden Sie unter KI-Modellvergleich. Die vollständige Liste der unterstützten Modelle finden Sie unter Unterstützte KI-Modelle in GitHub Copilot. Informationen dazu, wo Modelle gehostet werden, finden Sie unter Hosting von Modellen für GitHub Copilot. Weitere Informationen zu den Daten, die zum Trainieren der Foundation-Modelle hinter GitHub Copilot Chat verwendet werden, finden Sie im oben verlinkten KI-Modellvergleich sowie unter What data has GitHub Copilot been trained on? in den GitHub Copilot-FAQ.
Verwenden von Bring Your Own Key (BYOK)
Wenn Sie Bring Your Own Key mit GitHub Copilot Chat verwenden, können Sie die Chatfunktion mit großen Sprachmodellen von unterstützten Anbietern verbinden, die über das standardmäßige Copilot-Modell hinausgehen. Beispiele für unterstützte Anbieter sind Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, OpenAI-kompatible Anbieter und xAI. Sie fügen Ihren API-Schlüssel für den ausgewählten Anbieter direkt in Ihren Copilot Einstellungen hinzu.
Wenn BYOK aktiv ist:
- Funktionsumfang: Ihr ausgewähltes Modell wird in GitHub Copilot Chat verwendet. Im Agentmodus wird die Hauptkonversation durch BYOK unterstützt, aber bestimmte Aktionen wie das Anwenden von Code oder andere Toolaufrufe können möglicherweise weiterhin Copilot-integrierte Modelle verwenden, die für diese Aufgaben optimiert sind. Diese integrierten Modelle werden nicht über Ihren BYOK-Anbieter ausgeführt.
- Inhaltsfilterung: Unabhängig davon, welcher Anbieter aktiv ist, werden antworten immer noch über die API GitHub übergeben und haben möglicherweise Inhaltsfilterung, bevor Ihnen Ergebnisse angezeigt werden.
- Qualitätsüberlegungen: Vorschläge können je nach Stärken und Schulungsabdeckung Ihres gewählten Anbieters variieren.
- Datenverarbeitung: Bei Verwendung von BYOK werden Ihre Eingabeaufforderungen und Antworten an Ihren ausgewählten Anbieter übermittelt und unterliegen möglicherweise den Datenaufbewahrungs- und Datenschutzrichtlinien dieses Anbieters.
- Ihre Verantwortlichkeiten: Sie sind für Folgendes verantwortlich:
- Anbieter-API-Schlüsselsicherheit
- Nutzungskosten oder Kontingente
- Ausgabeüberprüfung
- Überprüfen, ob Ihr gewähltes Modell Ihre Sicherheits- und Qualitätsanforderungen erfüllt
- Einhaltung der Bedingungen Ihres ausgewählten Anbieters
- Bestimmen, ob Ihr gewähltes Modell den geltenden Gesetzen entspricht
- Sicherstellen, dass ein Mensch jede Ausgabe überprüft, bevor sie verwendet wird, um Entscheidungen zu treffen, die Personen betreffen
- Exportbeschränkungen: Bestimmte KI-Modelle können Exportkontrollen unterliegen. Überprüfen Sie, ob Ihr ausgewählter Anbieter und Ihr Modell für die Verwendung in Ihrer Gerichtsbarkeit autorisiert sind.
BYOK ermöglicht Ihrer Organisation die Auswahl des Sprachmodells, das Ihren Anforderungen am besten entspricht. Beachten Sie, dass Modellleistungs- und Sicherheitsmerkmale vom Anbieter abhängig sind.
6. Leistung
GitHub Copilot Chat funktioniert mithilfe einer Kombination aus natürlicher Sprachverarbeitung und maschinellem Lernen, um Ihre Frage zu verstehen und Ihnen eine Antwort zu geben. Dieser Prozess umfasst Folgendes:
- Eingabeverarbeitung: Die Eingabeaufforderung des Benutzers wird vom System vorverarbeitet, kombiniert mit Kontextinformationen (z. B. dem aktuellen Repository, dem Öffnen von Dateien oder dem Chatverlauf) und dem Senden an ein großes Sprachmodell. Benutzereingaben können in Form von Codeschnipseln oder in einfacher Sprache erfolgen.
- Sprachmodellanalyse: Die Eingabeaufforderung wird über das Sprachmodell übergeben, bei dem es sich um ein neurales Netzwerk handelt, das auf einem großen Textkörper trainiert wird. Das Sprachmodell analysiert die Eingabeaufforderung.
- Antwortgenerierung: Das Modell generiert eine Antwort basierend auf der Analyse der Eingabeaufforderung und des ihm bereitgestellten Kontexts. Diese Antwort kann in Form von generiertem Code, Codevorschlägen oder Erläuterungen des vorhandenen Codes erfolgen.
- Ausgabeformatierung: Die Antwort wird mit Syntaxmarkierung, Einzug und anderen Features formatiert, um Klarheit zu schaffen. Je nach Art der Frage können Auch Links zu kontextbezogenem Kontext bereitgestellt werden, den das Modell verwendet hat ( z. B. Quellcodedateien, Probleme oder Dokumentationen).
Unterschiede nach Erfahrung
- On GitHub.com: Das Modell kann zusätzlichen Kontext aus Repositorydaten sammeln, die in GitHub- und Websuchergebnissen gespeichert sind (sofern vom Administrator aktiviert). Antworten können Links zu Quellcodedateien, Problemen oder Dokumentationen enthalten.
- Zusammenfassungen von Pull Requests (GitHub.com): Wenn ein Benutzer eine Zusammenfassung anfordert, verwendet ein Workflow die Codedifferenzen aus Dateien, um einen Prompt zu erstellen, und fordert Copilot auf, eine Gesamtzusammenfassung zu generieren. Die Ausgabe besteht aus einem Prose-Absatz, der einen Überblick über die Änderungen gibt, gefolgt von einer Aufzählung der Schlüsseländerungen, die mit den jeweiligen Codezeilen verknüpft sind. Sie können eine Zusammenfassung in der Beschreibung einer neuen oder vorhandenen Pullanforderung oder in einem Kommentar zur Zeitachse der Pullanforderung generieren. Größere Pullanforderungen können bis zu ein paar Minuten dauern, bis sie verarbeitet werden. Die einzige unterstützte Sprache für Pullanforderungszusammenfassungen ist Englisch.
- Commit message generation (GitHub.com): Wenn Sie auf die Schaltfläche Commit changes on GitHub.com klicken, generiert Copilot basierend auf den Codeänderungen in den ausgewählten Dateien eine vorgeschlagene Zusammenfassung (Titel) und eine Beschreibung. Der Text wird in die Zusammenfassungs- und Beschreibungsfelder eingefügt, die Sie vor dem Commit überprüfen und bearbeiten können. Die einzige unterstützte Sprache für die Generierung von Commitnachrichten ist Englisch.
- Commit message generation (GitHub Desktop): Wenn Sie in GitHub Desktop auf die Schaltfläche Copilot Klicken, generiert Copilot basierend auf den von Ihnen ausgewählten Codeänderungen eine vorgeschlagene Zusammenfassung (Titel) und Eine Beschreibung. Sie können bestimmte Codezeilen oder Dateien auswählen, um den Kontext und die Genauigkeit zu verbessern, und Sie können Vorschläge vor der Fertigstellung neu generieren. Die einzige unterstützte Sprache ist Englisch.
- In Ihrer IDE: Das System kombiniert Benutzereingaben mit Kontextinformationen wie dem Namen des Repositorys und den Dateien, die der Benutzer geöffnet hat. In VS Code und Visual Studio kann automatisch ein zusätzlicher Kontext aus einer optionalen
.github/copilot-instructions.mddatei bereitgestellt werden (der Benutzer kann dies in den Einstellungen deaktivieren). Bei Verwendung des@github-Chatteilnehmers in VS Code oder Visual Studio können GitHub Copilot Chat auch Kontext aus Code sammeln, der auf GitHub und aus Bing-Suchergebnissen gespeichert ist (sofern vom Administrator aktiviert). - On GitHub Mobile: Die Eingabeaufforderung wird vorverarbeitet und an das Sprachmodell gesendet. Das System ist nur für die Beantwortung von Fragen im Zusammenhang mit der Programmierung vorgesehen. Die verfügbaren Optionen variieren je nach Copilot Plan: Benutzer mit einem Copilot Enterprise-Abonnement können Unterhaltungen mit Daten aus privaten indizierten Repositorys führen und, wenn die Websuchintegration aktiviert ist, Antworten erhalten, die von den Websuchergebnissen informiert werden. Benutzer mit einem Copilot Pro-Abonnement können die beliebtesten öffentlichen Repositorys diskutieren.
- In Windows-Terminal: Die Eingabeaufforderung des Benutzers wird mit Kontextinformationen (name der aktiven Shell und dem Chatverlauf) kombiniert und an das Sprachmodell gesendet. Antworten werden in Form eines vorgeschlagenen Befehls oder einer Erklärung eines Befehls verwendet. Vorgeschlagene Befehle werden nicht automatisch ausgeführt– Sie müssen auf einen Befehl klicken, um ihn in die Befehlszeile einzufügen und es dann manuell auszuführen.
- In Copilot Spaces: Mit Leerzeichen können Sie den Kontext organisieren, den GitHub Copilot Chat verwendet, um Ihre Fragen zu beantworten. Ein Platz kann Repositorys, Code, Pullanforderungen, Probleme, Freitextinhalte wie Transkriptionen oder Notizen, Bilder und Dateiuploads umfassen. Wenn Sie eine Frage in einem Raum einreichen, erweitert Copilot Ihre Anforderung um den relevanten Kontext aus diesem Bereich. Auf Spaces kann auch über die IDE über den Remote-GitHub-MCP-Server zugegriffen werden. Nicht alle Inhalte in einem Bereich werden in jeder Antwort verwendet – Copilot verarbeitet nur einen Teil der hinzugefügten Inhalte. Wenn Sie also gezielt auswählen, was Sie hinzufügen, trägt das dazu bei, die Relevanz sicherzustellen.
GitHub Copilot Chat soll Ihnen die relevanteste Antwort auf Ihre Frage bieten. Es ist jedoch möglicherweise nicht immer die Antwort, die du suchst. Benutzer von GitHub Copilot Chat sind für die Prüfung und Validierung der vom System generierten Antworten verantwortlich, um sicherzustellen, dass sie korrekt und angemessen sind.
7. Einschränkungen
Das Verständnis der Einschränkungen von GitHub Copilot Chat ist entscheidend, um festzustellen, ob es innerhalb sicherer und effektiver Grenzen verwendet wird. Während wir Kunden ermutigen, GitHub-Copilot Chat in ihren innovativen Lösungen oder Anwendungen zu nutzen, ist es wichtig zu beachten, dass GitHub Copilot Chat nicht für jedes mögliche Szenario entwickelt wurde. Wir empfehlen Benutzern, auf GitHub-Bedingungen sowie die folgenden Überlegungen bei der Auswahl eines Anwendungsfalls zu verweisen:
- Begrenzter Umfang: GitHub Copilot Chat wurde mit einer großen Menge an Code trainiert, kann aber möglicherweise komplexere Code-Strukturen oder weniger verbreitete Programmiersprachen nicht verarbeiten. Für jede Sprache hängt die Qualität der Vorschläge von der Menge und Vielfalt der Schulungsdaten ab. JavaScript ist z. B. gut dargestellt und wird gut unterstützt, während weniger gängige Sprachen zu niedrigeren Ergebnissen führen können.
- Mögliche Verzerrungen: Schulungsdaten, die aus vorhandenen Coderepositorys stammen, können Verzerrungen und Fehler enthalten, die durch das Tool vermindert werden können. GitHub Copilot Chat kann auch auf bestimmte Programmiersprachen oder Codierungsstile ausgerichtet sein, was zu suboptimalen oder unvollständigen Codevorschlägen führen kann.
- Sicherheitsrisiken: Generierter Code kann potenziell vertrauliche Informationen oder Sicherheitsrisiken offenlegen, wenn sie nicht sorgfältig überprüft werden. Überprüfen und testen Sie immer generierten Code sorgfältig, insbesondere für sicherheitsrelevante Anwendungen.
- Übereinstimmungen mit öffentlichem Code: Auch wenn die Wahrscheinlichkeit gering ist, kann GitHub Copilot Chat Code erzeugen, der mit Code im Trainingsdatensatz übereinstimmt. Sie sollten die gleichen Vorsichtsmaßnahmen treffen wie bei jedem anderen Code, der Material verwendet, das Sie nicht eigenständig erstellt haben, einschließlich gründlicher Tests, IP-Prüfung und der Prüfung auf Sicherheitslücken. Weitere Informationen findest du unter Suchen nach öffentlichem Code, der mit GitHub-Copilot-Empfehlungen übereinstimmt.
- Inaccurate code: GitHub Copilot Chat kann Code generieren, der gültig erscheint, aber nicht semantisch oder syntaktisch korrekt ist oder nicht genau die Absicht des Entwicklers widerspiegelt. Überprüfen und testen Sie generierten Code sorgfältig, insbesondere für kritische oder sensible Anwendungen.
- Ungenaue Antworten auf Themen, die nichts mit dem Programmieren zu tun haben: GitHub Copilot Chat ist nicht dafür ausgelegt, Fragen zu beantworten, die nichts mit dem Programmieren zu tun haben, und seine Antworten in diesen Kontexten können irrelevant oder unsinnig sein.
- Risk von destruktiven Befehlen (Windows-Terminal): Copilot kann Befehle vorschlagen, die destruktiv sein könnten, z. B. das Löschen von Inhalten oder das Formatieren einer Festplatte, die in bestimmten Szenarien erforderlich sein können, aber Probleme verursachen können, wenn sie falsch verwendet werden. Sie sind letztendlich für alle Befehle verantwortlich, die Sie ausführen möchten. Trotz des Vorhandenseins von Ausfallsicherheits- und Sicherheitsmechanismen birgt die Ausführung von Befehlen inhärente Risiken.
- Lines haben Grenzwerte für PR-Zusammenfassungen (GitHub.com) geändert: Dateien mit mehr als 400 kombinierten Ergänzungen und Löschungen werden aus der Zusammenfassung ausgeschlossen.
- PR-Zusammenfassungen werden nicht automatisch aktualisiert (GitHub.com): Pullanforderungszusammenfassungen werden nur erstellt, wenn Benutzer sie manuell anfordern. Wenn Aktualisierungen oder Änderungen an der Pullanforderung vorgenommen werden, wird die Zusammenfassung nicht automatisch aktualisiert. Benutzer können eine neue Zusammenfassung anfordern, sollten aber die aktualisierte Ausgabe sorgfältig überprüfen – sie birgt die gleichen Risiken von Ungenauigkeit wie das Original.
- Replizierung von PR-Inhalten (GitHub.com): Da eine Zusammenfassung die Änderungen in einer Pullanforderung umschreibt, wenn schädliche oder anstößige Begriffe im Inhalt der Pullanforderung angezeigt werden, besteht die Möglichkeit, diese Ausdrücke zu replizieren. Benutzer sollten davon ausgehen, dass in ihrer PR verwendete Ausdrücke in der KI-generierten Zusammenfassung erscheinen.
- Begrenzter Anwendungsbereich für Commit-Nachrichten (GitHub.com und GitHub Desktop): Die Generierung von Commit-Nachrichten kann sich bei komplizierten Codeänderungen, kurzen Diff-Fenstern oder kürzlich entwickelten Programmiersprachen schwertun. Die Qualität der Vorschläge hängt von der Verfügbarkeit und Vielfalt der Schulungsdaten für die beteiligten Sprachen ab.
- Replizierung von Commit-Inhalten (GitHub.com und GitHub Desktop): Da eine Commit-Nachricht die Änderungen in einem Commit zusammenfasst, wenn schädliche oder anstößige Ausdrücke in den Codeänderungen angezeigt werden, kann die generierte Nachricht diese Ausdrücke einschließen.
- Commit-Nachrichten werden nicht automatisch aktualisiert (GitHub.com und GitHub Desktop): Commitnachrichten werden nur generiert, wenn Sie sie anfordern. Wenn Sie zusätzliche Änderungen vornehmen, wird die Commitnachricht nicht automatisch aktualisiert. Sie können einen neuen Vorschlag neu generieren, aber die aktualisierte Ausgabe sorgfältig überprüfen – es birgt die gleichen Risiken von Ungenauigkeit wie das Original.
- Interpretation der Nutzerabsicht (Spaces): Spaces tragen dazu bei, die Antworten von GitHub Copilot Chat in einem kuratierten Kontext zu verankern, aber das System kann Ihre Absicht dennoch missverstehen. Überprüfen Sie immer die Ausgabe, um zu bestätigen, dass sie Ihre Ziele widerspiegelt.
- Kontextbeschränkungen (Spaces): Spaces haben festgelegte Größenbeschränkungen, und GitHub Copilot Chat verarbeitet nur einen Teil der Inhalte, die Sie einbeziehen. Nicht jede Datei, jedes Dokument oder jede Notiz in einem Bereich wird in einer Antwort verwendet. Wenn Sie selektiv darüber vorgehen, was Sie hinzufügen, wird sichergestellt, dass der relevanteste Kontext verwendet wird.
- Unterschiedliche Leistung je nach natürlicher Sprache: GitHub Copilot Chat wurde hauptsächlich für Englisch optimiert. Möglicherweise stellen Sie eine unterschiedliche Leistung mit Eingabeaufforderungen in anderen Sprachen fest.
- Websuche nutzen: Auf GitHub.com und bei der Verwendung des GitHub-Chat-Teilnehmers in unterstützten IDEs kann GitHub Copilot Chat optional eine Bing-Suche verwenden, um Ihre Frage zu beantworten, z. B. bei Anfragen zu aktuellen Ereignissen, neuen Technologien oder sehr speziellen Themen. Ihr Unternehmensadministrator kann Bing für Ihre Organisation aktivieren oder deaktivieren. Wenn die Websuche verwendet wird, wird der Inhalt Ihrer Eingabeaufforderung zusammen mit zusätzlichem Kontext verwendet, um eine Bing-Suchabfrage in Ihrem Auftrag zu generieren. Die an Bing gesendete Suchabfrage unterliegt den Datenschutzbestimmungen von Microsoft. Weitere Informationen findest du unter Verwalten von Richtlinien und Features für GitHub Copilot in Ihrem Unternehmen.
8. Bewertungen
Leistungs- und Sicherheitsbewertungen bewerten, ob KI-Anwendungen zuverlässig und sicher funktionieren, indem Faktoren wie Grundhaftigkeit, Relevanz und Kohärenz untersucht und gleichzeitig die Risiken der Generierung schädlicher Inhalte identifiziert werden. Die folgenden Bewertungen wurden durchgeführt, wobei Sicherheitskomponenten bereits vorhanden waren, die auch in 9. Sicherheitskomponenten und Minderungsmaßnahmen beschrieben werden.
Leistungs- und Qualitätsbewertungen
GitHub Copilot Chat KI-Features werden mithilfe einer Kombination aus Branchenstandard-Benchmarks (z. B. SWE-Bench) und intern entwickelten Evaluierungssuiten ausgewertet. Benchmark-Aufgaben stammen aus öffentlichen Open Source-Repositorys und synthetischen Szenarien; Keine echten Benutzerabfragen oder Kundencode werden verwendet. Jede Auswertung enthält mehrere unabhängige Läufe, um den Nichtdeterminismus in Modellausgaben zu berücksichtigen. Zu den wichtigsten Metriken gehören die Auflösungsrate (Prozentsatz der erfolgreich abgeschlossenen Aufgaben), Tokeneffizienz, Latenz und Zuverlässigkeit von Toolaufrufen. Modelle werden neu ausgewertet, wenn Aktualisierungen vorgenommen und kontinuierlich in der Produktion über Fehlerraten, Antwortlatenz und aggregierte Nutzungsmuster überwacht werden.
Methoden zur Leistungs- und Qualitätsbewertung
Neue Modelle für GitHub Copilot Chat durchlaufen vor der Bereitstellung einen mehrstufigen Evaluierungsprozess. Integratorteams führen Benchmark-Suites speziell für ihre Oberfläche aus, testen das Modell auf repräsentativen Codierungsaufgaben wie Fehlerbehebungen, Codegenerierung und Umgestaltung mit mehreren Dateien. Die Ergebnisse werden anhand etablierter Basispläne und bestehender Produktionsmodelle überprüft. Modelle müssen grundlegende Metriken wie Auflösungsrate, Tokeneffizienz und Latenz erfüllen oder überschreiten, bevor sie zur nächsten Stufe wechseln. Ein funktionsübergreifendes Prüfgremium trifft eine formale Go-/No-Go-Entscheidung, bevor ein Modell für eine nutzerseitige Bereitstellung freigegeben wird.
Risiko- und Sicherheitsbewertungen
Die Bewertung potenzieller Risiken im Zusammenhang mit KI-generierten Inhalten ist für den Schutz vor Inhaltsrisiken mit unterschiedlichem Schweregrad unerlässlich. Dies umfasst die Bewertung der Veranlagung einer KI-Anwendung, schädliche Inhalte zu generieren oder Sicherheitsrisiken für Jailbreak-Angriffe zu testen. Für GitHub führen wir Leistungsbewertungen durch, einschließlich derjenigen, die für Codierungszwecke von Microsoft Foundry angepasst sind:
- Hass und Unfairness
- Sexuelle
- Gewalt
- Selbstverletzung
- Geschütztes Material
- Jailbreak (Entsperrung von Geräten)
- Sicherheitsanfälligkeit in Code
Auswertungsdaten für Qualität und Sicherheit
Unsere Auswertungsdaten wurden speziell entwickelt, um die Leistung von KI-Anwendungen in wichtigen Bereichen der Sicherheit und Qualität zu bewerten und reale Szenarien und Risiken zu simulieren. Zunächst identifizieren wir relevante Bewertungsaspekte von Beunruhigungen basierend auf multidisziplinären Forschungs- und Experteneingaben. Diese Bedenken werden in gezielte Bewertungsziele übersetzt und leiten die Formulierung von Bewertungsmetriken. Für Sicherheit erstellen wir adversariale Prompts, um unerwünschte oder Grenzfallantworten hervorzurufen, die anschließend von KI-gestützten Annotatoren bewertet werden, die darauf trainiert sind, die Übereinstimmung mit GitHubs Standards zu beurteilen. Aus Qualitätsgründen erstellen wir rubrikenbasierte Aufforderungen, die für Szenarien relevant sind, einschließlich der Auswertung von Rag-Anwendungen (Retrieval-Augmented Generation) und Agents. Datasets werden aus verschiedenen Quellen zusammengestellt, einschließlich synthetischer und öffentlicher Datasets, um reale Benutzerszenarien zu simulieren. Mit den kuratierten Datasets durchlaufen beide Auswertungen iterative Verfeinerung und menschliche Ausrichtung zur Verbesserung der metrischen Wirksamkeit und Zuverlässigkeit. Diese Methodik bildet die Grundlage für wiederholbare, strenge Bewertungen, die widerspiegeln, wie Kunden Auswertungen verwenden, um eine bessere KI zu schaffen.
Benutzerdefinierte Auswertungen
Im Rahmen unseres Produktentwicklungsprozesses führen wir Red Teaming durch, um die Sicherheit von GitHub Copilot Chat besser zu verstehen und zu verbessern. Wenn diese Option aktiviert ist, werden Eingabeaufforderungen und Ausgabeabschlusse über Inhaltsfilter ausgeführt.
9. Sicherheitskomponenten und Entschärfungen
- Inhaltsfilterung: Wenn diese Option aktiviert ist, erkennt das Inhaltsfiltersystem die Ausgabe schädlicher Inhalte und verhindert sie. Wenn sie auf anstößigen Inhalt stoßen, melden Sie ihn an
[email protected]. - Abgleich mit öffentlichem Code: Je nach Ihren Einstellungen ist der Filter zur Erkennung von Duplikaten in GitHub Copilot Chat möglicherweise aktiviert oder deaktiviert. Wenn diese Option aktiviert ist, blockiert GitHub Copilot Chat entweder Vorschläge, die mit öffentlichem Code übereinstimmen, oder versieht sie mit Links zu den Quell-Repositorys und etwaigen Lizenzdetails. Wenn Sie in VS Code Vorschläge aktiviert haben, die mit öffentlichem Code übereinstimmen, zeigt GitHub Copilot Chat eine Meldung mit einem Link an, um den übereinstimmenden Code und alle Lizenzdetails im Editor anzuzeigen. In Visual Studio verwendet JetBrains, Eclipse und GitHub Mobile GitHub Copilot Chat Filter, die Übereinstimmungen mit öffentlichem Code blockieren. Unabhängig von den Einstellungen sollten Sie die gleichen Vorsichtsmaßnahmen treffen wie bei jedem Code, der Material verwendet, das Sie nicht unabhängig verwendet haben – einschließlich strenger Tests, IP-Überprüfung und Überprüfung auf Sicherheitsrisiken. Weitere Informationen findest du unter Suchen nach öffentlichem Code, der mit GitHub-Copilot-Empfehlungen übereinstimmt.
10. Bewährte Methoden zum Bereitstellen und Übernehmen von GitHub-Copilot Chat
Verantwortungsvolle KI ist ein gemeinsames Engagement zwischen GitHub und seinen Kunden. Während GitHub KI-Anwendungen mit Sicherheit, Fairness und Transparenz im Kern erstellt, spielen Kunden eine wichtige Rolle bei der Bereitstellung und Verwendung dieser Technologien in ihren eigenen Kontexten. Um diese Partnerschaft zu unterstützen, bieten wir die folgenden bewährten Methoden für Bereitstellungen und Endbenutzer an, um Kunden bei der effektiven Implementierung verantwortungsvoller KI zu unterstützen.
-
Lassen Sie Vorsicht walten und prüfen Sie die Ergebnisse, wenn Sie GitHub Copilot Chat für weitreichende Entscheidungen oder in sensiblen Bereichen verwenden: Folgeentscheidungen sind solche, die einen rechtlichen oder erheblichen Einfluss auf den Zugang einer Person auf Bildung, Beschäftigung, Finanzplattformen, staatliche Leistungen, Gesundheitsversorgung, Wohnung, Versicherung, Rechtliche Plattformen haben oder die zu physischem, psychologischem oder finanziellem Schaden führen könnten. Sensible Domänen wie Finanzplattformen, Gesundheitswesen und Wohnungen erfordern besondere Sorgfalt aufgrund des Potenziellen für unverhältnismäßige Auswirkungen auf verschiedene Personengruppen. Wenn Sie KI für Entscheidungen in diesen Bereichen verwenden, stellen Sie sicher, dass betroffene Beteiligte verstehen, wie Entscheidungen getroffen werden, Beschwerdeentscheidungen treffen und alle relevanten Eingabedaten aktualisieren können.
-
Bewertung rechtlicher und behördlicher Überlegungen: Kunden müssen potenzielle rechtliche und behördliche Verpflichtungen bewerten, wenn Sie KI-Plattformen und -Lösungen verwenden, die möglicherweise nicht für die Verwendung in jeder Branche oder in jedem Szenario geeignet sind. Darüber hinaus sind KI-Plattformen oder -Lösungen nicht für sie ausgelegt und dürfen nicht auf eine Weise verwendet werden, die in anwendbaren Nutzungsbedingungen und relevanten Verhaltensregeln verboten ist.
-
Üben Sie bei Bedarf eine menschliche Aufsicht aus: Die menschliche Aufsicht ist ein wichtiger Schutz bei der Interaktion mit KI-Anwendungen. Während wir unsere KI-Anwendungen kontinuierlich verbessern, kann KI immer noch Fehler machen. Die generierten Ausgaben können ungenau, unvollständig, voreingenommen, falsch ausgerichtet oder irrelevant für Ihre beabsichtigten Ziele sein. Dies kann verschiedene Gründe haben, z. B. Mehrdeutigkeit in den Eingaben oder Einschränkungen der zugrunde liegenden Modelle. Benutzer sollten daher die von GitHub Copilot Chat generierten Antworten überprüfen und überprüfen, ob sie ihren Erwartungen und Anforderungen entsprechen.
-
Achten Sie auf das Risiko einer Überlastung: Überlastung bei KI geschieht, wenn Benutzer falsche oder unvollständige KI-Ausgaben akzeptieren, hauptsächlich weil Fehler in KI-Ausgaben möglicherweise schwer zu erkennen sind. Für den Endbenutzer kann eine Überzuverlässigkeit unter anderem zu verminderter Produktivität, Vertrauensverlust, Anwendungsabbruch, finanziellem Verlust, psychischen Schäden, körperlichen Schäden führen. (z. B. ein Arzt akzeptiert eine falsche KI-Ausgabe).
-
Seien Sie vorsichtig beim Entwerfen agentischer KI in sensiblen Domänen: Benutzer sollten beim Entwerfen und/oder Bereitstellen agentischer KI-Anwendungen in sensiblen Domänen Vorsicht walten lassen, bei denen Agentaktionen unumkehrbar oder stark folgefähig sind. Zusätzliche Vorsichtsmaßnahmen sollten auch bei der Erstellung autonomer agentischer KI getroffen werden, wie weiter im GitHub-Bedingungen beschrieben.
-
Use GitHub Copilot Chat als Tool, nicht als Ersatz: GitHub Copilot Chat kann zwar ein leistungsfähiges Tool zum Generieren von Code sein, aber es ist wichtig, es als Tool anstelle eines Ersatzes für die menschliche Programmierung zu verwenden. Überprüfen und testen Sie immer Code, der von GitHub Copilot Chat generiert wurde, um sicherzustellen, dass er Ihre Anforderungen erfüllt und fehlerfrei oder sicherheitsbedenken ist.
-
Bleiben Sie beim Thema: GitHub Copilot Chat ist dafür gedacht, Fragen zum Programmieren zu beantworten. Das Einschränken von Eingabeaufforderungen auf Codierungsfragen oder -aufgaben verbessert die Ausgabequalität des Modells.
-
Verwenden Sie methoden für sicheres Codieren und Codeüberprüfung: Befolgen Sie bewährte Methoden für die sichere Codierung , z. B. das Vermeiden hartcodierter Kennwörter oder Sicherheitsanfälligkeiten bei der SQL-Einfügung, und überprüfen Sie den gesamten generierten Code.
-
Seien Sie bei Kontext (Spaces) wählerisch: Wenn Sie einem Space nur die relevantesten Dateien, Repositories und Notizen hinzufügen, hilft das Copilot, fokussiert zu bleiben. Das Überladen eines Leerraums mit unnötigem Inhalt kann die Antwortqualität verdünnen.
-
Halten Sie den Kontext aktuell (Bereiche): Wenn sich Ihr Projekt weiterentwickelt, aktualisieren Sie die Dateien, Issues oder die Dokumentation in Ihrem Bereich. Veralteter Kontext kann dazu führen, dass Copilot ungenaue oder unvollständige Antworten generieren.
-
Anweisungen zusammen mit Quellen verwenden (Spaces): Die Kombination aus Anweisungen in natürlicher Sprache mit kuratierten Quellen hilft Copilot, Ihre Absicht besser zu verstehen.
-
Chat in einem Space verankern (Spaces): Wenn Sie Unterhaltungen direkt in einem Space beginnen, bleiben Kontinuität und Relevanz gewahrt, sodass die Antworten auf den von Ihnen eingerichteten Kontext abgestimmt bleiben.
-
PR-Zusammenfassungen vor der Veröffentlichung prüfen (GitHub.com): Pull-Request-Zusammenfassungen sollen Ihr eigenes Verständnis der Änderungen ergänzen – nicht ersetzen. Überprüfen und bewerten Sie immer die Genauigkeit einer generierten Zusammenfassung, bevor Sie Ihre Pull-Anforderung speichern oder veröffentlichen.
-
Commit-Nachrichten vor dem Commit überprüfen (GitHub.com und GitHub Desktop): Die Generierung von Commit-Nachrichten soll Ihre eigenen Beschreibungen der Änderungen ergänzen – nicht ersetzen. Überprüfen und bearbeiten Sie vor dem Commit immer den vorgeschlagenen Titel und die vorgeschlagene Beschreibung. In GitHub Desktop können die Auswahl bestimmter Codezeilen oder Dateien die Genauigkeit verbessern. Sie können die Generierung von Commitnachrichten über die Seite Copilot settings auf GitHub.com deaktivieren.
-
Geben Sie Feedback: Falls Sie auf Probleme oder Einschränkungen stoßen, geben Sie über die Daumen-hoch-/Daumen-runter-Schaltflächen unter jeder Chatantwort Feedback. Die Möglichkeit, Feedback zu Zusammenfassungen von Pullanforderungen zu geben, hängt von Ihren Unternehmenseinstellungen ab. Weitere Informationen findest du unter Verwalten von Richtlinien und Features für GitHub Copilot in Ihrem Unternehmen. Für die Generierung von Commit-Nachrichten können Sie Feedback über die Community-Diskussion oder durch das Erstellen eines Issues im GitHub-Desktop-Repository geben. Dies trägt dazu bei, das Tool zu verbessern und Bedenken zu beheben.
-
Stay auf dem neuesten Stand: GitHub Copilot Chat entwickelt sich weiter. Bleiben Sie mit Updates, neuen Sicherheitsrisiken und bewährten Methoden auf dem Laufenden.
11. Erfahren Sie mehr über GitHub-Copilot Chat
Für weitere Hinweise zur verantwortungsvollen Nutzung von GitHub Copilot Chat empfehlen wir Ihnen, die folgende Dokumentation zu lesen:
- Fragen an GitHub Copilot in Ihrer IDE stellen
- Erstellen einer Zusammenfassung der Pull-Anforderung mit GitHub Copilot
- Fragen an GitHub Copilot in GitHub stellen
- Fragen an GitHub Copilot in Ihrer IDE stellen
- Terminalchat
- Lizenzbestimmungen für die Vorabversion von GitHub
- GitHub-Nutzungsbedingungen für zusätzliche Produkte und Funktionen
- GitHub Copilot Trust Center