Prompt Engineering: Fortgeschrittene Techniken für präzise KI-Interaktion
Januar 10, 2025 | Techartikel | Autor: Christian Ego
In unserem Techartikel „Prompt Engineering: Effektive Strategien für die Interaktion mit Sprachmodellen“ wurden grundlegende Strategien für das Prompt Engineering vorgestellt, um die Interaktion mit Sprachmodellen effektiver zu gestalten. Dabei sind deutlich und präzise formulierte Prompts der Schlüssel, um am Ende aussagekräftige und relevante Ergebnisse zu erhalten. Je genauer und detaillierter die Anweisungen an die KI, desto besser die Qualität der generierten Texte, Bilder oder Codes.
Dieser Artikel taucht tiefer in die Welt des Prompt Engineerings ein und stellt weitere Techniken vor, die die Interaktion mit Sprachmodellen verbessern. Anhand konkreter Beispiele werden die verschiedenen Ansätze und Strategien veranschaulicht.
1. „Custom Instructions“ nutzen, um ChatGPT zu spezialisieren
2. Sechs Strategien für bessere Ergebnisse mit Prompt Engineering
2.1 Klare Anweisungen schreiben
2.2 Referenztext bereitstellen
2.3 Komplexe Aufgaben in einfachere Teilaufgaben zerlegen
2.4 Dem Modell Zeit zum „Nachdenken“ geben
2.5 Externe Tools verwenden
2.6 Änderungen systematisch testen
3. Fazit
1. „CUSTOM INSTRUCTIONS“ NUTZEN, UM CHATGPT ZU SPEZIALISIEREN
Mithilfe von “Custom Instructions” lässt sich ChatGPT spezialisieren indem dauerhaft hinterlegte System-Prompts konfiguriert werden, die dem Sprachmodell Kontext und Informationen zu den Erwartungen des Nutzers gibt. Ferner ermöglicht es konsistentere und relevantere Antworten, die auf die Bedürfnisse des Nutzers zugeschnitten sind, zu liefern.
Konfiguration:
Die Konfiguration der “Custom Instructions” erfolgt über die Einstellungen von ChatGPT. Nach Aktivierung der Funktion kann der Nutzer im Menü „Custom Instructions“ Informationen zu zwei Bereichen hinterlegen:
1. Informationen über den Nutzer: Hier können beruflicher Hintergrund, Interessen, Ziele und andere relevante Informationen angegeben werden.
2. gewünschte Antwortformat: Hier kann der Nutzer festlegen, wie ChatGPT die Antworten formulieren soll, z. B. formell oder informell, detailliert oder prägnant, sowie das bevorzugte Ausgabeformat (Listen, Tabellen).
Für Letzteres lassen sich auch, die in unserem Blogartikel ”Prompt Engineering: Effektive Strategien für die Interaktion mit Sprachmodellen”, vorgestellten Prompt-Muster wie “Template”, “Persona” und “Reflection” einsetzen.
Abbildung 1: ChatGPT Custom Instructions Konfiguration
Beispiel für Custom Instructions:
- “Was sollte ChatGPT über dich wissen, um besser zu reagieren?”
Ich bin ein Big Data Analyst und arbeite in der Forschung. - “Wie soll ChatGPT reagieren?”
Formatiere Antworten in Tabellen, indem du Vor- und Nachteile für jede Option aufzeigst oder Informationen in Aufzählungspunkten innerhalb der Tabelle unterteilst.
Mit diesen Custom Instructions bekommt man individuellere Antworten, die bei Datenanalysten nützlich sind, z. B. indem sie Tabellen oder Listen mit Vor- und Nachteilen bereitstellt. Dies erleichtert es, datenbasierte Entscheidungen zu treffen.
Vorteile:
- Zeitersparnis durch Vermeidung von Wiederholungen der Anforderungen
- Genauere und konsistentere Antworten
- Effizientere und produktivere Interaktion
- Individuelle Anpassung an die Bedürfnisse des Nutzers
Leitfaden Custom Instructions:
1. Was will ich erreichen? (Webdesign, Content für Social Media usw.)
2. Was sollte ChatGPT über mich wissen/Welche Persona könnte meine Aufgabe lösen? (eigene Charakteristiken, Persona wie Marketing-Experte, Lehrer usw.)
3. Welche Probleme treten immer wieder auf? (komplexe Antworten, schlechte Struktur usw.)
4. Wie sollte ChatGPT antworten? (sachlich, in Tabellenform, usw.)
Durch “Custom Instructions” wird ChatGPT zu einem persönlichen Assistenten, der maßgeschneiderte Unterstützung bietet.
2. SECHS STRATEGIEN FÜR BESSERE ERGEBNISSE MIT PROMPT ENGINEERING
OpenAI bietet in der Doku direkt eine Sammlung an Strategien an, die dabei helfen die Qualität der Prompts zu verbessern.
2.1 KLARE ANWEISUNGEN SCHREIBEN:
Wichtig ist vor allem vage Formulierungen zu vermeiden und stattdessen genau zu definieren, welche Art von Antwort erwartet wird (z.B. eine Liste, eine Zusammenfassung, ein Gedicht) sowie auch die gewünschte Länge der Antwort.
Taktiken:
- Mehrdeutigkeiten und unspezifische Formulierungen vermeiden.
- Konkrete Begriffe und klare Satzstrukturen einsetzen.
- Präzise Handlungsanweisungen führen zu gezielteren Ergebnissen.
Schlecht | Besser |
Wie füge ich Zahlen in Excel hinzu? | Wie addiere ich in Excel eine Reihe von Dollarbeträgen? Ich möchte dies automatisch für ein ganzes Zeilenblatt tun, wobei alle Summen rechts in einer Spalte namens „Gesamt“ landen. |
Wer ist Präsident? | Wer war 2021 Präsident von Mexiko und wie häufig finden Wahlen statt? |
Schreiben Sie Code zur Berechnung der Fibonacci-Folge. | Schreiben Sie eine TypeScript-Funktion, um die Fibonacci-Folge effizient zu berechnen. Kommentieren Sie den Code großzügig, um zu erklären, was die einzelnen Teile bewirken und warum sie so geschrieben sind. |
Fassen Sie die Besprechungsnotizen zusammen. | Fassen Sie die Besprechungsnotizen in einem einzigen Absatz zusammen. Schreiben Sie dann eine Markdown-Liste der Redner und ihrer wichtigsten Punkte. Listen Sie abschließend gegebenenfalls die nächsten Schritte oder Aktionspunkte auf, die von den Rednern vorgeschlagen wurden. |
Ein guter Prompt sollte alle wichtigen Details und den Kontext enthalten. Andernfalls wird es dem Modell überlassen zu erraten, was gemeint sein könnte. Das wiederrum führt zu kreativen, aber nicht unbedingt guten Antworten.
2.2 REFERENZTEXT BEREITSTELLEN
Referenztexte können in Prompts als erweiterte Informationsquelle dienen. Dies kann ein Textauszug, ein Link zu einer Webseite oder eine Zusammenfassung von Fakten sein. Das Verwenden von Referenztexten ist eine fortgeschrittene Technik, um präzisere und faktengestützte Antworten von der KI zu erhalten, indem man sie auffordert, Antworten direkt aus einem bestimmten Artikel oder Text zu beziehen.
Dabei gibt es zwei wesentliche Ansätze, diese Technik umzusetzen:
- Antworten basierend auf einem Referenztext: Der Benutzer kann der KI mehrere Artikel in Anführungszeichen bereitstellen, aus denen die KI ihre Antworten beziehen soll.
- Zitate aus einem Referenztext verwenden: Wenn das KI-Modell Fragen basierend auf einem Dokument beantworten soll, kann sie angewiesen werden, Zitate aus dem Text zur Untermauerung ihrer Antwort zu verwenden. Dabei sollten die zitierten Passagen klar als solche gekennzeichnet werden, zum Beispiel durch Anführungszeichen oder eine besondere Formatierung. Diese Vorgehensweise ist besonders hilfreich, wenn wissenschaftliche oder juristische Antworten benötigt werden, die durch direkte Zitate belegt werden müssen.
In beiden Fällen kann durch spezifische Anweisungen festgelegt werden, dass die KI eine standardisierte Antwort wie „Ich konnte keine Antwort finden“ zurückgibt, wenn die gewünschte Information nicht in den Texten enthalten ist. Dies zwingt die KI, sich ausschließlich auf die bereitgestellten Texte und Quellen zu stützen, anstatt kreative Vermutungen anzustellen.
Taktiken:
- Referenztext mittels Trennzeichen (z.B. „) in den Prompt integrieren als Quelle für die Antwort.
- Auffordern mit Zitaten aus einem Referenztext zu antworten.
- Ein Muster oder Beispieltext als Quelle für die Antwort.
- Vorlagen erleichtern die Vorgabe von Struktur oder Stil.
2.3 KOMPLEXE AUFGABEN IN EINFACHERE TEILAUFGABEN ZERLEGEN
Das Zerlegen komplexer Aufgaben in kleinere, handhabbare Schritte erleichtert nicht nur die Verarbeitung durch Modelle, sondern auch die Problemlösung an sich. Besonders beim Prompt Engineering führt das schrittweise Bearbeiten von Teilaufgaben zu präziseren Ergebnissen, da das Modell Schritt für Schritt durch die Lösung geführt wird. Zwischenergebnisse dienen dabei der Überprüfung und Anpassung des Fortschritts.
Taktiken:
- Schritt-für-Schritt-Anweisungen: Die komplexe Aufgabe wird in eine Reihe von klar definierten, kleineren Schritten unterteilt. Jeder Schritt baut auf dem vorherigen auf.
- Zwischenergebnisse validieren: Nach jedem Schritt wird das Ergebnis geprüft, bevor es weitergeht. Dies stellt sicher, dass Fehler frühzeitig erkannt und korrigiert werden können.
- Aufbauendes Vorgehen: Die Teilaufgaben werden am Ende zu einer vollständigen Lösung zusammengefügt.
Beispiel: Python-Programm zur Bestimmung der größten Primzahl in einer Liste
Die komplexe Aufgabe lautet:
„Schreibe ein Python-Programm, das eine Liste von Zahlen entgegennimmt und die größte Primzahl in dieser Liste zurückgibt.“
Schritt 1: Primzahl-Erkennung
Bevor das Programm die größte Primzahl ermitteln kann, muss es in der Lage sein, festzustellen, ob eine Zahl eine Primzahl ist.
Prompt 1: “Schreibe eine Python-Funktion, die prüft, ob eine gegebene Zahl eine Primzahl ist.”
Abbildung 2: Antwort auf Prompt 1
Schritt 2: Filtern von Primzahlen aus der Liste
Nachdem die Primzahlprüfung implementiert wurde, wird im nächsten Schritt eine Funktion benötigt, die alle Primzahlen aus einer gegebenen Liste von Zahlen extrahiert.
Prompt 2: “Schreibe eine Python-Funktion, die eine Liste von Zahlen entgegennimmt und alle Primzahlen in dieser Liste zurückgibt.”
Abbildung 3: Antwort auf Prompt 2
Schritt 3: Bestimmung der größten Zahl in der Liste
Nun, da wir eine Liste von Primzahlen haben, ist der nächste logische Schritt, die größte Zahl in dieser Liste zu finden.
Prompt 3: “Schreibe eine Python-Funktion, die die größte Zahl in einer gegebenen Liste zurückgibt.”
Abbildung 4: Antwort auf Prompt 3
Schritt 4: Zusammenfügen der Funktionen
Schließlich werden die drei zuvor erstellten Funktionen kombiniert, um das gewünschte Python-Programm zu erstellen, das die größte Primzahl in einer Liste von Zahlen zurückgibt.
Prompt 4: “Kombiniere die Funktionen aus den vorherigen Prompts, um ein Python-Programm zu schreiben, das die größte Primzahl in einer Liste von Zahlen zurückgibt.”
Abbildung 5: Antwort auf Prompt 4
Zusammenfassung
Durch die Zerlegung in kleinere, handhabbare Teilaufgaben wurden vier einzelne Schritte abgearbeitet:
- Primzahlprüfung: Die Funktion prüft, ob eine Zahl eine Primzahl ist.
- Filtern von Primzahlen: Diese Funktion filtert die Primzahlen aus einer Liste.
- Größte Zahl finden: Eine Funktion, die die größte Zahl in einer Liste zurückgibt.
- Gesamtlösung: Schließlich werden die Teilaufgaben kombiniert, um die größte Primzahl in einer Liste zu finden.
Indem die komplexe Aufgabe in diese vier Schritte zerlegt wurde, wurde der Lösungsprozess strukturiert und verständlicher gestaltet. Jede Funktion erfüllt eine klar definierte Aufgabe, und durch die Kombination der einzelnen Bausteine ergibt sich das vollständige Programm. Diese Technik verbessert die Klarheit und reduziert die Fehleranfälligkeit in der Entwicklung.
2.4 DEM MODELL ZEIT ZUM NACHDENKEN GEBEN
Eine weitere Strategie für bessere Ergebnisse ist es das KI-Modell dazu zu bringen, selbstreflektierend zu agieren. Die Idee dahinter ist, dass die KI erst eigenständig eine Lösung erarbeitet, bevor sie die Antwort des Benutzers überprüft oder verbessert. Dadurch kann die Wahrscheinlichkeit von Fehlern reduziert und die Effizienz gesteigert werden.
Dies lässt sich durch folgende Taktiken umsetzen:
DAS MODELL ANWEISEN, SEINE EIGENE LÖSUNG ZU ERARBEITEN, ANSTATT VORSCHNELL ZU ANTWORTEN
Ein naheliegender Ansatz zur Bewertung der Lösung eines Schülers für ein mathematisches Problem wäre, das Modell direkt zu fragen, ob die Antwort korrekt ist. Bessere Ergebnisse lassen sich jedoch erzielen, wenn das Modell angewiesen wird, zunächst den Rechenweg aufzeigen zu lassen, bevor es eine Schlussfolgerung zieht.
System | Erarbeiten Sie zunächst Ihre eigene Lösung für das Problem. Vergleichen Sie dann Ihre Lösung mit der Lösung des Schülers und bewerten Sie, ob die Lösung des Schülers richtig ist oder nicht. Entscheiden Sie nicht, ob die Lösung des Schülers richtig ist, bevor Sie das Problem selbst gelöst haben. |
Benutzer | Problemstellung: Ich baue eine Solarstromanlage und benötige Hilfe bei der Ausarbeitung der Finanzen. – Land kostet 100$/Quadratfuß – Ich kann Solarmodule für 250$/Quadratfuß kaufen – Ich habe einen Wartungsvertrag ausgehandelt, der mich pauschal 100.000$ pro Jahr und zusätzlich 10$/Quadratfuß kostet. Wie hoch sind die Gesamtkosten dafür? Erstes Betriebsjahr als Funktion der Quadratmeterzahl. Schülerlösung: Sei x die Größe der Installation in Quadratfuß. |
Assistent | Sei x die Größe der Installation in Quadratfuß. 1. Landkosten: 100x 2. Solarpanelkosten: 250x 3. Wartungskosten: 100.000 + 10x Gesamtkosten: 100x + 250x + 100.000 + 10x = 360x + 100.000 Die Lösung des Schülers ist falsch. Sie haben bei der Berechnung der Wartungskosten einen Fehler gemacht und 100x statt 10x verwendet. Die korrekten Gesamtkosten für das erste Betriebsjahr betragen 360x + 100.000. |
INNERER MONOLOG BZW. SCHRITTWEISE DURCHFÜHRUNG VON AUFGABEN
Ähnlich zur Taktik “Komplexe Aufgaben in einfachere Teilaufgaben zerlegen” aus der vorherigen Strategie gibt man dem Modell Zeit zum Nachdenken und Selbstreflektieren. Indem Aufgaben in kleinere, überschaubare Schritte unterteilt werden, kann die KI jeden Teilschritt gründlicher und präziser bearbeiten. Anstatt komplexe Problemstellungen in einem einzigen Durchlauf zu lösen, kann das Modell so schrittweise vorgehen. Dadurch wird eine gründlichere Analyse und Ausarbeitung der Lösung ermöglicht, da die Wahrscheinlichkeit sinkt, dass wichtige Details übersehen werden.
System |
Befolgen Sie diese Schritte, um die Benutzeranfragen zu beantworten. Schritt 1 – Erarbeiten Sie zunächst Ihre eigene Lösung für das Problem. Verlassen Sie sich nicht auf die Lösung des Schülers, da diese möglicherweise falsch ist. Setzen Sie Ihre gesamte Arbeit für diesen Schritt in dreifache Anführungszeichen („““). Schritt 2 – Vergleichen Sie Ihre Lösung mit der Lösung des Schülers und bewerten Sie, ob die Lösung des Schülers richtig ist oder nicht. Setzen Sie Ihre gesamte Arbeit für diesen Schritt in dreifache Anführungszeichen („“).“). Schritt 3 – Wenn der Schüler einen Fehler gemacht hat, überlegen Sie, welchen Hinweis Sie ihm geben könnten, ohne die Antwort preiszugeben. Setzen Sie Ihre gesamte Arbeit für diesen Schritt in dreifache Anführungszeichen („““). Schritt 4 – Wenn der Schüler einen Fehler gemacht hat, geben Sie ihm den Hinweis aus dem vorherigen Schritt (außer in dreifache Anführungszeichen). Anstatt „Schritt 4 -“ zu schreiben…“ schreibe „Hinweis:“. |
Benutzer | Problemstellung: <Problemstellung einfügen> Schülerlösung: <Studentenlösung einfügen> |
Alternativ kann dies durch eine Folge von Abfragen erreicht werden, bei denen die Ausgabe aller Abfragen außer der letzten für den Endbenutzer verborgen bleibt.
Zunächst wird das Modell aufgefordert, das Problem selbst zu lösen. Da diese erste Abfrage nicht die Lösung des Schülers erfordert, kann sie weggelassen werden. Dies bietet den zusätzlichen Vorteil, dass keine Gefahr besteht, dass die Lösung des Modells durch den Lösungsversuch des Schülers verzerrt wird.
Benutzer | <Problemstellung einfügen> |
Als Nächstes können wir das Modell alle verfügbaren Informationen verwenden lassen, um die Richtigkeit der Lösung des Schülers zu beurteilen.
System | Vergleichen Sie Ihre Lösung mit der Lösung des Schülers und bewerten Sie, ob die Lösung des Schülers richtig ist oder nicht. |
Benutzer | Problemstellung: „““<Problemstellung einfügen>“““ Ihre Lösung: „““<Modellgenerierte Lösung einfügen>“““ Schülerlösung: „““<Studentenlösung einfügen>“““ |
Schließlich können wir das Modell seine eigene Analyse verwenden lassen, um eine Antwort in der Rolle eines hilfsbereiten Tutors zu konstruieren.
System | Du bist Mathe-Nachhilfelehrer. Wenn der Schüler einen Fehler gemacht hat, geben Sie ihm einen Hinweis, der die Antwort nicht preisgibt. Wenn der Schüler keinen Fehler gemacht hat, geben Sie ihm einfach einen ermutigenden Kommentar. |
Benutzer | Problemstellung: „““<Problemstellung einfügen>“““ Ihre Lösung: „““<Modellgenerierte Lösung einfügen>“““ Schülerlösung: „““<Studentenlösung einfügen>“““ Analyse: „““<einfügen Modellgenerierte Analyse aus vorherigem Schritt>“““ |
RÜCKFRAGEN STELLEN LASSEN
Eine weitere effektive Methode besteht darin, das Modell dazu zu bringen, Rückfragen zu stellen, bevor es eine endgültige Antwort liefert. Besonders in Fällen, in denen nicht alle relevanten Informationen sofort verfügbar sind oder man sich nicht sicher ist, was genau an Informationen relevant ist, kann diese Technik helfen, präzisere und individuellere Antworten zu erhalten.
Abbildung 6: Beispiel Antwort für einen Prompt der eine Schritt-für-Schritt Anleitung anfordert
ZUSAMMENFASSUNG ODER FILTERUNG BEI LANGEN DIALOGEN
In sehr langen Interaktionen mit der KI kann es hilfreich sein, zwischendurch eine Zusammenfassung des bisherigen Dialogs zu erstellen oder irrelevante Informationen herauszufiltern.
Nicht nur bleibt dadurch die Übersichtlichkeit erhalten, sondern man stellt dabei auch sicher, dass die KI den Kontext der Konversation behält, ohne unnötige Details zu wiederholen.
Dies ist auch deshalb relevant, weil bei Überschreitung des Token Limits die KI-Teile der Anfangskonversation “vergisst”.
Stückweise Analyse langer Dokumente
Bei der Analyse langer Texte ist es ratsam, das Dokument in kleinere Abschnitte zu unterteilen. Die KI kann diese Abschnitte schrittweise verarbeiten und daraus rekursiv eine vollständige Zusammenfassung erstellen. Auf diese Weise wird sichergestellt, dass keine wichtigen Inhalte übersehen werden und am Ende eine konsistente und umfassende Zusammenfassung des gesamten Dokuments entsteht.
Kritische Prüfung von Antworten
Eine besonders nützliche Taktik ist es, das Modell aktiv aufzufordern, seine Antworten kritisch zu hinterfragen. Durch einfache Fragen wie „Ist noch etwas zu ergänzen?“ oder „Hast du etwas übersehen?“ kannst du das Modell dazu bringen, selbstständig seine Antwort zu prüfen und gegebenenfalls weiter auszubauen. Dies sorgt nicht nur für fundiertere Ergebnisse, sondern fördert auch eine Art „Selbstreflexion“ des Modells.
2.5 EXTERNE TOOLS VERWENDEN
Die Einbindung externer Tools erweitert die Möglichkeiten von Sprachmodellen erheblich. Anstatt sich nur auf interne Berechnungen und Wissensbestände zu verlassen, können LLMs durch die Verwendung von externen Tools komplexere Aufgaben lösen und präzisere Ergebnisse liefern.
Taktiken:
- Daten oder Fakten aus externen Quellen liefern dem Modell zusätzliche Informationen.
- Tabellen, APIs oder andere Werkzeuge unterstützen präzisere Antworten.
- Verweise auf wissenschaftliche Datenbanken oder spezifische Quellen erweitern den Kontext.
- Codeausführungen verwenden, um genauere Berechnungen durchzuführen.
Zum Beispiel durch Codeausführung. Sprachmodelle können angewiesen werden, Code zu schreiben und auszuführen, um beispielsweise mathematische Berechnungen durchzuführen oder externe APIs aufzurufen. Die Chat Completions-API ermöglicht es, Funktionsbeschreibungen in Anfragen zu übergeben, sodass Modelle Funktionsargumente generieren können, die dann zur Ausführung von Funktionsaufrufen verwendet werden.
Beispiel: Um die Nullstellen eines Polynoms zu finden, kann das Modell angewiesen werden, Python-Code zu generieren und auszuführen, anstatt die Berechnung selbst durchzuführen.
Eine weitere Möglichkeit ist der Zugriff auf externe APIs. Durch die Bereitstellung von API-Dokumentation und Codebeispielen kann das Modell lernen, wie man APIs verwendet, um auf externe Datenquellen zuzugreifen oder Aktionen auszuführen.
Beispiel: Das Modell könnte lernen, eine API zu verwenden, um Nachrichten an Freunde zu senden, indem es den entsprechenden Code generiert und ausführt.
Darüber hinaus können Embeddings-basierte Suchen verwendet werden, um den Zugriff auf externe Informationsquellen zu ermöglichen und die Antworten des Modells zu verbessern. Ein Embedding ist eine vektorielle Darstellung von Text, die die semantische Ähnlichkeit zwischen Texten erfassen kann. Durch die Einbettung von Texten und die Verwendung von Vektorsuche-Algorithmen können relevante Informationen aus einem großen Textkorpus effizient abgerufen und dem Modell als Input bereitgestellt werden.
Beispiel: Wenn ein Benutzer eine Frage zu einem bestimmten Film stellt, können Embeddings verwendet werden, um relevante Informationen über den Film (z. B. Schauspieler, Regisseur, etc.) aus einer Datenbank abzurufen und dem Modell zur Verfügung zu stellen.
Wichtig: Die Ausführung von Modell-generiertem Code birgt Sicherheitsrisiken. Es sollten daher geeignete Vorsichtsmaßnahmen getroffen werden, wie z. B. die Verwendung einer Sandbox-Umgebung, um den Schaden durch nicht vertrauenswürdigen Code zu begrenzen.
2.6 ÄNDERUNGEN SYSTEMATISCH TESTEN
Durch systematische Tests und Iterationen von Prompts lässt sich die Performance optimieren und die gewünschten Ergebnisse evaluiert sowie konsistenter erreicht werden.
Taktiken:
- Verschiedene Prompt-Varianten systematisch testen und vergleichen.
- Analyse der Ergebnisse ermöglicht die Identifikation von Optimierungsmöglichkeiten.
- Schrittweise Optimierungen führen zu kontinuierlichen Verbesserungen.
Evaluierung:
Es ist wichtig, geeignete Evaluationsverfahren zu verwenden, um die Leistung von Prompts zu messen.
Gute Evaluationen sollten repräsentativ für reale Anwendungsfälle sein, viele Testfälle enthalten und einfach zu automatisieren oder zu wiederholen sein.
Modell-basierte Evaluation:
Modell-basierte Evaluationen können verwendet werden, wenn es eine Reihe von möglichen Ausgaben gibt, die als gleichwertig angesehen werden.
Dabei wird ein Modell verwendet, um die Qualität der Ausgaben zu bewerten.
Evaluation mit Gold-Standard-Antworten:
Wenn die korrekte Antwort auf eine Frage bekannt ist, kann die Ausgabe des Modells mit dieser Gold-Standard-Antwort verglichen werden.
Beispielsweise kann ein Modell verwendet werden, um zu zählen, wie viele der erforderlichen Fakten in der Antwort enthalten sind (siehe zweiter Screenshot).
Experimentieren:
Es wird empfohlen, mit verschiedenen Ansätzen zu experimentieren, um herauszufinden, wie Modell-basierte Evaluationen am besten funktionieren.
Durch systematisches Testen und Evaluieren von Änderungen können Prompts optimiert und die Leistung von Sprachmodellen verbessert werden.
3. FAZIT
Mit diesem Artikel haben wir einen Einblick in fortgeschrittenere Prompt Engineering Techniken zur Optimierung der Interaktion mit Sprachmodellen gegeben. Es wurden verschiedene Strategien vorgestellt, um die Qualität der Ergebnisse zu verbessern, von der präzisen Formulierung von Anweisungen über die Zerlegung komplexer Aufgaben bis hin zur Einbindung externer Tools.
Systematisches Testen und Evaluieren von Änderungen ist ein wichtiger Bestandteil des Prompt Engineerings. Durch Experimentieren mit verschiedenen Ansätzen lassen sich die besten Techniken für die jeweiligen Anwendungsfälle finden.
Weitere Informationen und detaillierte Anleitungen bietet die offizielle Dokumentation von OpenAI: https://platform.openai.com/docs/guides/prompt-engineering
Mit etwas Übung und Kreativität kann die volle Leistungsfähigkeit von Sprachmodellen entfesselt und beeindruckende Ergebnisse erzielt werden.