Skip to main content

Verantwortungsvolle Nutzung von GitHub Copilot Chat in GitHub

Hier erfährst du, wie du den GitHub Copilot Chat auf GitHub sicher und verantwortungsbewusst verwenden kannst, indem du dich über die Zwecke, Funktionen und Einschränkungen von Copilot informierst.

Informationen zu GitHub Copilot Chat auf GitHub

GitHub Copilot Chat auf GitHub ist eine Chatschnittstelle, über die Sie mit GitHub Copilot interagieren können, um Fragen zu Codierungsthemen zu stellen und innerhalb von GitHub Antworten zu erhalten.

Die Chatschnittstelle bietet Zugang zu Informationen über das Programmieren und Support, ohne dass Sie in Dokumentationen blättern oder Online-Foren durchsuchen müssen.

Hinweis

Copilot-Chat ist auch in Visual Studio Code, Visual Studio und der JetBrains IDE-Suite verfügbar. Features, die in diesen IDEs verfügbar sind, unterscheiden sich jedoch von den Features, die in GitHubverfügbar sind.

GitHub Copilot Gespräch kann eine Vielzahl von Programmierungsfragen zu Themen wie Syntax, Programmierkonzepten, Testfällen, Debuggen und mehr beantworten. GitHub Copilot Gespräch ist nicht dafür konzipiert, nicht mit der Programmierung zusammenhängende Fragen zu beantworten oder allgemeine Informationen zu Themen außerhalb der Programmierung bereitzustellen.

Die primär unterstützte Sprache für Copilot-Chat auf GitHub ist Englisch.

GitHub Copilot Gespräch arbeitet mit einer Kombination aus Natürlicher Sprachverarbeitung und Maschinellem Lernen, um Ihre Frage zu verstehen und Ihnen eine Antwort zu geben. Dieser Prozess kann in eine Reihe von Schritten unterteilt werden.

Eingabeverarbeitung

Der vom Benutzer eingegebene Prompt wird vom Copilot-Chat-System vorverarbeitet, mit kontextbezogenen Informationen (z. B. dem aktuellen Datum und der Uhrzeit sowie dem Namen des Repositorys, das der Benutzer aktuell anzeigt) kombiniert und an ein Large Language Model 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 gespeichert sind, oder Suchergebnisse aus Bing), und gibt eine Antwort bereit, die auf der Eingabeaufforderung basiert. Das System ist nur für die Beantwortung von Fragen im Zusammenhang mit der Programmierung vorgesehen.

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. Repository-Daten, die auf GitHub gespeichert sind, oder Suchergebnisse von Bing) und basierend auf der Aufforderung eine Antwort bereitstellen. Diese Antwort kann in Form von generiertem Code, Codevorschlägen oder Erläuterungen des vorhandenen Codes erfolgen.

Ausgabeformatierung

Die von Copilot-Chat generierte Antwort wird formatiert und dem Benutzer angezeigt. Copilot-Chat kann Syntaxhervorhebung, Einzug und andere Formatierungsfunktionen verwenden, um der generierten Antwort Klarheit zu verleihen. 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, um sicherzustellen, dass sie korrekt und angemessen sind. Darüber hinaus führen wir im Rahmen unseres Produktentwicklungsprozesses Red-Teaming durch, um die Sicherheit der Inlinevorschläge 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 findest du unter Verbessern der Leistung für Copilot-Chat.

Anwendungsfälle für Copilot-Chat

Copilot-Chat kann in einer Vielzahl von Szenarios Programmierunterstützung bereitstellen.

Beantworten von Programmierfragen

Du kannst Copilot-Chat um Hilfe oder Klärung bei bestimmten Programmierproblemen bitten und Antworten im natürlichen Sprachformat oder in Form von Codeschnipseln erhalten.

Die von Copilot-Chat generierte Antwort kann den Trainingsdatensatz des Modells, Bing-Suchergebnisse und Code in Ihren Repositories verwenden, um Ihre Fragen zu beantworten.

Dies kann ein nützliches Tool für Programmierer*innen sein, da es Anleitung und Unterstützung bei allgemeinen Programmieraufgaben und Herausforderungen bieten kann.

Erläutern von Code und Vorschlagen von Verbesserungen

Copilot-Chat kann dazu beitragen, ausgewählten Code zu erklären, indem Beschreibungen der Funktionalität und des Zwecks des Codes in natürlicher Sprache generiert werden. Dies kann nützlich sein, wenn du das Verhalten des Codes verstehen möchtest, oder kann hilfreich für nicht technische Projektbeteiligte sein, die die Funktionsweise des Codes nachvollziehen müssen. Wenn du beispielsweise eine Funktion oder einen Codeblock im Code-Editor auswählst, kann Copilot-Chat eine Beschreibung in natürlicher Sprache dazu generieren, welche Funktion der Code hat und wie er in das Gesamtsystem passt. Dies kann Informationen wie die Eingabe- und Ausgabeparameter der Funktion, ihre Abhängigkeiten und ihren Zweck in der größeren Anwendung umfassen.

