Alle 121Watt Bianca Baer Christian Kunz Christoph Röck Eva Schmuhalek Jens Fauldraht Long Liu Markus Hövener Search Engine Journal
12.10.2023 121Watt
5 wichtige Prompt-Patterns im Prompt Engineering
Podacst anhören
Prompt sind eine Art Programmierung und die effektivste Technik, um Abfragen an große Sprachmodelle (Large Language Models) zu stellen. Das Ziel ist ganz simpel – einen relevanten Output zu bekommen. Prompt-Engineering ist wiederum eine Sammlung einzelner Methoden, mit denen man diese LLMs ( wie GPT-3.5 oder GPT-4) befragt. Zu diesen Methoden gehören unter anderem eine Rolle und Kontext zu vergeben, Few-shot-Prompting, oder auch komplexere Prompting-Techniken , wie Chain-of-thought oder ReAct. In einem Paper vom Februar 2023 haben sich eine Reihe von Autoren damit beschäftigt , wie Standard Muster für Abfrage aussehen könnten, sogenannte Prompt-Patterns. In diesem Artikel möchte ich dir einige dieser Prompt-Patterns für ChatGPT & Co. vorstellen
- Definition: Was sind Prompt-Patterns?
- Warum: Warum sind Prompt-Patterns interessant?
- Kategorien: Welche Kategorie von Prompt-Patterns gibt es?
- Pattern 1: Das Persona Pattern
- Pattern 2: Das Audience Persona Pattern
- Pattern 3: Das Recipe Pattern
- Pattern 4: Das Template Pattern
- Pattern 5: Fact Check List
- Ressourcen: Weitere Ressourcen und Links zu Prompt-Patterns
Was ist ein Prompt-Pattern?
Definition: Ein Prompt-Pattern sind bestimmte Instruktionen, die helfen die gewünschten Antworten von LLMs zu bekommen. Dazu gibt es einen Katalog von Prompt-Engineering Techniken, die in Form von Mustern beschrieben werden. Diese Muster können dann auf die verschiedenen Anwendungsfälle transferiert werden. Das Ziel ist es durch Kreativität und testen Modelle, wie GPT optimal zu befragen und die Qualität der Outputs zu optimieren
Warum sind Prompt-Patterns interessant?
Die Idee ist ähnlich, wie in der Software Programmierung, wiederverwertbare Bibliotheken oder Templates zu generieren. Ein Prompt-Pattern bietet damit eine wiederverwendbare Lösung für ein wiederkehrendes Problem in einem bestimmten Kontext. Die Vorteile dieser Prompt-Patterns sind
- Tailoring: Genau wie du eine E-Mail-Kampagne für eine spezielle Zielgruppe erstellst, musst du auch die Prompts genau anpassen, um mit LLMs die für dich besten Ergebnisse zu bekommen.
- Patterns: Die Prompt-Patterns helfen wiederkehrende Probleme mit „Templates“ zu lösen
- Combine: Die besten Ergebnisse erzielst du, wenn du verschiedene Prompt-Patterns kombinierst
Welche Kategorien von Prompt-Patterns gibt es?
Die Autoren des wissenschaftlichen Artikels haben 6 verschiedene Kategorie von Prompt-Patterns festgemacht. Ich möchte mich gleich auf die interessantesten Muster aus diesem Katalog konzentrieren. Aber im Überblick sind das die 6 Kategorien:
- Input-Semantics: Hier geht es darum, wie der LLM Eingaben versteht und verarbeitet. Zum Beispiel das Erstellen einer speziellen Sprache, damit der LLM bestimmte Ideen besser versteht.
- Output-Customization: Diese Kategorie hilft dir, die Art, das Format und die Struktur der Ausgaben des LLMs anzupassen. Hierzu gehören Prompt-Patterns, wie die Automatisierung von Outpus, die Erstellung von Visualisierungen oder die Verwendung von Templates und Strukturen.
- Error-Identification: Hier werden Fehler in den Ausgaben des LLMs identifiziert und korrigiert. Zum Beispiel kann der LLM eine Liste von Fakten erstellen, die überprüft werden sollten.
- Prompt-Improvement: Diese Muster helfen, die Qualität der Eingabe und Ausgabe zu verbessern. Zum Beispiel kann der LLM Vorschläge für bessere Fragen machen oder alternative Ansätze für eine Aufgabe vorschlagen.
- Interaction: Hier geht es um die Interaktion zwischen dir und dem LLM. Der LLM kann beispielsweise Fragen stellen statt Antworten zu geben oder in Form eines Spiels antworten.
- Context-Control: Dies ermöglicht dir, den Kontext der LLM-Outputs zu steuern.
Das Persona Pattern
Das Persona-Pattern wird den meisten bekannt vorkommen, da es einem LLM eine Rolle zuordnet
Prompt-Struktur: „Act as Persona X and perform task Y“
- Beispiel 1: Du bist jetzt Sherlock Holmes. Bitte löse ein Rätsel um ein verschwundenes E-Bike oder
- Beispiel 2: Du bist jetzt Phillip Kotler. Bitte entwerfe eine Preisstrategie für eine Anbieter von hochwertigen Seminare
Warum ist das nützlich? Manchmal weißt du vielleicht nicht genau, welche Details wichtig sind. Aber du weißt, welchen Experten du um Hilfe bitten würdest. Mit dem „Persona-Pattern“ können dich genau diese Experten unterstützen
Wie funktioniert das? Du gibst dem LLM Anweisungen, wie „Handle ab jetzt als Sicherheitsprüfer“ oder „Tu so, als wärst du ein Linux-Terminal“. Das Modell wird dann Antworten generieren, die zu dieser Rolle passen.
Das Audience-Persona Pattern
Das Audience Persona Pattern ist eine Abwandlung des vorherigen Patterns, aber interessant um einer „Zielperson“ ein Thema zu erklären.
Prompt-Struktur: “ Explain X to me. Assume that I am Persona Y „“
- Beispiel 1: Du erklärst mir jetzt das Thema [Warum SEO so wichtig ist]. Nimm an ich bin [ein skeptischer Geschäftsführer:in eines Unternehmens und habe wenig Ahnung von Digital Marketing]
Warum ist das nützlich? Manchmal weißt du vielleicht nicht genau, wie du eine Thema einer Zielgruppe erklären kannst. Aber du weißt, welchen Zielgruppen du ein Thema erklärst und bekommst erste Ideen für die Kommunikation.
Wie funktioniert das? Du gibst ChatGPT & Co. Anweisungen, wie „Erkläre mir das Thema Cookies“, nimm ich bin ein Digital Marketer, der wenig technische Ahnung hat. Das LLM wird versuchen die Erklärungen genau auf die Zielgruppe zuzuschneiden.
Das Recipe-Pattern
Das Recipe-Pattern hilft dir eine Abfolge von Schritten zu bekommen, gerade dann wenn dir nicht jeder Schritt oder „Zutat“ bekannt ist. Du hast vielleicht eine grobe Vorstellung deines finalen Outputs, aber bist dir nicht ganz sicher, was die richtige Reihenfolge ist bzw. du hast einen Schritt vergessen.
Prompt-Struktur: Die grundlegenden Anweisungen sind:
- „Ich möchte X erreichen.“
- „Ich weiß, dass ich die Schritte A, B, C durchführen muss.“
- „Gib mir eine vollständige Abfolge von Schritten.“
- „Füge fehlende Schritte hinzu.“
- „Identifiziere unnötige Schritte.“
Beispiel: Die grundlegenden Anweisungen könnten sein:
- „Ich möchte eine erfolgreiche Digital-Marketing-Kampagne für mein neues Produkt starten.“
- „Ich weiß, dass ich eine Landingpage erstellen, Social Media Beiträge planen und eine Google-Ads-Kampagne starten muss.“
- „Gib mir eine vollständige Abfolge von Digital-Marketing-Aktionen.“
- „Füge fehlende Aktionen hinzu.“
- „Identifiziere unnötige Aktionen.“
Warum ist das nützlich? Gerade bei komplexen Planungsszenarien hilft dir das Recipe-Pattern deine bestehende Ideen mit dem Experten-Wissen von ChatGPT &Co. zu verbinden. Das Ziel ist es nicht nur Ideen zu sammeln, sondern auch in eine richtige reihenfolge zu bringen.
Wie funktioniert das? Du verbindest dein Wissen mit einem „Ablauf-Szenarium“ für deine Zielstellung.
Das Template-Pattern
Das Template-Pattern hilft dir, das das LLM (ChatGPT) einem bestimmten Muster oder einem Template folgt. Das kann ein Blog-Artikel oder ein Direct-Mailing sein. Der gewünschte Output muss vielleicht in einem bestimmten Format erstellt werden, das spezifisch für deinen Anwendungsfall ist. Das LLM kennt vielleicht nicht die Struktur deines gewünschten Outputs und du schreibst die Instruktion, wie einzelne Elemente aussehen sollen.
Prompt-Struktur: Die grundlegenden Anweisungen sind:
- „X ist mein Platzhalter für den Inhalt“
- „Versuche, den Output in einen oder mehrere der von mir aufgelisteten Platzhalter darzustellen“
- „Bitte halte dich an das Format und die gesamte Vorlage, die ich dir bereitstelle“
- „Dies ist die Vorlage: MUSTER mit PLATZHALTERN“
Beispiel: So könnte das dann aussehen:
- Generate a one-day travel itinerary for Berlin.
- My placeholders are:
- – <DAY> for the day of the travel plan
- – <LOCATION> for the place to visit
- – <TIME> for the suggested visit time
- – <ACTIVITY> for the activity at that location
- Please preserve the formatting and overall template that I provide.
- Output as markdown Template: Travel Itinerary: <DAY> – Visit <LOCATION> at <TIME> for <ACTIVITY>.
Warum ist das nützlich? Überall von du einer bestimmten Formatierung folgen musst, kann das Template Pattern extrem hilfreich sein, um eine geünschte Struktur zu bekommen. Ich habe das ganze mal für die Entwicklung eines Konferenzporgamm gestestet, das Elemente wie <Session>, <Dauer> <Speaker> etc. haben kann
Wie funktioniert das? Du definierst bei einem gewünschten Output in einem ersten Schritt die benötigten Elemente und stellst dir im Template-Pattern zusammen
Flipped-Interaction Pattern
Das Flipped-Interaction Pattern hilft dir, das das LLM (ChatGPT) dir so lange Fragen bis stellt, bis es „bereit“ ist dein Ziel zu erreichen. Das kann hilfreich sein, wenn du ein Ziel hast dir aber nicht ganz klar ist, welche Informationen du genau brauchst, um einen „optimalen“ Prompt zu erstellen
Prompt-Struktur: Die grundlegenden Anweisungen sind:
- „I would like you to ask me questions to achieve X
- You should ask questions until this condition is met or to achieve this goal (alternatively, forever) (Optional)
- ask me the questions one at a time, two at a time, etc.
Beispiel: So könnte das dann aussehen:
- From now on, I would like you to ask me questions to deploy a Digital Marketing Measurement Model.
- When you have enough information to deploy the Measurement Modell, create a table with all relevant aspects of the Digital Marketing Measurement Model.
- Please ask me one question at a time
Hier noch ein Tipp: Verwende doch als Grundlage für das Digital Marketing Measurement Model den Beitrag von Avinash Kaushik.
Warum ist das nützlich? Überall wo du Konzepte oder Strategie erstellen möchtest und nicht sicher bist ob du alle Aspekte berücksichtig hast kannst du dieses Pattern hervorragend nutzen
Wie funktioniert das? Du dein Ziel bzw. Zielthema und nimmst ChatGPT, um alle Fragen zu beantworten. Auf Basis dieser Fragen kannst du dann das „Konzept“ finalisieren
Fazit zu den Prompt-Patterns
Prompt-Engineering macht den Unterschied wie zufrieden mit den Outputs von ChatGPT bist. Wenn du Prompt-Patterns , kannst du auf Basis von Mustern und Templates LLMs wie GPT-3.5 oder GPT-4 noch deutlich besser abfragen. Die Prompt-Patterns, sind schon jedes Einzelne für dich unglaublich hilfreich. Meine Favoriten sind hier das Flipped-Interaction Pattern und das Recipe Pattern. Noch interessanter sind die Patterns, wenn du diese miteinander kombinierst oder die Möglichkeiten von ChatGPT mit reinbringst, wie die Plug-Ins oder die Advanced Data Analysis.
Ressourcen zu den Prompt-Patterns und Prompt-Engineering
- Das wissenschaftliche Paper „A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT“
- Hier eine schöne Zusammenfassung auf Github und auf Medium
- Was ist Prompt-Engineering? Ein umfangreicher Guide
- Wie lerne ich Prompt-Engineering?
- Unser Prompt-Engineering Seminar
- Learn Prompting
- Prompt Engineering mit Andrew Ng
Die letzten 10 Podasts von 121Watt
- 06.06.2024 - GPT-4o (omini)
- 14.03.2024 - Parameter wie Temperature und Top-P in LLMs
- 19.02.2024 - CustomGPT-Avian
- 21.11.2023 - Die 9 besten Custom GPTs 2023
- 08.11.2023 - Custom GPTs – Eigene GPTs mit ChatGPT erstellen
- 12.10.2023 - 5 wichtige Prompt-Patterns im Prompt Engineering
- 11.09.2023 - Advanced Data Analysis (Code-Interpreter) ChatGPT – 11 coole Anwendungen
- 21.07.2023 - Custom Instructions von ChatGPT
- 14.07.2023 - Der ChatGPT Code-Interpreter – alles zum Hintergrund und Anwendungen
- 27.06.2023 - VoxScript ChatGPT-Plugin: Features & Beispielprompts