Skip to main content

Prompt-Engineering für GitHub Copilot Chat

Befolgen Sie diese Strategien, um Ihre Copilot Ergebnisse zu verbessern.

Ein Prompt ist eine Anforderung, die Sie an GitHub Copilot stellen. Beispielsweise eine Frage, die du Copilot Chat stellst, oder ein Codeschnipsel, dessen Vervollständigung du von Copilot anforderst. Zusätzlich zu Ihrer Eingabeaufforderung verwendet Copilot zusätzlichen Kontext wie den Code in Ihrer aktuellen Datei und den Chatverlauf, um eine Antwort zu generieren.

Folgen Sie den Tipps in diesem Artikel, um Prompts zu schreiben, die bessere Antworten aus Copilot generieren.

Allgemein beginnen, dann spezifisch werden

Wenn Sie einen Prompt für Copilot verfassen, erstellen Sie zunächst eine umfassende Beschreibung des Ziels oder Szenarios für Copilot. 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 besser 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 erstellen. Anschließend können Sie Copilot bitten, eine Funktion zu schreiben, die von diesen Unit-Tests beschrieben wird.

Aufteilen komplexer Aufgaben in einfachere Aufgaben

Wenn Sie möchten, dass Copilot eine komplexe oder große Aufgabe ausführt, unterteilen Sie die Aufgabe in mehrere kleine, überschaubare Aufgaben.

Anstatt beispielsweise Copilot zu bitten, ein Wortsuchrätsel zu erstellen, können Sie den Prozess in kleinere Aufgaben aufteilen und Copilot bitten, 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 bewirkt 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 während des Programmierens Vorschläge zu erhalten, öffnen Sie alle relevanten Dateien und schließen Sie nicht relevante Dateien. Copilot verwendet die geöffneten Dateien, um Ihre Anforderung zu verstehen.

Wenn du Copilot Chat in deiner IDE verwendest, öffne die Datei oder markiere den Code, auf den Copilot verweisen soll. Du kannst auch Schlüsselwörter verwenden, um manuell Kontext für Copilot Chat 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 verwenden, um während des Programmierens Vorschläge zu erhalten, können Sie den Vorschlag vollständig löschen und von vorne beginnen. Oder Sie können den Vorschlag beibehalten und Änderungen anfordern.

Wenn du Copilot Chat verwendest, kannst du in deiner 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 deiner Anforderung zu bekommen. So geben Sie Copilot nur den relevanten Verlauf an:

  • 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 nicht die gewünschten Antworten erhalten, wenn Sie Copilot um Vorschläge oder Erklärungen in Ihrer Codebasis bitten, stellen Sie sicher, dass Ihr vorhandener Code den bewährten Methoden entspricht und einfach 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, um Ihrem Code dabei zu helfen, Best Practices zu befolgen. Bitten Sie beispielsweise Copilot, Kommentare hinzuzufügen oder eine große Funktion in kleinere zu unterteilen.

Weitere Informationen

  •         [Verwendung von GitHub Copilot: Eingabeaufforderungen, Tipps und Anwendungsfälle](https://github.blog/2023-06-20-how-to-write-better-prompts-for-github-copilot/?ref_product=copilot&ref_type=engagement&ref_style=text) im GitHub Blog
    
  •         [Using GitHub Copilot in Ihrer IDE: Tipps, Tricks und bewährte Methoden](https://github.blog/2024-03-25-how-to-use-github-copilot-in-your-ide-tips-tricks-and-best-practices/?ref_product=copilot&ref_type=engagement&ref_style=text) im Blog GitHub
    
  • Ein Entwicklerhandbuch für Prompt-Engineering und LLMs im GitHub Blog
  • Aufforderung an GitHub Copilot Chat, Ihr persönlicher KI-Assistent für Barrierefreiheit zu werden im Blog GitHub