Copilot-Chat kann außerdem potenzielle Verbesserungen am ausgewählten Code vorschlagen, z. B. eine verbesserte Behandlung von Fehlern und Grenzfällen oder Änderungen am logischen Ablauf, um den Code lesbarer zu gestalten.

Durch die Generierung von Erläuterungen und Vorschläge zur entsprechenden Dokumentation kann Copilot-Chat dir dabei helfen, den ausgewählten Code zu verstehen. Dies führt zu einer besseren Zusammenarbeit und einer effektiveren Softwareentwicklung. Es ist jedoch wichtig zu beachten, dass die generierten Erläuterungen und Dokumentationen möglicherweise nicht immer korrekt oder vollständig sind, sodass du die Ausgabe von Copilot-Chat überprüfen und gelegentlich korrigieren musst.

Vorschlagen von Codekorrekturen

Copilot-Chat kann eine Behebung von Fehlern in deinem Code vorschlagen, indem Codeschnipsel und Lösungen basierend auf dem Kontext des Fehlers oder Problems empfohlen werden. Dies kann hilfreich sein, wenn du Schwierigkeiten hast, die Grundursache eines Fehlers zu identifizieren, oder wenn du eine Anleitung zur bestmöglichen Behebung benötigst. Wenn dein Code beispielsweise eine Fehlermeldung oder Warnung erzeugt, kann Copilot-Chat mögliche Korrekturen basierend auf der Fehlermeldung, der Syntax des Codes und dem umgebenden Code vorschlagen.

Copilot-Chat kann Änderungen an Variablen, Steuerungsstrukturen oder Funktionsaufrufen vorschlagen, die das Problem beheben, und Codeschnipsel generieren, die in die Codebasis integriert werden können. Es ist jedoch wichtig zu wissen, dass die vorgeschlagenen Korrekturen möglicherweise nicht immer optimal oder vollständig sind. Du musst die Vorschläge also überprüfen und testen.

Planen von Codierungsaufgaben

Copilot-Chat kann ein GitHub-Issue lesen und es zusammenfassen, Fragen dazu beantworten oder nächste Schritte vorschlagen. Dies kann nützlich sein, wenn Sie ein langes, komplexes Problem mit vielen Kommentaren haben und es schnell verstehen oder entscheiden möchten, was als Nächstes zu tun ist.

Es ist jedoch zu beachten, dass die Antworten und Zusammenfassungen von Copilot-Chat nicht immer genau oder vollständig sind. Du musst also die Ausgabe von Copilot-Chat auf ihre Genauigkeit überprüfen.

Ermitteln von Versionen, Diskussionen und Commits

Copilot-Chat kann dir dabei helfen, herauszufinden, was sich in einem bestimmten Release geändert hat. Zudem kann der Assistent die Informationen in einer Diskussion zusammenfassen und die Änderungen in einem bestimmten Commit erklären. Dies kann nützlich sein, wenn Sie z. B. neu in einem Projekt sind, schnell den Kern einer Diskussion erfassen möchten oder falls Sie an Code arbeiten müssen, den jemand anderes geschrieben hat. Es ist jedoch wichtig zu wissen, dass die von Copilot-Chat bereitgestellten Zusammenfassungen von Releases, Diskussionen und Commits nicht immer genau oder vollständig sind.

Verbessern der Leistung für Copilot-Chat

Copilot-Chat kann eine Vielzahl praktischer Anwendungen wie Q&A, Codegenerierung, Codeanalyse und Codekorrekturen unterstützen, wobei jede Anwendung über unterschiedliche Leistungsmetriken und Minderungsstrategien verfügt. Es gibt verschiedene Möglichkeiten, die Leistung von Copilot-Chat zu verbessern und Einschränkungen zu reduzieren. Weitere Informationen zu den Einschränkungen von Copilot-Chat finden Sie unter Einschränkungen von GitHub Copilot Gespräch.

Halten Sie Ihre Eingaben beim Thema.

Copilot-Chat ist ausschließlich für Abfragen im Zusammenhang mit der Programmierung vorgesehen. Daher kann die Einschränkung der Eingabeaufforderung auf Programmierfragen oder -aufgaben die Ausgabequalität des Modells verbessern.

Copilot-Chat als Tool verwenden, nicht als Ersatz

Copilot-Chat kann zwar ein leistungsfähiges Tool zum Generieren von Code sein, es ist aber wichtig, es als Hilfsmittel und nicht als Ersatz für die menschliche Programmierung zu nutzen. Du musst den von Copilot-Chat generierten Code immer überprüfen und testen, um sicherzustellen, dass er deinen Anforderungen entspricht und keine Fehler oder Sicherheitsrisiken enthält.

