Skip to main content

Informationen zu GitHub Copilot Chat

GitHub Copilot Chat kann Ihnen helfen, indem es Antworten auf Fragen zur Programmierung auf GitHub.com oder direkt in einer unterstützten IDE liefert.

Wer kann dieses Feature verwenden?

Alle Benutzer mit einem GitHub Copilot Individual-Abonnement können in Ihrer IDE auf GitHub Copilot Chat zugreifen.

Besitzer von -Organisationen oder -Unternehmen mit einem Copilot Business-Abonnement, oder ein Copilot Enterprise-Abonnement, können entscheiden, ob der Zugriff auf GitHub Copilot Chat in Ihrem IDE und – mit einem Copilot Enterprise-Abonnement – für gewährt werden soll.

Informationen zu GitHub Copilot Chat

GitHub Copilot Chat ist eine Chat-Schnittstelle, über die Sie mit GitHub Copilot interagieren können, um Fragen zur Programmierung innerhalb von GitHub.com und unterstützten IDEs 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. Copilot Chat wird derzeit von Visual Studio Code, Visual Studio und der JetBrains Suite von IDEs (beta) unterstützt. Benutzer mit einer Copilot Enterprise-Subscription können auch GitHub Copilot Chat in GitHub.com verwenden. Weitere Informationen zu GitHub Copilot finden Sie unter "Informationen über GitHub Copilot Individual", "Informationen zu GitHub Copilot Business," und "Infos zu GitHub Copilot Enterprise."

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 Eingabeeingabeaufforderung von Benutzer*innen wird vom Copilot Chat-System vorverarbeitet und an ein großes Sprachmodell gesendet, um eine Antwort basierend auf dem Kontext und der Eingabeaufforderung zu erhalten. Benutzereingaben können in Form von Codeschnipseln oder in einfacher Sprache erfolgen. 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. 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. 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.com 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. 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