Skip to main content

Prompt-Engineering für GitHub Copilot Chat

Folgen Sie diesen Strategien, um Ihre Copilot Ergebnisse zu verbessern.

Ein Prompt ist eine Anfrage, die Sie an GitHub Copilot stellen. Beispielsweise eine Frage, die Sie Copilot-Chat stellen, oder einen Codeausschnitt, den Sie Copilot vervollständigen lassen. Zusätzlich zu Ihrer Eingabeaufforderung Copilot werden zusätzliche Kontexte verwendet, z. B. den Code in Ihrer aktuellen Datei und den Chatverlauf, um eine Antwort zu generieren.

Befolgen Sie die Tipps in diesem Artikel, um Prompts zu schreiben, mit denen Sie bessere Antworten von Copilot erhalten.

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.

Zum Beispiel:

Copilot prompt
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.

Zum Beispiel:

Copilot prompt
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, können Sie Copilot verwenden, um Unit-Tests für die Funktion zu schreiben. Anschließend können Sie Copilot bitten, eine Funktion zu schreiben, die in 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.

Vermeiden von Zweideutigkeiten

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.

Angeben des relevanten Codes

Wenn Sie Copilot in Ihrer IDE verwenden, um Vorschläge während des Codes zu erhalten, öffnen Sie relevante Dateien, und schließen Sie irrelevante Dateien. Copilot verwendet die geöffneten Dateien, um Ihre Anfrage zu verstehen.

Wenn Sie in Ihrer IDE verwenden Copilot-Chat , öffnen Sie die Datei, oder markieren Sie den Code, auf den Sie verweisen möchten Copilot . Sie können auch Schlüsselwörter verwenden, um Copilot-Chat manuell Kontext bereitzustellen. Sie können beispielsweise den @workspace-Chatteilnehmer in VS Code oder @project in JetBrains-IDEs hinzufügen. Siehe GitHub-Copilot-Chat-Spickzettel.

Experimentieren und iterieren

Wenn Sie nicht das gewünschte Ergebnis erhalten, überarbeiten Sie gegebenenfalls 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

Copilot-Chat verwendet den Chatverlauf, um Kontext zu Ihrer Anfrage zu erhalten. Damit Copilot nur den relevanten Verlauf erhält:

  • Verwenden Sie Threads zum Starten einer neuen Unterhaltung für eine neue Aufgabe.
  • Löschen Sie Anfragen, die nicht mehr relevant sind oder die nicht zum gewünschten Ergebnis geführt haben.

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. Zum Beispiel:

  • Verwenden Sie Codestil und Codemuster konsistent
  • Verwenden Sie aussagekräftige Namen für Variablen und Funktionen
  • Kommentieren Sie Ihren Code
  • Strukturieren Sie Ihren Code in modulare, skalierbare Komponenten
  • Fügen Sie Unittests hinzu

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.

Weitere Informationen