Methoden für die sichere Programmierung und Code Reviews verwenden

Copilot-Chat kann zwar syntaktisch korrekten Code generieren, doch ist dieser möglicherweise nicht immer sicher. Du solltest immer bewährte Methoden für die sichere Programmierung befolgen und beispielsweise hartcodierte Kennwörter oder Sicherheitsrisiken durch Einschleusung von SQL vermeiden. Zudem solltest du dich an die bewährten Methoden für Code Reviews halten, um die Einschränkungen von Copilot-Chat zu berücksichtigen.

Feedback geben

Hinweis

Die Möglichkeit, GitHub Feedback zu Copilot-Zusammenfassungen von Pull Requests zu geben, hängt von den Unternehmenseinstellungen ab. Weitere Informationen finden Sie unter Verwalten von Richtlinien und Features für GitHub Copilot in Ihrem Unternehmen.

Wenn Sie Probleme oder Einschränkungen mit Copilot-Chat auf GitHub feststellen, empfehlen wir, Feedback zu geben, indem Sie auf das Daumen-nach-unten-Symbol unterhalb jeder Chatantwort klicken. Dies kann Entwickler*innen dabei helfen, das Tool zu verbessern und alle Probleme oder Einschränkungen zu behandeln.

Auf dem Laufenden bleiben

Copilot-Chat ist eine neue Technologie und wird sich wahrscheinlich im Laufe der Zeit weiterentwickeln. Für GitHub Copilot Chat auf GitHub haben Sie immer Zugang zur neuesten Produkterfahrung. Sie sollten sich über alle neuen Sicherheitsrisiken sowie neu entwickelte bewährte Methoden auf dem Laufenden halten.

Einschränkungen von GitHub Copilot Gespräch

Abhängig von Faktoren wie Ihrer Codebasis und den Eingabedaten können Sie bei der Verwendung von Copilot-Chat unterschiedliche Leistungsstufen erleben. Die folgenden Informationen sind dazu ausgelegt, dich dabei zu unterstützen, Systemeinschränkungen und wichtige Konzepte zur Leistung nachzuvollziehen, die für den Copilot-Chat gelten.

Eingeschränkter Gültigkeitsbereich

Copilot-Chat wurde anhand einer großen Menge von Codetext trainiert, hat aber immer noch einen begrenzten Anwendungsbereich und ist möglicherweise nicht in der Lage, komplexere Codestrukturen oder unbekannte Programmiersprachen zu 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. JavaScript ist beispielsweise in öffentlichen Repositorys 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 Code nur basierend auf dem Kontext des geschriebenen Codes vorschlagen, sodass u. U. keine größeren Entwurfs- oder Architekturprobleme identifiziert werden können.

Potenzielle Verzerrungen

Copilot's Schulungsdaten (aus vorhandenen Coderepositorys) und der Kontext, der durch das große Sprachmodell (z. B. Bing-Suchergebnissen) gesammelt wurde, können Voreingenommenheiten und Fehler enthalten, die vom Tool verewigt werden können. Darüber hinaus kann Copilot-Chat auf bestimmte Programmiersprachen oder -stile ausgerichtet sein, was zu suboptimalen oder unvollständigen Codevorschlägen führen kann.

Sicherheitsrisiken

Copilot-Chat generiert Code basierend auf dem Kontext des geschriebenen Codes. Dies kann bei unvorsichtiger Verwendung die Offenlegung vertraulicher Informationen zur Folge haben oder ein Sicherheitsrisiko darstellen. Du solltest vorsichtig sein, wenn du Copilot-Chat verwendest, um Code für sicherheitsrelevante Anwendungen zu generieren, und den generierten Code immer gründlich überprüfen und testen.

Übereinstimmung mit öffentlichem Code

Copilot-Chat kann neuen Code generieren. Dies erfolgt auf probabilistische Weise. Während die Wahrscheinlichkeit, dass Code erzeugt wird, der dem Code im Trainingssatz entspricht, gering ist, kann ein Copilot-Chat-Vorschlag einige Codeschnipsel enthalten, die dem Code im Trainingssatz entsprechen.

Wenn du Vorschläge deaktiviert hast, die öffentlichem Code entsprechen, verwendet Copilot-Chat Filter, die verhindern, dass Code angezeigt wird, der mit Code übereinstimmt, der in öffentlichen Repositorys in GitHub gefunden wurde. Sie sollten jedoch immer die gleichen Vorsichtsmaßnahmen treffen wie bei jedem Code, den Sie schreiben, der Material verwendet, das Sie nicht entwickelt haben, einschließlich Vorsichtsmaßnahmen, um die Eignung zu gewährleisten. Diese Vorsichtsmaßnahmen umfassen strenge Tests, IP-Überprüfungen und Suchen nach Sicherheitsrisiken.

