Hier sind einige wichtige fortgeschrittene Prompt-Engineering-Techniken für Codierungsaufgaben mit großen Sprachmodellen:
1. Verstehen der Interpretation codierungsbezogener Abfragen durch das Modell: Dazu gehört ein tiefes Verständnis der Programmierkonzepte und die Fähigkeit, diese so zu artikulieren, dass das Modell sie effektiv verarbeiten kann. Das Ziel besteht darin, Eingabeaufforderungen zu erstellen, die mit den internen Darstellungen und Aufmerksamkeitsmechanismen des Modells übereinstimmen.[1]
2. Eingabeaufforderungsverkettung und Multi-Turn-Eingabeaufforderung: Aufteilen einer komplexen Codierungsaufgabe in eine Folge von Eingabeaufforderungen, wobei die Ausgabe einer Eingabeaufforderung als Eingabe für die nächste verwendet wird. Dadurch kann das Modell die Aufgabe Schritt für Schritt angehen.[2][3]
3. Chain-of-Thought (CoT)-Eingabeaufforderung: Bereitstellung von Beispielen für schrittweises Denken zur Lösung eines Problems für das Modell und Anleitung zur Generierung seiner eigenen Argumentationskette.[4][5] Es hat sich gezeigt, dass dies die Leistung bei komplexen Denkaufgaben deutlich verbessert.
4. Selbstkonsistenz-Eingabeaufforderung: Eine Erweiterung von CoT, bei der mehrere Argumentationspfade abgetastet und die selbstkonsistenteste Antwort ausgewählt wird. Dies ist nützlich für offene Probleme mit mehreren gültigen Lösungen.[4]
5. Automatic Prompt Engineering (APE): Eine Technik, die die Eingabeaufforderung selbst als das zu optimierende „Programm“ behandelt und Sprachmodelle verwendet, um Kandidateneingabeaufforderungen zu generieren und zu durchsuchen, um die effektivste für eine bestimmte Aufgabe zu finden. [5]
6. Bereitstellung relevanten Kontexts und Beispielen: Das Einbeziehen domänenspezifischer Informationen, Codierungsstilrichtlinien und Eingabe-Ausgabe-Beispiele in die Eingabeaufforderung kann dazu beitragen, das Modell in Richtung einer genaueren und relevanteren Codegenerierung zu steuern.[1][3]
Der Schlüssel liegt darin, iterativ mit dem Design, Testen und Verfeinern von Eingabeaufforderungen zu experimentieren, um die effektivsten Eingabeaufforderungen für Ihre spezifischen Codierungsaufgaben und Ihr Sprachmodell zu finden. Durch sorgfältiges Prompt Engineering können die Fähigkeiten großer Sprachmodelle zur Codierungsunterstützung erheblich verbessert werden.
[1] Prompt Engineering für Codierungsaufgaben – Auf dem Weg zur Datenwissenschaft[2] Fortgeschrittene Prompt-Engineering-Techniken – Mercity AI[3] Prompt Engineering im Jahr 2024: Techniken, Anwendungen und Fortgeschrittene... – Acorn[4] Advanced Prompt Engineering: Was beinhaltet es? - DataScientest.com[5] prompts-advanced-usage.md – GitHub
Zitate:[1] https://towardsdatascience.com/prompt-engineering-llms-coding-chatgpt-artificial-intelligence-c16620503e4e?gi=54ae68d69ee0
[2] https://www.mercity.ai/blog-post/advanced-prompt-engineering-techniques
[3] https://www.acorn.io/resources/learning-center/prompt-engineering
[4] https://datascientest.com/en/advanced-prompt-engineering-what-does-it-involve
[5] https://github.com/dair-ai/Prompt-Engineering-Guide/blob/main/guides/prompts-advanced-usage.md