Informationen zu GitHub Copilot Inline-Vorschlägen
Copilot Vorschläge im Inline-Stil werden automatisch von GitHub Copilot erzeugt. Copilot Inline-Vorschläge schaffen das Erlebnis, mit einem KI-gestützten Paarprogrammierer zusammenzuarbeiten, der automatisch Vorschläge zur Vervollständigung Ihres Codes anbietet. Darüber hinaus kann er Ihnen Codekommentare, Tests und vieles mehr empfehlen. Er bietet diese Empfehlungen in unterstützten Editoren direkt beim Programmieren und kann mit einer breiten Palette von Programmiersprachen und Frameworks arbeiten. Weitere Informationen finden Sie unter Was ist GitHub Copilot?.
Die Empfehlungen von Copilot sind möglicherweise die Vervollständigung der aktuellen Zeile, manchmal jedoch ein völlig neuer Codeblock. Sie können einen Vorschlag ganz oder teilweise annehmen, ihn ablehnen oder weiter tippen und die Vorschläge ignorieren.
Copilot Inline-Empfehlungen funktionieren, indem sie eine Kombination aus natürlicher Sprachverarbeitung und maschinellem Lernen verwenden, um den umgebenden Code (relativ zur Cursorposition) zu verstehen und Ihnen Vorschläge bereitzustellen. Dieser Prozess kann in eine Reihe von Schritten unterteilt werden.
Eingabeverarbeitung
Der umgebende Code vom Cursor des Benutzers wird vom Copilot Inlinevorschlagssystem vorverarbeitet, kombiniert mit Kontextinformationen (z. B. Codeausschnitte aus geöffneten Registerkarten im Editor) und in Form einer Eingabeaufforderung an ein großes Sprachmodell gesendet. Informationen zur Datenaufbewahrung findest du im GitHub Copilot Trust Center.
Das große Sprachmodell erstellt dann basierend auf dem Prompt eine Antwort. Das System soll lediglich beim Programmieren helfen.
Sprachmodellanalyse
Das große Sprachmodell, das die Eingabeaufforderung verarbeitet, ist ein fein abgestimmtes Sprachmodell für Inlinevorschläge, bei dem es sich um ein neurales Netzwerk handelt, das auf einen großen Textkörper von Codedaten trainiert wurde, der speziell für die Bereitstellung von Inlinevorschlägen spezialisiert ist.
Sie können das Modell ändern, das für Inlinevorschläge verwendet wird. Weitere Informationen findest du unter Ändern des KI-Modells für GitHub Copilot-Inline-Vorschläge.
Antwortgenerierung
Das Sprachmodell generiert eine Antwort auf der Grundlage seiner Analyse der Eingabeaufforderung und des zur Verfügung gestellten Kontexts. Diese Antwort hat die Form von generiertem Code und Nur-Text-Kommentaren, von der Vervollständigung der aktuellen Zeile bis zu einem ganz neuen Codeblock.
Ausgabeformatierung
Die von Copilot generierte Antwort wird als "Geistertext" formatiert, der sich visuell vom umgebenden Code unterscheidet und dem Benutzer als Vorschlag präsentiert wird. Sie wird nur der Datei/Codebasis hinzugefügt, wenn die benutzende Person die Empfehlung explizit akzeptiert. Der Benutzer kann einen Vorschlag ganz oder teilweise annehmen, ihn ablehnen oder weiter tippen und die Vorschläge ignorieren; in diesem Fall wird der Vorschlag verworfen.
GitHub Copilot Inlinevorschläge sollen Ihnen die relevantesten und nützlichsten Codevorschläge bereitstellen, um Ihren bestehenden Code zu optimieren. Sie kann jedoch nicht immer die Antworten geben, nach denen Sie suchen. Benutzer von Copilot sind dafür verantwortlich, vom System generierte Antworten zu überprüfen, damit diese korrekt und angemessen sind. Darüber hinaus führen wir im Rahmen unseres Produktentwicklungsprozesses Red-Teaming durch, um die Sicherheit der Inlinevorschläge von Copilot zu verstehen und zu verbessern. Die generierten Vorschläge werden auch durch Inhaltsfilter überprüft. Das Inhaltsfiltersystem erkennt schädliche oder anstößige Inhalte oder unsicheren Code von Copilot und verhindert, dass diese ausgegeben werden. Je nach GitHub-Einstellungen des Benutzers blockiert oder kommentiert der Filter außerdem Vorschläge, die Übereinstimmungen mit öffentlichem Code enthalten.
Anwendungsfälle für GitHub Copilot Inline-Vorschläge
GitHub Copilot Inline-Vorschläge können Programmierhilfen in einer Vielzahl von Szenarien bereitstellen.
Generieren von Code basierend auf Ihren Anweisungen
Zusätzlich zur Verwendung von Copilot können Sie Codekommentare verwenden, um Copilot darüber zu informieren, welcher Code dem Kommentar entsprechen soll. Beispielsweise könnten Sie Kommentare wie „Rekursion verwenden“ oder „Singleton-Muster verwenden“ verwenden, um den Algorithmustyp anzugeben, den Copilot vorschlagen soll. Sie können außerdem Kommentare verwenden, um Copilot mitzuteilen, welche Methoden und Eigenschaften einer Klasse hinzugefügt werden sollen.
Generieren von Komponententestfällen
Sie können Copilot Inlinevorschläge können Sie beim Schreiben von Komponententestfällen unterstützen, indem Codeausschnitte basierend auf dem im Editor eingegebenen umgebenden Code generiert werden. Dies kann Ihnen helfen, weniger Zeit mit sich wiederholenden Aufgaben wie dem Schreiben von Testfällen zu verbringen. Wenn Sie beispielsweise einen Testfall für eine bestimmte Funktion schreiben, können Sie Copilot verwenden, um mögliche Eingabeparameter und erwartete Ausgabewerte basierend auf der Signatur und dem Rumpf der Funktion vorzuschlagen. Inlinevorschläge können auch Assertionen vorschlagen, die sicherstellen, dass die Funktion ordnungsgemäß funktioniert, basierend auf dem Kontext und der Semantik des Codes.
Copilot Inline-Vorschläge können auch dabei helfen, Testfälle für Grenzfälle und Randbedingungen zu generieren, die manuell möglicherweise schwer zu identifizieren wären. Beispielsweise kann Copilot Testfälle für die Fehlerbehandlung, NULL-Werte oder unerwartete Eingabetypen empfehlen, damit Ihr 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.
Dies kann ein nützliches Tool für Programmierer*innen sein, da es Anleitung und Unterstützung bei allgemeinen Programmieraufgaben und Herausforderungen bieten kann.
Verbesserung der Leistung für GitHub Copilot Inline-Vorschläge
Copilot Inline-Vorschläge können in verschiedenen Kontexten mit unterschiedlichen Leistungs- und Qualitätsmetriken Codevorschläge generieren. Um die Leistung zu verbessern und einige der Einschränkungen von Copilot Inline-Vorschlägen zu beheben, gibt es verschiedene Maßnahmen, die Sie umsetzen können. Weitere Informationen zu den Einschränkungen von Copilot-Inlinevorschlägen finden Sie unter Einschränkungen von GitHub Copilot-Inlinevorschlägen.
Beim Thema bleiben
Copilot ist ausschließlich für die Erstellung von Vervollständigungen vorgesehen, die sich auf Code beziehen oder Code sind. Daher kann das Einschränken des Inhaltskontexts im Editor auf Code oder Informationen in Bezug auf Code die Ausgabequalität des Modells verbessern.
Verwenden Sie Copilot Inline-Vorschläge als Tool, nicht als Ersatz
Copilot kann zwar ein leistungsfähiges Tool zum Generieren von Code sein, es ist jedoch wichtig, es als Hilfsmittel und nicht als Ersatz für die Programmierung durch Personen zu verwenden. Sie sollten den von Copilot generierten Code immer überprüfen, bevor Sie einen Vorschlag annehmen, und ihn anschließend nochmals validieren, um sicherzustellen, dass er Ihren Anforderungen entspricht und frei von Fehlern oder Sicherheitsbedenken ist.
Wichtig
Die Benutzer übernehmen alle Risiken, die mit dem generierten Code verbunden sind, einschließlich Sicherheitslücken, Fehlern und Verletzungen von Rechten des geistigen Eigentums.
Methoden für die sichere Programmierung und Code Reviews verwenden
Während Copilot Inline-Vorschläge syntaktisch korrekten Code erzeugen können, ist dieser nicht immer sicher. Sie sollten immer bewährte Methoden für die sichere Codierung befolgen, z. B. das Vermeiden hartcodierter Kennwörter oder SQL-Einfügungsrisiken sowie die folgenden bewährten Methoden für die Codeüberprüfung, um Copilot's Einschränkungen zu beheben.
Auf dem Laufenden bleiben
Copilot Inline-Vorschläge sind immer noch eine ziemlich neue Technologie und werden 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 Erweiterungsupdates sind in Visual Studio Code, Visual Studio und der JetBrains-Suite von IDEs standardmäßig aktiviert. Wenn Sie automatische Updates aktiviert haben, wird Copilot beim Öffnen Ihrer IDE automatisch auf die neueste Version aktualisiert. Weitere Informationen zu automatischen Updates in Ihrer IDE finden Sie in der Dokumentation für Ihre bevorzugte IDE oder Ihren bevorzugten Code-Editor.
Einschränkungen von GitHub Copilot Inline-Vorschlägen
Abhängig von Faktoren wie Ihrer Codebasis und Ihren Eingabedaten könnten Sie bei der Interaktion mit Copilot Inlinevorschlägen unterschiedliche Leistungsniveaus erleben. Die folgenden Informationen sollen Ihnen helfen, Systembeschränkungen und wichtige Konzepte zur Leistung zu verstehen, wie sie für Copilot Inline-Vorschläge gelten.
Eingeschränkter Gültigkeitsbereich
Copilot Inline-Vorschläge werden anhand eines großen Codekorpus trainiert, haben aber dennoch einen begrenzten Anwendungsbereich und sind möglicherweise nicht in der Lage, komplexere Codestrukturen oder obskure 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 schwieriger sein, Unterstützung bereitzustellen. Darüber hinaus können Copilot Inline-Vorschläge nur Code basierend auf dem Kontext des geschriebenen Codes vorschlagen, sodass es möglicherweise nicht in der Lage ist, größere Entwurfs- oder Architekturprobleme zu identifizieren.
Schließlich sollen Copilot Inlinevorschläge Code und codebezogene Ausgabe generieren. Die Verwendung von Copilot Inline-Vorschlägen ist nicht für die Erstellung natürlicher Sprachoutputs vorgesehen.
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 können die Inline-Vorschläge Copilot auf bestimmte Programmiersprachen oder Codierungsstile ausgerichtet sein, was zu suboptimalen oder unvollständigen Codevorschlägen führen kann.
Sicherheitsrisiken
Copilot generiert Code basierend auf dem Kontext des geschriebenen Codes. Das kann bei einer nicht sorgfältigen Verwendung die Offenlegung vertraulicher Informationen zur Folge haben oder ein Sicherheitsrisiko darstellen. Bei der Verwendung von Copilot zur Generierung von Code für sicherheitskritische Anwendungen ist Vorsicht geboten. Der generierte Code sollte stets gründlich überprüft und getestet werden.
Übereinstimmung mit öffentlichem Code
Copilot Inlinevorschläge können neuen Code generieren, wobei dies auf probabilistischem Wege geschieht. Copilot kann mit geringer Wahrscheinlichkeit Codeempfehlungen generieren, die dem Code im Trainingssatz entsprechen.
Ungenauer Code
Eine der Einschränkungen von Copilot besteht darin, dass Code generiert werden kann, der gültig zu sein scheint, in Wirklichkeit jedoch semantisch oder syntaktisch nicht korrekt ist oder die Absicht der entwickelnden Person 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.
Rechtliche und regulatorische Überlegungen
Benutzer müssen potenzielle rechtliche und behördliche Verpflichtungen berücksichtigen, wenn du KI-Dienste und -Lösungen verwendest. Diese sind möglicherweise nicht für die Verwendung in jeder Branche oder in jedem Szenario geeignet. Darüber hinaus sind KI-Dienste oder -Lösungen nicht dafür konzipiert, auf eine Weise verwendet zu werden, die gegen geltende Vertragsbedingungen und relevante Verhaltensregeln verstößt, und sie dürfen nicht auf eine solche Weise verwendet werden.
Nächste Schritte
Ausführliche Informationen zur Verwendung von Copilot Inline-Vorschlägen finden Sie unter:
-
[AUTOTITLE](/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot)
Weiterführende Themen
-
[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot) -
[GitHub Copilot Vertrauenscenter](https://copilot.github.trust.page/)