Wenn du Vorschläge aktiviert hast, die mit öffentlichem Code übereinstimmen, zeigt Copilot-Chat Meldungen an, wenn übereinstimmender Code gefunden wird. Die Nachricht enthält Links zu Repositorys für GitHub mit übereinstimmendem Code und alle gefundenen Lizenzdetails. Weitere Informationen finden Sie unter Suchen nach öffentlichem Code, der mit GitHub-Copilot suggestions übereinstimmt.

Ungenauer Code

Eine der Einschränkungen von Copilot-Chat besteht darin, dass Code generiert werden kann, der gültig zu sein scheint, aber in Wirklichkeit semantisch oder syntaktisch nicht korrekt ist oder die Absicht des Entwicklers nicht genau widerspiegelt. Um das Risiko von ungenauem Code zu minimieren, solltest du den generierten Code sorgfältig überprüfen und testen, insbesondere bei kritischen oder vertraulichen Anwendungen. Darüber hinaus solltest du sicherstellen, dass der generierte Code den bewährten Methoden und Entwurfsmustern entspricht und in die allgemeine Architektur und den Stil der Codebasis passt.

Ungenaue Antworten auf Themen, die nicht mit der Programmierung zusammenhängen

Copilot-Chat ist nicht für die Beantwortung von Fragen konzipiert, die nicht mit der Programmierung zusammenhängen. Daher sind die Antworten in diesen Kontexten möglicherweise nicht immer korrekt oder hilfreich. Wenn ein Benutzer Copilot-Chat eine Frage stellt, die nicht mit der Programmierung zusammenhängt, wird u. U. eine irrelevante oder unsinnige Antwort generiert. Es kann auch einfach darauf hindeuten, dass keine hilfreiche Antwort gegeben werden kann.

Nutzen der Websuche zur Beantwortung von Fragen

Abhängig von der frage, die Sie stellen, kann GitHub Copilot Gespräch optional eine Bing Suche verwenden, um Ihre Frage zu beantworten. Copilot verwendet Bing für Abfragen zu aktuellen Ereignissen, neuen Trends oder Technologien, hoch spezifischen Themen oder wenn eine Websuche explizit vom Benutzer angefordert wird. Ihr GitHub Enterprise Administrator kann Bing für Ihr gesamtes Unternehmen aktivieren oder diese Entscheidung an den Organisationsadministrator delegieren. Weitere Informationen finden Sie unter Verwalten von Richtlinien und Features für GitHub Copilot in Ihrem Unternehmen.

Wenn Sie Bing nutzen, verwendet Copilot den Inhalt Ihrer Eingabeaufforderung sowie zusätzlichen verfügbaren Kontext, um eine Bing Suchabfrage in Ihrem Auftrag zu generieren, die an die Bing Such-API gesendet wird. Copilot stellt einen Link zu den Suchergebnissen mit der entsprechenden Antwort bereit. Die an Bing gesendete Suchabfrage unterliegt der Datenschutzerklärung von Microsoft.

Verwendung von Bring Your Own Key (BYOK) mit GitHub Copilot

Wenn Sie Bring Your Own Key mit GitHub Copilot Gespräch verwenden, können Sie die Chaterfahrung mit großen Sprachmodellen von unterstützten Anbietern verbinden, die über das Standardmodell Copilot 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 ein.

Wenn BYOK aktiv ist:

  • Featurebereich: Das ausgewählte Modell wird innerhalb von GitHub Copilot Gespräch verwendet. Im Agentmodus prägt BYOK das Hauptgespräch, aber bestimmte Aktionen wie Codeausführung oder andere Toolaufrufe verwenden möglicherweise weiterhin GitHub-gehostete Modelle, die für diese Aufgaben optimiert wurden. Diese integrierten Modelle werden nicht über Ihren BYOK-Anbieter ausgeführt.
  • Sicherheitsprozesse: Unabhängig davon, welcher Anbieter aktiv ist, durchlaufen Antworten immer noch GitHubs Safety Systems, einschließlich 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. GitHub verarbeitet diese Daten vorübergehend zur Sicherheitsfilterung, behält jedoch nicht BYOK-Unterhaltungsinhalte über die Sitzungsdauer hinaus.
  • 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, während sie von GitHubs Sicherheitsinfrastruktur profitieren. Beachten Sie, dass Modellleistungs- und Sicherheitsmerkmale vom Anbieter abhängig sind.

Nächste Schritte

Ausführliche Informationen zur Verwendung von GitHub Copilot Chat auf GitHub findest du hier:

Weitere Informationen