Informationen zu GitHub Copilot Chat
GitHub Copilot Chat ist eine Chatschnittstelle, über die Sie mit GitHub Copilot interagieren können, um auf der Website von GitHub und in unterstützten IDEs Fragen zur Programmierung zu stellen und Antworten zu erhalten. Die Chatschnittstelle bietet Zugriff auf Programmierinformationen und Support, ohne dass Sie in der Dokumentation navigieren oder Onlineforen durchsuchen müssen. Weitere Informationen findest du unter Was ist GitHub Copilot?.
GitHub Copilot Chat kann eine Vielzahl von Programmierungsfragen zu Themen wie Syntax, Programmierkonzepten, Testfällen, Debuggen und mehr beantworten. GitHub Copilot Chat 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 GitHub Copilot Chat ist Englisch.
GitHub Copilot Chat verwendet eine Kombination aus linguistischer Datenverarbeitung und maschinellem Lernen, um deine Frage zu verstehen und dir eine Antwort zu geben. Dieser Prozess kann in eine Reihe von Schritten unterteilt werden.
Eingabeverarbeitung
Die Eingabeaufforderung des Benutzers wird vom Copilot Chat-System vorverarbeitet, mit kontextbezogenen Informationen kombiniert (z. B. dem Namen des Repositorys, das der Benutzer aktuell anzeigt und den Dateien, die der Benutzer geöffnet hat), und an ein großes Sprachmodell gesendet. Benutzereingaben können in Form von Codeschnipseln oder in einfacher Sprache erfolgen.
Mit einer optionalen .github/copilot-instructions.md
-Datei, die der Benutzer erstellen kann, können Chatprompts automatisch weitere Kontextinformationen hinzugefügt werden. Diese zusätzlichen Informationen werden nicht im Chat angezeigt, aber wenn die Anweisungen an das Modell gesendet werden, wird die Datei als Referenz in der Chatantwort aufgeführt. Der Benutzer kann dieses Feature in den Einstellungen der Copilot-Erweiterung deaktivieren.
Das große Sprachmodell verwendet die Eingabeaufforderung, sammelt zusätzlichen Kontext (z. B. Repositorydaten, die auf GitHub gespeichert sind), und stellt eine Antwort basierend auf der Eingabeaufforderung bereit. Das System ist nur für die Beantwortung von Fragen im Zusammenhang mit der Programmierung vorgesehen.
Sprachmodellanalyse
Die vorverarbeitete Eingabeaufforderung 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 und basierend auf dem Prompt eine Antwort bereitstellen. Diese Antwort kann in Form von generiertem Code, Codevorschlägen oder Erläuterungen des vorhandenen Codes erfolgen.
Wenn Sie den Chat-Teilnehmer @github
verwenden, kann Copilot Chat Kontext aus Ihrem Code, der auf GitHub gespeichert ist, und Suchergebnisse von Bing (falls von Ihrem Administrator aktiviert) sammeln.
Ausgabeformatierung
Die von Copilot Chat generierte Antwort wird formatiert und dem Benutzer bzw. der Benutzerin angezeigt. Copilot Chat kann Syntaxhervorhebung, Einzug und andere Formatierungsfeatures verwenden, um die generierte Antwort übersichtlicher zu machen. Je nach Art der Frage des Benutzers können auch Links zum Kontext, den das Modell bei der Erstellung einer Antwort verwendet hat, wie Quellcodedateien oder Dokumentation, bereitgestellt werden.
GitHub Copilot Chat dient dazu, Ihnen die relevanteste Antwort auf Ihre Frage zu geben. Es ist jedoch möglicherweise nicht immer die Antwort, die du suchst. Benutzer*innen 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 von Copilot Chat zu analysieren 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 GitHub Copilot Chat finden Sie unter Verbessern der Leistung für GitHub Copilot Chat.
Nutzen der Websuche zur Beantwortung von Fragen
Note
Die Integration der Bing-Suche in Copilot Chat befindet sich derzeit in public preview und kann sich noch ändern.
Wenn Sie den Chatteilnehmer @github
verwenden, kann GitHub Copilot Chat eine Bing-Suche verwenden, um Ihre Frage zu beantworten, wenn dies von Administrator*innen aktiviert wurde.
Der GitHub Enterprise-Administrator kann Bing für das gesamte Unternehmen aktivieren oder die Entscheidung darüber an den Administrator auf Organisationsebene delegieren. Weitere Informationen findest du unter Erzwingen von Richtlinien für GitHub Copilot in deinem Unternehmen.
Bei der Nutzung von Bing verwendet Copilot den Inhalt der Eingabeaufforderung sowie zusätzlichen verfügbaren Kontext zur Generierung einer Bing-Suchabfrage, die an die Bing-Suche-API gesendet wird. Copilot stellt einen Link zu den Suchergebnissen mit der entsprechenden Antwort bereit. Die an Bing gesendete Suchabfrage unterliegt den Datenschutzbestimmungen von Microsoft.
Anwendungsfälle für GitHub Copilot Chat
GitHub Copilot Chat kann in einer Vielzahl von Szenarien Programmierunterstützung bereitstellen.
Generieren von Komponententestfällen
Copilot Chat kann Ihnen beim Schreiben von Komponententestfällen behilflich sein. Dazu werden Codeschnipsel generiert, die auf dem im Editor geöffneten Code oder dem Codeschnipsel basieren, den Sie im Editor hervorheben. Dies kann Ihnen beim Schreiben von Testfällen helfen, ohne dass Sie viel Zeit für sich wiederholende Aufgaben aufwenden müssen. Wenn du beispielsweise einen Testfall für eine bestimmte Funktion schreibst, kannst du Copilot Chat verwenden, um mögliche Eingabeparameter und erwartete Ausgabewerte basierend auf der Signatur und dem Text der Funktion vorzuschlagen. Copilot Chat kann auch Assertionen vorschlagen, die basierend auf dem Kontext und der Semantik des Codes sicherstellen, dass die Funktion ordnungsgemäß funktioniert.
Darüber hinaus kann dir Copilot Chat beim Schreiben von Testfällen für Grenzfälle und Grenzbedingungen helfen, die manuell schwer zu identifizieren sind. Beispielsweise kann Copilot Chat Testfälle für die Fehlerbehandlung, NULL-Werte oder unerwartete Eingabetypen vorschlagen, um sicherzustellen, dass dein Code stabil und resilient ist. Es muss jedoch beachtet werden, dass generierte Testfälle möglicherweise nicht alle möglichen Szenarien abdecken und weiterhin manuelle Tests und Code Reviews erforderlich sind, um die Qualität des Codes sicherzustellen. Weitere Informationen zum Generieren von Komponententestfällen finden Sie unter Fragen an GitHub Copilot Chat zu Ihrem Code.
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 auch potenzielle Verbesserungen am ausgewählten Code vorschlagen, z. B. eine verbesserte Behandlung von Fehlern und Randfällen oder Änderungen am logischen Ablauf, um den Code lesbarer zu machen.
Durch die Generierung von Erläuterungen und Vorschläge zur entsprechenden Dokumentation kann Copilot Chat Ihnen 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.
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 verwendet das Trainingsdataset des Modells, um Ihre Fragen zu beantworten.
Wenn Sie den Chatteilnehmer @github
verwenden, kann die generierte Antwort auch Suchergebnisse aus Bing, Code in Ihren Repositorys und Markdown-Dokumentation in Ihren Knowledge Bases verwenden.
Dies kann ein nützliches Tool für Programmierer*innen sein, da es Anleitung und Unterstützung bei allgemeinen Programmieraufgaben und Herausforderungen bieten kann.
Verbessern der Leistung für GitHub Copilot Chat
Copilot Chat kann eine Vielzahl praktischer Anwendungen wie Codegenerierung, Codeanalyse und Codekorrekturen mit unterschiedlichen Leistungsmetriken und Entschärfungsstrategien unterstützen. Um die Leistung zu verbessern und einige der Einschränkungen von Copilot Chat zu behandeln, kannst du verschiedene Maßnahmen ergreifen. Weitere Informationen zu den Einschränkungen von Copilot Chat finden Sie unter Einschränkungen von GitHub Copilot Chat.
Beim Thema bleiben
Copilot Chat ist ausschließlich für Fragen 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 Hilfsmittel und nicht als Ersatz verwenden
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 verwenden. Du musst den von Copilot Chat generierten Code immer überprüfen und testen, um sicherzustellen, dass er deinen Anforderungen entspricht und frei von Fehlern oder Sicherheitsrisiken ist.
Methoden für die sichere Programmierung und Code Reviews verwenden
Copilot Chat kann zwar syntaktisch korrekten Code generieren, dies ist aber 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 bereitstellen
Wenn bei Copilot Chat Probleme oder Einschränkungen auftreten, empfiehlt es sich, Feedback über den Link Feedback geben in der Copilot Chat-Schnittstelle deiner IDE bereitzustellen. 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. Sie sollten bei allen Updates oder Änderungen am Tool sowie über neue Sicherheitsrisiken oder bewährte Methoden, die sich möglicherweise ergeben, auf dem neuesten Stand bleiben. Automatische Erweiterungs-Updates sind standardmäßig in Visual Studio Code, Visual Studio und den JetBrains-IDEs aktiviert. Für GitHub Copilot Chat in GitHub haben Sie immer Zugriff auf die neuesten Produkterfahrungen. Wenn Sie automatische Updates aktiviert haben, wird Copilot Chat automatisch auf die neueste Version aktualisiert, wenn Sie die IDE öffnen. Weitere Informationen zu automatischen Updates in Ihrer IDE finden Sie in der Visual Studio Code Dokumentation, in der Visual Studio Dokumentation und in der Dokumentation zu Ihrer JetBrains IDE.
Einschränkungen von GitHub Copilot Chat
Abhängig von Faktoren wie Codebasis und Eingabedaten kann sich bei der Verwendung von Copilot Chat die Leistung unterscheiden. Die folgenden Informationen sollen dir helfen, Systemeinschränkungen und wichtige Konzepte zur Leistung zu verstehen, die für 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
Die Trainingsdaten von Copilot stammen aus vorhandenen Coderepositorys, die möglicherweise Verzerrungen und Fehler enthalten, die vom Tool übernommen werden können. Darüber hinaus kann Copilot Chat auf bestimmte Programmiersprachen oder Codierungsstile 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 Sie Vorschläge deaktiviert haben, die mit öffentlichem Code übereinstimmen, 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. Stelle sicher, dass die IDE oder der Editor generierten Code nicht automatisch kompiliert oder ausführt, bevor du ihn überprüft hast.
Wenn Sie Vorschläge aktiviert haben, die mit öffentlichem Code übereinstimmen, zeigt Copilot Chat eine Meldung an, wenn übereinstimmenden Code gefunden wird. Die Nachricht enthält einen Link, über den Sie die Details des übereinstimmenden Codes und alle gefundenen Lizenzdetails im VS Code-Editor anzeigen können. Weitere Informationen findest du unter Suchen von öffentlichem Code, der mit GitHub Copilot-Vorschlägen übereinstimmt.
Copilot Chat verwendet Filter, die Übereinstimmungen mit öffentlichem Code in GitHub-Repositorys blockieren. Du solltest aber immer die gleichen Vorsichtsmaßnahmen ergreifen wie bei jedem von dir geschriebenem Code, der Material verwendet, das nicht von dir selbst erstellt wurde, u. a. Vorsichtsmaßnahmen, um dessen Eignung sicherzustellen. Diese Vorsichtsmaßnahmen umfassen strenge Tests, IP-Überprüfungen und Suchen nach Sicherheitsrisiken. Stelle sicher, dass die IDE oder der Editor generierten Code nicht automatisch kompiliert oder ausführt, bevor du ihn überprüft hast.
Copilot Chat verwendet Filter, die Übereinstimmungen mit öffentlichem Code in GitHub-Repositorys blockieren. Du solltest aber immer die gleichen Vorsichtsmaßnahmen ergreifen wie bei jedem von dir geschriebenem Code, der Material verwendet, das nicht von dir selbst erstellt wurde, u. a. Vorsichtsmaßnahmen, um dessen Eignung sicherzustellen. Diese Vorsichtsmaßnahmen umfassen strenge Tests, IP-Überprüfungen und Suchen nach Sicherheitsrisiken. Stelle sicher, dass die IDE oder der Editor generierten Code nicht automatisch kompiliert oder ausführt, bevor du ihn überprüft hast.
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 oder eine Benutzerin 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.
Nächste Schritte
Ausführliche Informationen zur Verwendung von GitHub Copilot Chat finden Sie unter:
Weiterführende Themen
Informationen zu GitHub Copilot Chat
GitHub Copilot Chat ist eine Chatschnittstelle, über die Sie mit GitHub Copilot interagieren können, um auf der Website von GitHub und in unterstützten IDEs Fragen zur Programmierung zu stellen und Antworten zu erhalten. Die Chatschnittstelle bietet Zugriff auf Programmierinformationen und Support, ohne dass Sie in der Dokumentation navigieren oder Onlineforen durchsuchen müssen. Weitere Informationen findest du unter Was ist GitHub Copilot?.
GitHub Copilot Chat kann eine Vielzahl von Programmierungsfragen zu Themen wie Syntax, Programmierkonzepten, Testfällen, Debuggen und mehr beantworten. GitHub Copilot Chat 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 GitHub Copilot Chat ist Englisch.
GitHub Copilot Chat verwendet eine Kombination aus linguistischer Datenverarbeitung und maschinellem Lernen, um deine Frage zu verstehen und dir eine Antwort zu geben. Dieser Prozess kann in eine Reihe von Schritten unterteilt werden.
Eingabeverarbeitung
Die Eingabeaufforderung des Benutzers wird vom Copilot Chat-System vorverarbeitet, mit kontextbezogenen Informationen kombiniert (z. B. dem Namen des Repositorys, das der Benutzer aktuell anzeigt und den Dateien, die der Benutzer geöffnet hat), und an ein großes Sprachmodell gesendet. Benutzereingaben können in Form von Codeschnipseln oder in einfacher Sprache erfolgen.
Mit einer optionalen .github/copilot-instructions.md
-Datei, die der Benutzer erstellen kann, können Chatprompts automatisch weitere Kontextinformationen hinzugefügt werden. Diese zusätzlichen Informationen werden nicht im Chat angezeigt, aber wenn die Anweisungen an das Modell gesendet werden, wird die Datei als Referenz in der Chatantwort aufgeführt. Der Benutzer kann dieses Feature in den Einstellungen der Copilot-Erweiterung deaktivieren.
Das große Sprachmodell verwendet die Eingabeaufforderung, sammelt zusätzlichen Kontext (z. B. Repositorydaten, die auf GitHub gespeichert sind), und stellt eine Antwort basierend auf der Eingabeaufforderung bereit. Das System ist nur für die Beantwortung von Fragen im Zusammenhang mit der Programmierung vorgesehen.
Sprachmodellanalyse
Die vorverarbeitete Eingabeaufforderung 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 und basierend auf dem Prompt eine Antwort bereitstellen. Diese Antwort kann in Form von generiertem Code, Codevorschlägen oder Erläuterungen des vorhandenen Codes erfolgen.
Wenn Sie den Chat-Teilnehmer @github
verwenden, kann Copilot Chat Kontext aus Ihrem Code, der auf GitHub gespeichert ist, und Suchergebnisse von Bing (falls von Ihrem Administrator aktiviert) sammeln.
Ausgabeformatierung
Die von Copilot Chat generierte Antwort wird formatiert und dem Benutzer bzw. der Benutzerin angezeigt. Copilot Chat kann Syntaxhervorhebung, Einzug und andere Formatierungsfeatures verwenden, um die generierte Antwort übersichtlicher zu machen. Je nach Art der Frage des Benutzers können auch Links zum Kontext, den das Modell bei der Erstellung einer Antwort verwendet hat, wie Quellcodedateien oder Dokumentation, bereitgestellt werden.
GitHub Copilot Chat dient dazu, Ihnen die relevanteste Antwort auf Ihre Frage zu geben. Es ist jedoch möglicherweise nicht immer die Antwort, die du suchst. Benutzer*innen 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 von Copilot Chat zu analysieren 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 GitHub Copilot Chat finden Sie unter Verbessern der Leistung für GitHub Copilot Chat.
Nutzen der Websuche zur Beantwortung von Fragen
Note
Die Integration der Bing-Suche in Copilot Chat befindet sich derzeit in public preview und kann sich noch ändern.
Wenn Sie den Chatteilnehmer @github
verwenden, kann GitHub Copilot Chat eine Bing-Suche verwenden, um Ihre Frage zu beantworten, wenn dies von Administrator*innen aktiviert wurde.
Der GitHub Enterprise-Administrator kann Bing für das gesamte Unternehmen aktivieren oder die Entscheidung darüber an den Administrator auf Organisationsebene delegieren. Weitere Informationen findest du unter Erzwingen von Richtlinien für GitHub Copilot in deinem Unternehmen.
Bei der Nutzung von Bing verwendet Copilot den Inhalt der Eingabeaufforderung sowie zusätzlichen verfügbaren Kontext zur Generierung einer Bing-Suchabfrage, die an die Bing-Suche-API gesendet wird. Copilot stellt einen Link zu den Suchergebnissen mit der entsprechenden Antwort bereit. Die an Bing gesendete Suchabfrage unterliegt den Datenschutzbestimmungen von Microsoft.
Anwendungsfälle für GitHub Copilot Chat
GitHub Copilot Chat kann in einer Vielzahl von Szenarien Programmierunterstützung bereitstellen.
Generieren von Komponententestfällen
Copilot Chat kann Ihnen beim Schreiben von Komponententestfällen behilflich sein. Dazu werden Codeschnipsel generiert, die auf dem im Editor geöffneten Code oder dem Codeschnipsel basieren, den Sie im Editor hervorheben. Dies kann Ihnen beim Schreiben von Testfällen helfen, ohne dass Sie viel Zeit für sich wiederholende Aufgaben aufwenden müssen. Wenn du beispielsweise einen Testfall für eine bestimmte Funktion schreibst, kannst du Copilot Chat verwenden, um mögliche Eingabeparameter und erwartete Ausgabewerte basierend auf der Signatur und dem Text der Funktion vorzuschlagen. Copilot Chat kann auch Assertionen vorschlagen, die basierend auf dem Kontext und der Semantik des Codes sicherstellen, dass die Funktion ordnungsgemäß funktioniert.
Darüber hinaus kann dir Copilot Chat beim Schreiben von Testfällen für Grenzfälle und Grenzbedingungen helfen, die manuell schwer zu identifizieren sind. Beispielsweise kann Copilot Chat Testfälle für die Fehlerbehandlung, NULL-Werte oder unerwartete Eingabetypen vorschlagen, um sicherzustellen, dass dein Code stabil und resilient ist. Es muss jedoch beachtet werden, dass generierte Testfälle möglicherweise nicht alle möglichen Szenarien abdecken und weiterhin manuelle Tests und Code Reviews erforderlich sind, um die Qualität des Codes sicherzustellen. Weitere Informationen zum Generieren von Komponententestfällen finden Sie unter Fragen an GitHub Copilot Chat zu Ihrem Code.
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 auch potenzielle Verbesserungen am ausgewählten Code vorschlagen, z. B. eine verbesserte Behandlung von Fehlern und Randfällen oder Änderungen am logischen Ablauf, um den Code lesbarer zu machen.
Durch die Generierung von Erläuterungen und Vorschläge zur entsprechenden Dokumentation kann Copilot Chat Ihnen 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.
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 verwendet das Trainingsdataset des Modells, 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.
Verbessern der Leistung für GitHub Copilot Chat
Copilot Chat kann eine Vielzahl praktischer Anwendungen wie Codegenerierung, Codeanalyse und Codekorrekturen mit unterschiedlichen Leistungsmetriken und Entschärfungsstrategien unterstützen. Um die Leistung zu verbessern und einige der Einschränkungen von Copilot Chat zu behandeln, kannst du verschiedene Maßnahmen ergreifen. Weitere Informationen zu den Einschränkungen von Copilot Chat finden Sie unter Einschränkungen von GitHub Copilot Chat.
Beim Thema bleiben
Copilot Chat ist ausschließlich für Fragen 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 Hilfsmittel und nicht als Ersatz verwenden
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 verwenden. Du musst den von Copilot Chat generierten Code immer überprüfen und testen, um sicherzustellen, dass er deinen Anforderungen entspricht und frei von Fehlern oder Sicherheitsrisiken ist.
Methoden für die sichere Programmierung und Code Reviews verwenden
Copilot Chat kann zwar syntaktisch korrekten Code generieren, dies ist aber 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 bereitstellen
Wenn bei Copilot Chat Probleme oder Einschränkungen auftreten, empfiehlt es sich, Feedback über den Link Feedback geben in der Copilot Chat-Schnittstelle deiner IDE bereitzustellen. 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. Sie sollten bei allen Updates oder Änderungen am Tool sowie über neue Sicherheitsrisiken oder bewährte Methoden, die sich möglicherweise ergeben, auf dem neuesten Stand bleiben. Automatische Erweiterungs-Updates sind standardmäßig in Visual Studio Code, Visual Studio und den JetBrains-IDEs aktiviert. Für GitHub Copilot Chat in GitHub haben Sie immer Zugriff auf die neuesten Produkterfahrungen. Wenn Sie automatische Updates aktiviert haben, wird Copilot Chat automatisch auf die neueste Version aktualisiert, wenn Sie die IDE öffnen. Weitere Informationen zu automatischen Updates in Ihrer IDE finden Sie in der Visual Studio Code Dokumentation, in der Visual Studio Dokumentation und in der Dokumentation zu Ihrer JetBrains IDE.
Einschränkungen von GitHub Copilot Chat
Abhängig von Faktoren wie Codebasis und Eingabedaten kann sich bei der Verwendung von Copilot Chat die Leistung unterscheiden. Die folgenden Informationen sollen dir helfen, Systemeinschränkungen und wichtige Konzepte zur Leistung zu verstehen, die für 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
Die Trainingsdaten von Copilot stammen aus vorhandenen Coderepositorys, die möglicherweise Verzerrungen und Fehler enthalten, die vom Tool übernommen werden können. Darüber hinaus kann Copilot Chat auf bestimmte Programmiersprachen oder Codierungsstile 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 Sie Vorschläge deaktiviert haben, die mit öffentlichem Code übereinstimmen, 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. Stelle sicher, dass die IDE oder der Editor generierten Code nicht automatisch kompiliert oder ausführt, bevor du ihn überprüft hast.
Wenn Sie Vorschläge aktiviert haben, die mit öffentlichem Code übereinstimmen, zeigt Copilot Chat eine Meldung an, wenn übereinstimmenden Code gefunden wird. Die Nachricht enthält einen Link, über den Sie die Details des übereinstimmenden Codes und alle gefundenen Lizenzdetails im VS Code-Editor anzeigen können. Weitere Informationen findest du unter Suchen von öffentlichem Code, der mit GitHub Copilot-Vorschlägen übereinstimmt.
Copilot Chat verwendet Filter, die Übereinstimmungen mit öffentlichem Code in GitHub-Repositorys blockieren. Du solltest aber immer die gleichen Vorsichtsmaßnahmen ergreifen wie bei jedem von dir geschriebenem Code, der Material verwendet, das nicht von dir selbst erstellt wurde, u. a. Vorsichtsmaßnahmen, um dessen Eignung sicherzustellen. Diese Vorsichtsmaßnahmen umfassen strenge Tests, IP-Überprüfungen und Suchen nach Sicherheitsrisiken. Stelle sicher, dass die IDE oder der Editor generierten Code nicht automatisch kompiliert oder ausführt, bevor du ihn überprüft hast.
Copilot Chat verwendet Filter, die Übereinstimmungen mit öffentlichem Code in GitHub-Repositorys blockieren. Du solltest aber immer die gleichen Vorsichtsmaßnahmen ergreifen wie bei jedem von dir geschriebenem Code, der Material verwendet, das nicht von dir selbst erstellt wurde, u. a. Vorsichtsmaßnahmen, um dessen Eignung sicherzustellen. Diese Vorsichtsmaßnahmen umfassen strenge Tests, IP-Überprüfungen und Suchen nach Sicherheitsrisiken. Stelle sicher, dass die IDE oder der Editor generierten Code nicht automatisch kompiliert oder ausführt, bevor du ihn überprüft hast.
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 oder eine Benutzerin 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.
Nächste Schritte
Ausführliche Informationen zur Verwendung von GitHub Copilot Chat finden Sie unter:
Weiterführende Themen
Informationen zu GitHub Copilot Chat
GitHub Copilot Chat ist eine Chatschnittstelle, über die Sie mit GitHub Copilot interagieren können, um auf der Website von GitHub und in unterstützten IDEs Fragen zur Programmierung zu stellen und Antworten zu erhalten. Die Chatschnittstelle bietet Zugriff auf Programmierinformationen und Support, ohne dass Sie in der Dokumentation navigieren oder Onlineforen durchsuchen müssen. Weitere Informationen findest du unter Was ist GitHub Copilot?.
GitHub Copilot Chat kann eine Vielzahl von Programmierungsfragen zu Themen wie Syntax, Programmierkonzepten, Testfällen, Debuggen und mehr beantworten. GitHub Copilot Chat 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 GitHub Copilot Chat ist Englisch.
GitHub Copilot Chat verwendet eine Kombination aus linguistischer Datenverarbeitung und maschinellem Lernen, um deine Frage zu verstehen und dir eine Antwort zu geben. Dieser Prozess kann in eine Reihe von Schritten unterteilt werden.
Eingabeverarbeitung
Die Eingabeaufforderung des Benutzers wird vom Copilot Chat-System vorverarbeitet, mit kontextbezogenen Informationen kombiniert (z. B. dem Namen des Repositorys, das der Benutzer aktuell anzeigt und den Dateien, die der Benutzer geöffnet hat), 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 gespeichert sind), und stellt eine Antwort basierend auf der Eingabeaufforderung bereit. Das System ist nur für die Beantwortung von Fragen im Zusammenhang mit der Programmierung vorgesehen.
Sprachmodellanalyse
Die vorverarbeitete Eingabeaufforderung 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 und basierend auf dem Prompt 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 bzw. der Benutzerin angezeigt. Copilot Chat kann Syntaxhervorhebung, Einzug und andere Formatierungsfeatures verwenden, um die generierte Antwort übersichtlicher zu machen. Je nach Art der Frage des Benutzers können auch Links zum Kontext, den das Modell bei der Erstellung einer Antwort verwendet hat, wie Quellcodedateien oder Dokumentation, bereitgestellt werden.
GitHub Copilot Chat dient dazu, Ihnen die relevanteste Antwort auf Ihre Frage zu geben. Es ist jedoch möglicherweise nicht immer die Antwort, die du suchst. Benutzer*innen 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 von Copilot Chat zu analysieren 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 GitHub Copilot Chat finden Sie unter Verbessern der Leistung für GitHub Copilot Chat.
Anwendungsfälle für GitHub Copilot Chat
GitHub Copilot Chat kann in einer Vielzahl von Szenarien Programmierunterstützung bereitstellen.
Generieren von Komponententestfällen
Copilot Chat kann Ihnen beim Schreiben von Komponententestfällen behilflich sein. Dazu werden Codeschnipsel generiert, die auf dem im Editor geöffneten Code oder dem Codeschnipsel basieren, den Sie im Editor hervorheben. Dies kann Ihnen beim Schreiben von Testfällen helfen, ohne dass Sie viel Zeit für sich wiederholende Aufgaben aufwenden müssen. Wenn du beispielsweise einen Testfall für eine bestimmte Funktion schreibst, kannst du Copilot Chat verwenden, um mögliche Eingabeparameter und erwartete Ausgabewerte basierend auf der Signatur und dem Text der Funktion vorzuschlagen. Copilot Chat kann auch Assertionen vorschlagen, die basierend auf dem Kontext und der Semantik des Codes sicherstellen, dass die Funktion ordnungsgemäß funktioniert.
Darüber hinaus kann dir Copilot Chat beim Schreiben von Testfällen für Grenzfälle und Grenzbedingungen helfen, die manuell schwer zu identifizieren sind. Beispielsweise kann Copilot Chat Testfälle für die Fehlerbehandlung, NULL-Werte oder unerwartete Eingabetypen vorschlagen, um sicherzustellen, dass dein Code stabil und resilient ist. Es muss jedoch beachtet werden, dass generierte Testfälle möglicherweise nicht alle möglichen Szenarien abdecken und weiterhin manuelle Tests und Code Reviews erforderlich sind, um die Qualität des Codes sicherzustellen. Weitere Informationen zum Generieren von Komponententestfällen finden Sie unter Fragen an GitHub Copilot Chat zu Ihrem Code.
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 auch potenzielle Verbesserungen am ausgewählten Code vorschlagen, z. B. eine verbesserte Behandlung von Fehlern und Randfällen oder Änderungen am logischen Ablauf, um den Code lesbarer zu machen.
Durch die Generierung von Erläuterungen und Vorschläge zur entsprechenden Dokumentation kann Copilot Chat Ihnen 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.
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 verwendet das Trainingsdataset des Modells, 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.
Verbessern der Leistung für GitHub Copilot Chat
Copilot Chat kann eine Vielzahl praktischer Anwendungen wie Codegenerierung, Codeanalyse und Codekorrekturen mit unterschiedlichen Leistungsmetriken und Entschärfungsstrategien unterstützen. Um die Leistung zu verbessern und einige der Einschränkungen von Copilot Chat zu behandeln, kannst du verschiedene Maßnahmen ergreifen. Weitere Informationen zu den Einschränkungen von Copilot Chat finden Sie unter Einschränkungen von GitHub Copilot Chat.
Beim Thema bleiben
Copilot Chat ist ausschließlich für Fragen 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 Hilfsmittel und nicht als Ersatz verwenden
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 verwenden. Du musst den von Copilot Chat generierten Code immer überprüfen und testen, um sicherzustellen, dass er deinen Anforderungen entspricht und frei von Fehlern oder Sicherheitsrisiken ist.
Methoden für die sichere Programmierung und Code Reviews verwenden
Copilot Chat kann zwar syntaktisch korrekten Code generieren, dies ist aber 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 bereitstellen
Wenn bei Copilot Chat Probleme oder Einschränkungen auftreten, empfiehlt es sich, Feedback über den Link Feedback geben in der Copilot Chat-Schnittstelle deiner IDE bereitzustellen. 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. Sie sollten bei allen Updates oder Änderungen am Tool sowie über neue Sicherheitsrisiken oder bewährte Methoden, die sich möglicherweise ergeben, auf dem neuesten Stand bleiben. Automatische Erweiterungs-Updates sind standardmäßig in Visual Studio Code, Visual Studio und den JetBrains-IDEs aktiviert. Für GitHub Copilot Chat in GitHub haben Sie immer Zugriff auf die neuesten Produkterfahrungen. Wenn Sie automatische Updates aktiviert haben, wird Copilot Chat automatisch auf die neueste Version aktualisiert, wenn Sie die IDE öffnen. Weitere Informationen zu automatischen Updates in Ihrer IDE finden Sie in der Visual Studio Code Dokumentation, in der Visual Studio Dokumentation und in der Dokumentation zu Ihrer JetBrains IDE.
Einschränkungen von GitHub Copilot Chat
Abhängig von Faktoren wie Codebasis und Eingabedaten kann sich bei der Verwendung von Copilot Chat die Leistung unterscheiden. Die folgenden Informationen sollen dir helfen, Systemeinschränkungen und wichtige Konzepte zur Leistung zu verstehen, die für 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
Die Trainingsdaten von Copilot stammen aus vorhandenen Coderepositorys, die möglicherweise Verzerrungen und Fehler enthalten, die vom Tool übernommen werden können. Darüber hinaus kann Copilot Chat auf bestimmte Programmiersprachen oder Codierungsstile 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 Sie Vorschläge deaktiviert haben, die mit öffentlichem Code übereinstimmen, 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. Stelle sicher, dass die IDE oder der Editor generierten Code nicht automatisch kompiliert oder ausführt, bevor du ihn überprüft hast.
Wenn Sie Vorschläge aktiviert haben, die mit öffentlichem Code übereinstimmen, zeigt Copilot Chat eine Meldung an, wenn übereinstimmenden Code gefunden wird. Die Nachricht enthält einen Link, über den Sie die Details des übereinstimmenden Codes und alle gefundenen Lizenzdetails im VS Code-Editor anzeigen können. Weitere Informationen findest du unter Suchen von öffentlichem Code, der mit GitHub Copilot-Vorschlägen übereinstimmt.
Copilot Chat verwendet Filter, die Übereinstimmungen mit öffentlichem Code in GitHub-Repositorys blockieren. Du solltest aber immer die gleichen Vorsichtsmaßnahmen ergreifen wie bei jedem von dir geschriebenem Code, der Material verwendet, das nicht von dir selbst erstellt wurde, u. a. Vorsichtsmaßnahmen, um dessen Eignung sicherzustellen. Diese Vorsichtsmaßnahmen umfassen strenge Tests, IP-Überprüfungen und Suchen nach Sicherheitsrisiken. Stelle sicher, dass die IDE oder der Editor generierten Code nicht automatisch kompiliert oder ausführt, bevor du ihn überprüft hast.
Copilot Chat verwendet Filter, die Übereinstimmungen mit öffentlichem Code in GitHub-Repositorys blockieren. Du solltest aber immer die gleichen Vorsichtsmaßnahmen ergreifen wie bei jedem von dir geschriebenem Code, der Material verwendet, das nicht von dir selbst erstellt wurde, u. a. Vorsichtsmaßnahmen, um dessen Eignung sicherzustellen. Diese Vorsichtsmaßnahmen umfassen strenge Tests, IP-Überprüfungen und Suchen nach Sicherheitsrisiken. Stelle sicher, dass die IDE oder der Editor generierten Code nicht automatisch kompiliert oder ausführt, bevor du ihn überprüft hast.
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 oder eine Benutzerin 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.
Nächste Schritte
Ausführliche Informationen zur Verwendung von GitHub Copilot Chat finden Sie unter: