Ein Prompt ist eine Anfrage, die Sie an GitHub Copilot stellen. Sie können z. B. eine Frage stellen, eine Aufgabe beschreiben oder einen Codeausschnitt schreiben, damit Copilot ihn vervollständigt. Zusätzlich zu Ihrer Eingabeaufforderung verwendet Copilot Kontext wie den Code in Ihrer aktuellen Datei und den Unterhaltungsverlauf, um eine Antwort zu generieren.
Sie interagieren mit Copilot auf vielen Oberflächen, einschließlich der GitHub Copilot app, GitHub Copilot CLI in Ihrer IDE (Visual Studio Code, Visual Studio, JetBrains IDEs, Eclipse und Xcode) und auf der GitHub Website.
Von der GitHub Copilot app oder der GitHub Website aus können Sie auch einen Copilot cloud agent – einen Agenten, der für Sie an einer Aufgabe arbeitet – starten, statt interaktiv mit Copilot zu arbeiten.
Die Tipps in diesem Artikel gelten auf allen Copilot Oberflächen und helfen Ihnen, Eingabeaufforderungen zu schreiben, die bessere Antworten generieren.
Allgemein beginnen, dann spezifisch werden
Wenn Sie einen Prompt für Copilot schreiben, geben Sie Copilot zunächst eine allgemeine Beschreibung des Ziels oder Szenarios. Listen Sie dann alle spezifischen Anforderungen auf. Setzen Sie Ihre wichtigsten Anforderungen an erste Stelle. Copilot gibt zusätzliche Gewichtung für Anweisungen am Anfang und Ende einer Eingabeaufforderung.
Beispiele:
Write a JavaScript function that tells me if a number is prime The function should take an integer and return true if the integer is prime The function should error if the input is not a positive integer
Write a JavaScript function that tells me if a number is prime The function should take an integer and return true if the integer is prime The function should error if the input is not a positive integer
Write a JavaScript function that tells me if a number is prime
The function should take an integer and return true if the integer is prime
The function should error if the input is not a positive integer
Beispiele geben
Verwenden Sie Beispiele, damit Copilot versteht, was Sie möchten. Sie können Beispieleingabedaten, Beispielausgaben und Beispielimplementierungen bereitstellen.
Beispiele:
Write a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
Example:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Returns: ["11/14/2023", "12-1-23"]
Write a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
Example:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Returns: ["11/14/2023", "12-1-23"]
Write a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
Example:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Returns: ["11/14/2023", "12-1-23"]
Unittests können auch als Beispiele dienen. Bevor Sie Ihre Funktion schreiben, verwenden Sie Copilot, um Unit-Tests für die Funktion zu schreiben. Bitten Sie Copilot dann, eine Funktion zu schreiben, die von diesen Unit-Tests beschrieben wird.
Aufteilen komplexer Aufgaben in einfachere Aufgaben
Wenn Sie einen komplexen oder großen Vorgang ausführen möchten Copilot , unterteilen Sie den Vorgang in mehrere einfache, kleine Vorgänge.
Anstatt Copilot beispielsweise zu bitten, ein Wortsuchrätsel zu erstellen, unterteilen Sie den Prozess in kleinere Aufgaben und bitten Sie Copilot, diese nacheinander zu erledigen:
- Schreiben Sie eine Funktion, um ein 10 x 10 Buchstabenraster zu generieren.
- Schreiben Sie eine Funktion, um alle Wörter in einem Buchstabenraster zu finden, wenn Sie eine Liste von gültigen Wörtern haben.
- Schreibe eine Funktion, die die vorherigen Funktionen verwendet, um ein 10-×-10-Buchstabenraster zu erzeugen, das mindestens zehn Wörter enthält.
- Aktualisieren Sie die vorherige Funktion, um das Buchstabenraster und 10 zufällige Wörter aus dem Raster zu drucken.
Mehrdeutigkeit vermeiden
Vermeiden Sie mehrdeutige Begriffe. Fragen Sie z. B. nicht "Was tut dies", wenn "dies" die aktuelle Datei, die letzte Copilot Antwort oder ein bestimmter Codeblock sein könnte. Seien Sie stattdessen spezifisch:
- Was bewirkt die
createUser-Funktion? - Was bewirkt der Code in Ihrer letzten Antwort?
Mehrdeutigkeit kann auch für Bibliotheken gelten:
- Wenn Sie eine ungewöhnliche Bibliothek verwenden, beschreiben Sie, was die Bibliothek tut.
- Wenn Sie eine bestimmte Bibliothek verwenden möchten, setzen Sie die Importanweisungen an den Anfang der Datei oder geben Sie die zu verwendende Bibliothek an.
Formulieren Sie Regeln und Anforderungen direkt und nicht als Metaanweisungen. Schreiben Sie z. B. „Geben Sie das Ergebnis als JSON zurück“ anstelle von „Denken Sie daran, immer JSON zurückzugeben“.
Relevanten Kontext bereitstellen
Copilot verwendet den dafür verfügbaren Kontext, um Ihre Eingabeaufforderung zu verstehen. Wie Sie diesen Kontext bereitstellen, hängt von der verwendeten Oberfläche ab.
- Codevervollständigung in Ihrer IDE: Öffnen Sie relevante Dateien, und schließen Sie irrelevante Dateien. Copilot verwendet Ihre geöffneten Dateien, um Ihre Anfrage zu verstehen.
- Copilot in Ihrer IDE oder auf der GitHub Website: Markieren Sie den Code, auf den Copilot verweisen soll, und verwenden Sie Schlüsselwörter zum Anfügen von Kontext. Geben Sie beispielsweise
@in Ihr Prompt ein, um Elemente wie Dateien, Probleme, Pull Requests oder Repositorys anzufügen. Einige IDEs unterstützen auch Schrägstrichbefehle (z. B./fixund/tests), Variablen und andere Optionen zur Verbesserung Ihrer Copilot Erfahrung. - GitHub Copilot CLI: Fügen Sie eine Repositorydatei mit
@pathan, oder verweisen Sie mit#numberauf ein GitHub Issue oder einen Pull Request. Fügen Sie für den Repositorykontext, den Sie wiederverwenden möchten, benutzerdefinierte Anweisungen wie eine.github/copilot-instructions.mdDatei, pfadspezifische Anweisungsdateien oder eineAGENTS.mdDatei hinzu. - Copilot cloud agent: Legen Sie den Umfang der Aufgabe fest, indem Sie das Repository und den Basiszweig auswählen und dann das Ziel, die Akzeptanzkriterien und die relevanten Dateien beschreiben. Fügen Sie Screenshots oder Mockups an, wenn visueller Kontext wichtig ist. Starten Sie die Aufgabe aus einer Chatsitzung, wenn vorhandene Diskussionen in die Aufgabe einbezogen werden sollen; andernfalls fügen Sie diesen Hintergrund in den Prompt der Aufgabe ein. Bewahren Sie dauerhafte Anleitungen in Repository-, pfadspezifischen oder Agent-Anweisungsdateien auf.
Experimentieren und iterieren
Wenn Sie nicht das gewünschte Ergebnis erhalten, überarbeiten Sie Ihren Prompt und versuchen Sie es erneut.
Wenn Sie Copilot während der Eingabe von Code Vorschläge erhalten, können Sie den Vorschlag vollständig löschen und von vorn beginnen. Oder Sie können den Vorschlag beibehalten und Änderungen anfordern.
Wenn Sie dies verwenden Copilot Chat, können Sie in Ihrer nächsten Anforderung auf die vorherige Antwort verweisen. Oder Sie können die vorherige Antwort löschen und von vorn beginnen.
Verlauf relevant halten
Konversationsoberflächen (die GitHub Copilot app, GitHub Copilot CLI, Copilot in Ihrer IDE oder auf GitHub, und die Copilot cloud agent) verwenden Ihren Unterhaltungsverlauf als Kontext. Damit Copilot nur den relevanten Verlauf erhält:
- Beginnen Sie eine neue Unterhaltung oder Sitzung, wenn Sie eine neue Aufgabe beginnen.
- Falls die Fahrbahnoberfläche dies unterstützt, entfernen oder setzen Sie Abbiegehinweise zurück, die nicht mehr relevant sind.
GitHub Copilot CLI Beispielsweise können Sie eine neue Sitzung starten, Sitzungen löschen und mit
/undooder/rewindzu einem früheren Prompt zurückspulen. Mit Copilot cloud agent können Sie eine neue Aufgabe starten und eine Sitzung beenden oder archivieren, aber Sie können keine Sitzung löschen oder einzelne Schritte zurückspulen.
Ausgabe von Copilot überprüfen
Überprüfen Sie KI-generierten Code und Antworten auf die gleiche Weise, wie Sie die Arbeit eines Kollegen prüfen würden: bewerten, testen und bestätigen Sie die Korrektheit, bevor Sie sich darauf verlassen. Dies gilt für alle Copilot Oberflächen. Weitere Informationen findest du unter Überprüfen von KI-generierten Code.
Befolgen Sie bewährte Programmiermethoden
Wenn Sie die gewünschten Antworten nicht erhalten, wenn Sie Vorschläge oder Erklärungen in Ihrer Codebasis anfordern Copilot , stellen Sie sicher, dass Ihr vorhandener Code bewährte Methoden befolgt und leicht zu lesen ist. Beispiele:
- Verwenden Sie konsistenten Codestil und -muster.
- Verwenden Sie beschreibende Namen für Variablen und Funktionen.
- Kommentieren Sie Ihren Code.
- Strukturieren Sie Ihren Code in modulare, bereichsbezogene Komponenten.
- Schließen Sie Komponententests ein.
Tipp
Verwenden Sie Copilot, damit Ihr Code bewährten Methoden folgt. Bitten Sie Copilot beispielsweise, Kommentare hinzuzufügen oder eine große Funktion in kleinere Funktionen zu unterteilen.
Weiterführende Lektüre
- GitHub-Copilot-Chat-Spickzettel
- Verwenden von GitHub Copilot: Eingabeaufforderungen, Tipps und Anwendungsfälle im GitHub Blog
- Verwenden von GitHub Copilot in Ihrer IDE: Tipps, Tricks und bewährte Methoden im GitHub Blog
- Ein Leitfaden für Entwickler zu Prompt Engineering und LLMs im GitHub Blog
- GitHub Copilot Chat als Ihren persönlichen KI-Assistenten für Barrierefreiheit einsetzen im GitHub Blog