Skip to main content

Prompt-Engineering für GitHub Copilot Chat

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

Bei einer Eingabeaufforderung handelt es sich um eine Anforderung, die Sie vornehmen GitHub Copilot. Beispielsweise eine Frage, die Sie stellen Copilot-Chat, oder einen Codeausschnitt, den Sie ausfüllen möchten Copilot . 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.

Folgen Sie den Tipps in diesem Artikel, um Eingabeaufforderungen zu schreiben, aus Copilotdenen bessere Antworten generiert werden.

Allgemein beginnen, dann spezifisch werden

Geben Sie beim Schreiben einer Eingabeaufforderung Copilotzunächst Copilot eine allgemeine Beschreibung des Ziels oder Szenarios an. 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, um zu Copilot verstehen, 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 Copilot Sie Komponententests für die Funktion schreiben. Anschließend können Sie eine Copilot funktion schreiben, die von diesen Komponententests 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.

Statt Copilot z. B. ein Wortsuche-Puzzle zu generieren, brechen Sie den Prozess in kleinere Aufgaben auf, und bitten Sie Copilot , sie nacheinander auszuführen:

  • 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 schlüsselwörter auch verwenden, um den Kontext Copilot-Chatmanuell anzugeben. 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 beim 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. So geben Copilot Sie nur die relevante Geschichte:

  • 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 diese Methode, um Ihrem Code zu helfen, bewährte Methoden zu befolgen. Bitten Sie Copilot beispielsweise, Kommentare hinzuzufügen oder eine große Funktion in kleinere Funktionen zu unterteilen.

Weitere Informationen