Informationen zu GitHub Copilot-CLI
Die GitHub Copilot-CLI bietet eine chatähnliche Schnittstelle im Terminal, mit der Dateien auf deinem Computer autonom erstellt und geändert und Befehle ausgeführt werden können. Du kannst Copilot anweisen, für die Dateien im aktiven Verzeichnis eine Aktion auszuführen.
Die GitHub Copilot-CLI kann maßgeschneiderte Änderungen basierend auf deiner Beschreibung und Konfiguration generieren, einschließlich Aufgaben wie Fehlerbehebungen, Implementieren inkrementeller neuer Features, Prototyperstellung, Dokumentation und Pflege der Codebasis.
Während der Arbeit an deiner Aufgabe hat der Copilot-Agent Zugriff auf deine lokale Terminalumgebung, in der er Änderungen an deinem Code vornehmen, automatisierte Tests ausführen, Linter und Befehle ausführen kann, die in deiner Umgebung verfügbar sind.
Der Agent wurde für eine Vielzahl von Programmiersprachen ausgewertet, wobei Englisch als primär unterstützte Sprache verwendet wird.
Der Agent arbeitet mit einer Kombination aus Verarbeitung natürlicher Sprache und maschinellem Lernen, um deine Aufgabe zu verstehen und Änderungen an einer Codebasis vorzunehmen, um deine Aufgabe abzuschließen. Dieser Prozess kann in eine Reihe von Schritten unterteilt werden.
Eingabeverarbeitung
Der Eingabeprompt des Benutzers wird mit weiteren relevanten Kontextinformationen kombiniert, um einen Prompt zu bilden. Dieser Prompt wird zur Verarbeitung an ein großes Sprachmodell gesendet. Eingaben können in Form von einfacher natürlicher Sprache, Codeausschnitten oder Verweisen auf Dateien in deinem Terminal erfolgen.
Sprachmodellanalyse
Der Prompt wird dann über ein großes Sprachmodell übergeben. Dabei handelt es sich um ein neuronales Netz, das mit einer großen Menge an Daten trainiert wurde. Das Sprachmodell analysiert den Prompt, um den Agent bei Rückschlüssen für die Aufgabe und der Verwendung der erforderlichen Tools zu unterstützen.
Antwortgenerierung
Das Sprachmodell generiert basierend auf seiner Analyse des Prompts eine Antwort. Diese Antwort kann in Form von Vorschlägen in natürlicher Sprache, Codevorschlägen, Dateiänderungen und Befehlsausführungen erfolgen.
Ausgabeformatierung
Die vom Agent generierte Antwort wird formatiert und angezeigt. Die GitHub Copilot-CLI verwendet Syntaxhervorhebung, Einzug und weitere Formatierungsfeatures, um die generierte Antwort übersichtlicher zu gestalten.
Der Agent kann außerdem Befehle in deiner lokalen Umgebung ausführen und Dateien in deinem Dateisystem erstellen, bearbeiten oder löschen, um deine Aufgabe abzuschließen.
Du kannst Feedback an den Agent senden, nachdem er eine Antwort im interaktiven Chatfenster zurückgegeben hat. Der Agent sendet dieses Feedback dann erneut an das Sprachmodell zur weiteren Analyse. Sobald der Agent Änderungen basierend auf dem Feedback abgeschlossen hat, gibt der Agent eine zusätzliche Antwort zurück.
Copilot soll dir die relevanteste Lösung für die Aufgabenbewältigung liefern. Es ist jedoch möglicherweise nicht immer die Antwort, die du suchst. Du bist dafür verantwortlich, die von Copilot generierten Antworten auf Richtigkeit und Angemessenheit zu prüfen. Weitere Informationen findest du weiter unten in diesem Artikel im Abschnitt Verbessern der Ergebnisse aus der GitHub Copilot-CLI.
Anwendungsfälle für GitHub Copilot-CLI
Du kannst in vielen Szenarios eine Aufgabe an Copilot delegieren, einschließlich, aber nicht beschränkt auf:
- Pflege der Codebasis: sicherheitsbezogene Fixes, Abhängigkeitsupgrades und gezieltes Refactoring
- Dokumentation: Aktualisieren und Erstellen neuer Dokumentation
- Featureentwicklung: Implementieren inkrementeller Featureanfragen
- Verbesserung der Testabdeckung: Entwicklung zusätzlicher Testsuites für das Qualitätsmanagement
- Prototyperstellung neuer Projekte: Greenfielding neuer Konzepte
- Einrichten der Umgebung: Ausführen von Befehlen in deinem Terminal, um deine lokale Umgebung für die Arbeit an vorhandenen Projekten einzurichten
- Suchen des richtigen Befehls zum Ausführen einer Aufgabe: Copilot kann Vorschläge für Befehle zum Ausführen von Aufgaben bereitstellen, die du ausführen möchtest.
- Erläutern eines unbekannten Befehls: Copilot kann eine Beschreibung der Funktionalität und des Zwecks eines Befehls in natürlicher Sprache bereitstellen.
Verbessern der Ergebnisse aus der GitHub Copilot-CLI
Die GitHub Copilot-CLI kann eine Vielzahl von Aufgaben unterstützen. Um die Antworten zu verbessern, die du erhältst, und dich einigen Einschränkungen des Agenten zu widmen, kannst du verschiedene Maßnahmen treffen.
Weitere Informationen zu den Einschränkungen findest du weiter unten in diesem Artikel im Abschnitt Einschränkungen der GitHub Copilot-CLI.
Sicherstellen von klar definierten Aufgabenbereichen
Die GitHub Copilot-CLI nutzt deinen Prompt als Schlüsselkontext beim Generieren eines Pull Requests. Je klarer und übersichtlicher der Prompt ist, den du dem Agent zuweist, desto besser sind die Ergebnisse. Ein ideales Issue enthält:
- Eine klare Beschreibung des zu lösenden Problems oder der erforderlichen Arbeit
- Vollständige Akzeptanzkriterien für eine gute Lösung (sollte es z. B. Komponententests geben?)
- Hinweise oder Indikatoren, welche Dateien geändert werden müssen
Anpassen mit zusätzlichem Kontext
Die GitHub Copilot-CLI nutzt deinen Prompt, deine Kommentare und den Code des Repositorys als Kontext beim Generieren vorgeschlagener Änderungen. Um die Leistung von Copilot zu verbessern, solltest du benutzerdefinierte Copilot-Anweisungen implementieren, damit der Agent dein Projekt besser verstehen und die Änderungen erstellen, testen und überprüfen kann. Weitere Informationen findest du unter „Hinzufügen von benutzerdefinierten Anweisungen zu deinem Repository“ unter Bewährte Methoden für die Verwendung von GitHub Copilot für die Arbeit an Aufgaben.
GitHub Copilot-CLI als Tool verwenden, nicht als Ersatz
Die GitHub Copilot-CLI kann zwar ein leistungsfähiges Tool zum Generieren von Code und Dokumentation sein, es ist jedoch wichtig, sie als Hilfsmittel und nicht als Ersatz für die menschliches Programmieren zu verwenden. Du solltest die von der GitHub Copilot-CLI generierten Befehle stets überprüfen und verifizieren, damit sie deine Anforderungen erfüllen und keine Fehler oder Sicherheitsbedenken enthalten.
Methoden für die sichere Programmierung und Code Reviews verwenden
Obwohl die GitHub Copilot-CLI syntaktisch korrekten Code generieren kann, ist sie 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 des Agents zu berücksichtigen. Du solltest immer die gleichen Vorsichtsmaßnahmen treffen wie bei selbstgeschriebenem Code, der Material verwendet, das du nicht unabhängig bezogen hast, einschließlich solcher Vorsichtsmaßnahmen, um dessen Eignung zu gewährleisten. Diese Vorsichtsmaßnahmen umfassen strenge Tests, IP-Überprüfungen und Suchen nach Sicherheitsrisiken.
Feedback geben
Bei Probleme oder Einschränkungen der GitHub Copilot-CLI wird empfohlen, mithilfe des Befehls /feedback
Feedback zu geben.
Sicherheitsmaßnahmen für die GitHub Copilot-CLI
Einschränken der Copilot-Berechtigungen
Standardmäßig hat Copilot lediglich Zugriff auf Dateien und Ordner in und unter dem Verzeichnis, aus dem die GitHub Copilot-CLI aufgerufen wurde. Stelle sicher, dass du den Dateien in diesem Verzeichnis vertraust. Wenn Copilot auf Dateien außerhalb des aktuellen Verzeichnisses zugreifen möchte, wird die Berechtigung angefordert. Erteile die Berechtigung nur, wenn du dem Inhalt dieses Verzeichnisses vertraust.
Copilot fordert die Berechtigung vor dem Ändern von Dateien an. Stelle sicher, dass die richtigen Dateien geändert werden, bevor du die Berechtigung erteilst.
Copilot fordert außerdem die Berechtigung an, bevor potenziell gefährliche Befehle ausgeführt werden. Überprüfe diese Befehle sorgfältig, bevor du die Berechtigung zum Ausführen erteilst.
Weitere Informationen zu Sicherheitsmethoden bei der Verwendung der GitHub Copilot-CLI findest du unter „Überlegungen zur Sicherheit“ in Informationen zur GitHub Copilot-CLI.
Einschränkungen von GitHub Copilot-CLI
Abhängig von Faktoren wie Codebasis und Eingabedaten kann sich bei der Verwendung der GitHub Copilot-CLI die Leistung unterscheiden. Die folgenden Informationen sind dazu ausgelegt, dich dabei zu unterstützen, Systemeinschränkungen und wichtige Konzepte zur Leistung nachzuvollziehen, die für den GitHub Copilot-CLI gelten.
Eingeschränkter Gültigkeitsbereich
Das von der GitHub Copilot-CLI verwendete Sprachmodell wurde mit einer großen Codemenge trainiert, verfügt allerdings dennoch über einen begrenzten Anwendungsbereich und kann bestimmte Codestrukturen oder unbekannte Programmiersprachen nicht 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.
Potenzielle Verzerrungen
Das Sprachmodell, das von den Trainingsdaten und dem Kontext der GitHub Copilot-CLI verwendet wird, die vom großen Sprachmodell erfasst werden, kann Bias und Fehler enthalten, die gegebenenfalls vom Tool übernommen werden. Außerdem kann die GitHub Copilot-CLI auf bestimmte Programmiersprachen oder Programmierstile ausgerichtet sein, was zu suboptimalen oder unvollständigen Vorschlägen führen kann.
Sicherheitsrisiken
Die GitHub Copilot-CLI generiert Code und natürliche Sprache basierend auf dem Kontext eines Issues oder Kommentars innerhalb eines Repositorys, wodurch vertrauliche Informationen offengelegt oder Sicherheitsrisiken entstehen können, wenn sie nicht sorgfältig verwendet wird. Du solltest alle von der GitHub Copilot-CLI generierten Ausgaben vor dem Mergen sorgfältig überprüfen.
Ungenauer Code
Die GitHub Copilot-CLI kann Code generieren, der gültig zu sein scheint, jedoch möglicherweise semantisch oder syntaktisch nicht korrekt ist oder die Absicht der Entwickelnden 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.
Öffentlicher Code
Die GitHub Copilot-CLI generiert möglicherweise Code, der mit öffentlich verfügbarem Code übereinstimmt oder nahezu übereinstimmt, selbst wenn die Richtlinie „Suggestions matching public code“ auf „Block“ festgelegt ist. Weitere Informationen findest du unter Verwalten von GitHub Copilot-Richtlinien als Einzelperson mit einem Abonnent.
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 die geltenden Nutzungsbedingungen und Verhaltensregeln verstößt, und dürfen nicht solchermaßen eingesetzt werden.
Risikomanagement und Verantwortlichkeit von Benutzer*innen bei der Ausführung von Befehlen
Zusätzliche Vorsicht ist geboten, wenn du die GitHub Copilot-CLI anweist oder es ihr erlaubst, einen Befehl auszuführen, insbesondere in Bezug auf die potenzielle Destruktivität einiger vorgeschlagener Befehle. Möglicherweise stoßen Sie auf Befehle für das Löschen von Dateien oder die Formatierung der Festplatte, was bei unsachgemäßem Gebrauch zu Problemen führen kann. Zwar können solche Befehle in bestimmten Szenarien erforderlich sein, doch müssen Sie beim Akzeptieren und Ausführen dieser Befehle vorsichtig sein.
Darüber hinaus bist letztendlich du für die Befehle verantwortlich, die von GitHub Copilot-CLI ausgeführt werden. Es ist ganz allein deine Entscheidung, ob die von GitHub Copilot-CLI generierten Befehle verwendet werden sollen. Trotz vorhandener Ausfallsicherungen und Sicherheitsmechanismen müssen Sie verstehen, dass die Ausführung von Befehlen Risiken mit sich bringt. GitHub Copilot-CLI bietet leistungsstarke Tools. Du solltest die Empfehlungen jedoch mit Vorsicht behandeln und sicherstellen, dass die Befehle deinen Absichten und Anforderungen entsprechen.