Mit Meta Prompting zum Erfolg
Im Umgang mit Large Language Models (LLMs) wie ChatGPT, Copilot oder Gemini beklagen Unternehmen in der Praxis häufig, dass die generierten Ergebnisse ihren Anforderungen nicht entsprechen: Die Formulierungen seien zu vage oder die Texte entsprächen nicht den Erwartungen. In diesem Blogbeitrag werden unter dem Begriff „Meta Prompting“ Techniken vorgestellt, mit denen Sie eigenständig lernen können, Ihre Eingabeaufforderungen (Prompts) zu verbessern.
Meta Prompting ist eine Technik, die es ermöglicht, Prompts zu erstellen, die wiederum andere Prompts generieren oder optimieren. Wir werden uns mit drei Hauptaspekten des Meta Prompting beschäftigen: Prompting for Prompts, Reverse Prompt Engineering und Explanatory Prompting. Sie lernen, wie Sie die richtigen Prompts formulieren, um spezifische Ergebnisse zu erzielen, wie Sie bestehende Texte, mit Prompts rekreieren, und wie Sie die Mechanismen hinter den Antworten der LLMs verstehen und dokumentieren können. Am Ende dieses Beitrags werden Sie in der Lage sein, das Gelernte praktisch anzuwenden und Ihre Fähigkeiten im Umgang mit LLMs zu verbessern.
1. Prompting for Prompts
Prompting for Prompts ist ein fortgeschrittener Ansatz im Bereich des Prompt Engineerings, der darauf abzielt, die Erstellung von Eingabeaufforderungen für KI-Modelle zu optimieren. Während das grundlegende Prompting sich darauf konzentriert, wie man eine KI direkt anweist, geht Prompting for Prompts einen Schritt weiter und beschäftigt sich damit, wie man die besten Prompts entwickelt, um die gewünschten Ergebnisse zu erzielen.
Was ist Prompting for Prompts?
Beim Prompting for Prompts wird eine KI verwendet, um Prompts – für dasselbe oder ein anderes KI-Programm – zu erstellen. Zum Beispiel können Sie ChatGPT darum bitten, Prompts zu Generierung bestimmter Texte zu erstellen und diese Prompts dann in ChatGPT einsetzen [1].
Dabei empfiehlt sich folgendes Vorgehen:
- Öffnen Sie ein neues Chatfenster und bitten Sie ChatGPT Ihnen Prompts zu einem bestimmten Thema zu verfassen. Sie können etwas schreiben wie “Ich möchte eine Übersicht zur Entwicklung der Verwaltungseinheiten des Oströmischen Reichs von 395 bis 750 habe. Bitte erstelle mir dazu passende Prompts.” Kopieren Sie den Prompt, der Ihnen am ehesten zusagt (erfahrene Benutzer könne diese Vorschläge auch als Inspiration nutzen und ihren eigenen Prompt erstellen).
- Öffnen Sie ein weiteres Chatfenster – gehen Sie bei der Verwendung von ChatGPT sicher, dass die Speicherfunktion deaktiviert ist, damit ChatGPT sich nicht an alte Chats erinnern kann. Fügen Sie hier Ihren in Schritt 1. kopierten Prompt ein und schicken ihn ab.
Durch Versuch und Irrtum finden Sie heraus, welche Prompts sich besser und welche schlechter eignen. Sie können Prompting for Prompts aber auch für andere KI-Modelle nutzen. Zum Beispiel können Sie ein LLM anweisen, Prompts für eine bildgenerierende KI zu entwerfen [4].
Eine Variante des Prompting for Prompts ist das modelgeführte Prompting: Hier fragen Sie das LLM, welche zusätzlichen Informationen es benötigt, um Ihnen zu helfen [2]. Im Gegensatz zum allgemeinen Prompting for Prompts arbeiten Sie benötigen Sie hier nur ein Chatfenster.
- Öffnen Sie ein neues Chatfenster und geben Ihren Prompt ein. Am Ende des Prompts weisen Sie das LLM an, bei Bedarf nach zusätzlichen Informationen zu fragen. Z.B. „Bitte erstelle einen Technologiebaum für ein Videospiel, das in der späten Bronzezeit spielt. Falls Du weitere Anweisungen benötigst, frag bitte vorher nach.“.
- Beantworten Sie jetzt die Fragen, die Ihnen gestellt wurden. Seien Sie dabei präzise, aber nicht unnötig ausschweifend.
- Arbeiten Sie in demselben Chatfenster weiter wie gehabt: korrigieren Sie das Programm oder schieben Sie Informationen nach.
Der erste Prompt („Seed“) ist besonders wichtig, da er den Weg vorgibt und das Modell auf die falsche Fährte locken kann [3]. Gleichzeitig möchten Sie im ersten Prompt aber auch nicht alle verfügbaren Informationen unterbringen, um die Kreativität des LLM nicht zu stark einzuschränken [3]. Es kann daher hilfreich sein, im ersten, allgemeinen formulierten Prompt im entsprechend der Strategie dies modellgeführten Promptings nach zusätzlich notwendigen Informationen zu fragen, um zu verhindern, dass das LLM ihre Anfrage missinterpretiert und in eine vollkommen falsche Richtung abbiegt.
2. Reverse Prompt Engineering
Beim Reverse Prompt Engineering geht es darum, aus einem gegebenen Text einen Prompt abzuleiten, der diesen Text generieren könnte [5]. Im Gegensatz zur zuvor besprochenen Strategie des Prompting for Prompts, gibt es für Reverse Prompt Engineering keine Anwendung im alltäglichen Bereich. Reverse Prompt Engineering dient allein dazu, besser im Prompting zu werden.
Wie funktioniert Reverse Prompt Engineering?
- Text auswählen: Wählen Sie einen Text oder ein Ergebnis aus, das Sie analysieren möchten. Dies kann ein Blogbeitrag, ein Codefragment oder jede andere Art von generiertem Inhalt sein.
- Modell vorbereiten: Bereiten Sie das KI-Modell vor („Priming“), indem Sie ihm mitteilen, dass Sie Reverse Prompt Engineering verwenden möchten. Zum Beispiel: “Ich möchte Reverse Prompt Engineering verwenden, um den ursprünglichen Prompt für diesen Text zu identifizieren.”
- Prompt generieren: Geben Sie den ausgewählten Text in das KI-Modell ein und lassen Sie es den ursprünglichen Prompt generieren. Das Modell wird eine Eingabeaufforderung erstellen, die idealerweise zu dem gegebenen Text führt.
- Prompt testen: Testen Sie die generierten Prompts in einem neuen Chatfenster.
- Prompt verfeinern: Überprüfen und verfeinern Sie den generierten Prompt, um sicherzustellen, dass er präzise und relevant ist. Dies kann durch iterative Anpassungen und Tests erfolgen.
Hier ist es besonders wichtig, dass Sie verschiedene Chatfenster benutzen: Nutzen Sie ein Fenster, um das Modell vorzubereiten (Punkt 2) und um die Prompt-Vorschläge zu verbessern (Punkt 5). Nutzen Sie neue Chatfenster, um neu generierte Prompts auszuprobieren. Selbstverständlich können Sie auch nach einer Textgeneration versuchen, den Text innerhalb desselben Chatfensters durch zusätzliche Prompts weiter anzupassen. Dies fällt zwar nicht mehr unter Reverse Prompt Engineering, ist aber ebenfalls eine sinnvolle Methode, um das eigene Prompting zu verbessern.
3. Explanatory Prompting
Hiermit ist die höchste Stufe des Meta Prompting erreicht. Beim Explanatory Prompting weist man das LLM an, zu erklären, wie es von einem vorherigen Prompt zum anschließenden Output gekommen ist. Explanatory Prompting kann tiefe Einblicke in die Wirkmechanismen des LLM liefern, ohne sich vorher durch dutzende Seiten Fachliteratur gelesen haben zu müssen. Explanatory Prompting lässt sich dabei allein in der alltäglichen Nutzung einsetzen, aber auch in Kombination mit dem zuvor besprochenen Reverse Prompt Engineering.
Wie funktioniert Explanatory Prompting?
Wie beim Reverse Prompt Engineering benötigen Sie auch hier wieder einen vorbereitenden Prompt, der dem LLM erklärt, was Sie tun wollen. Glücklicherweise ist es damit aber auch getan – Sie brauchen keine weiteren Chatfenster öffnen. Ein erfolgreich erprobter Prompt lautet:
„Bitte beschreibe mir im Detail, wie Du vom Prompt zum Output gekommen bist. Gehe Schritt für Schritt vor. Ich möchte verstehen, wie Deine inneren Mechaniken funktionieren. Erkläre es mir exakt am Beispiel des ersten Prompts in dieser Konversation und dem dazugehörigen Output.“
Das LLM wird jetzt, so gut es kann, erklären, wie es zu seinem Ergebnis gekommen ist. Zögern Sie nicht nachzufragen, wenn etwas unklar ist oder das Programm zu allgemein antwortet.
Explanatory Prompting in Kombination mit Reverse Prompt Engineering
Beim Reverse Prompt Engineering werden Sie schnell feststellen, dass die Ergebnisse nicht dem Originaltext entsprechen. Sie kommen ihm zwar im Idealfall nahe, aber in den meisten Fällen wird das LLM das Original nicht erfassen können. Eventuell finden Sie einige hilfreiche Vorgehensweisen heraus, z.B. indem Sie den Text erst zusammenfassen und bestimmte Kernbotschaft extrahieren lassen, aber es wird immer eine Diskrepanz bestehen bleiben. In diesem Fall kommt Explanatory Prompting zum Tragen: Fragen Sie das LLM wie es zum Ergebnis kam und warum es gewisse Aspekte nicht rekreieren konnte.
Beispiel
In Selbstversuch hat der Verfasser dieses Beitrags versucht, mithilfe von Reverse Prompt Engineering die Kurzgeschichte „Das Narrenschiff“ von Theodore J. Kaczynski zu rekreieren. „Das Narrenschiff“ zeichnet sich durch sein abruptes Ende aus (Vorsicht: Spoiler):
Die ganze Geschichte über warnt die Hauptperson vor den nahenden Eisbergen, die Passagiere stimmen der Warnung zu, halten ihre persönlichen Probleme aber für drängender und demonstrieren für die Verbesserung ihrer persönlichen Lage, währenddessen das Schiff weiter in Richtung Eisberge segelt und woraufhin die Hauptperson erneut vor den Eisbergen warnt. Dieser Zirkel wiederholt sich über Seiten hinweg mehrfach, bis die Geschichte mit den Worten endet „Das Schiff indes segelte weiter nach Norden und nach einer Weile wurde es zwischen zwei Eisbergen zermalmt und alle ertranken.“.
ChatGPT gelang es nicht, ein ähnlich abruptes Ende zu verfassen und bestand stattdessen immer darauf auf eine “Moral von der Geschicht’” zu verweisen. Der Verfasser versuchte dies, mit der expliziten Anweisung, die Geschichte abrupt enden zu lassen zu verhindern. Als dies nicht half, wies es ChatGPT mit dem negativen Prompt an, auf eine Moral von der Geschichte zu verzichten – nur um zu lesen, dass ‚eine Moral von der Geschichte nicht vorhanden‘ sei.
Quellen
Literatur:
[1] Meskó, B. (2023). Prompt engineering as an important emerging skill for medical professionals: tutorial. Journal of medical Internet research, 25, e50638.
[2] MLM Team. (2023, 20, Juli). Prompt Engineering for Effective Interaction with ChatGPT. https://machinelearningmastery.com/prompt-engineering-for-effective-interaction-with-chatgpt/#comments (Abgerufen am 22.10.2024)
[3] Rieck, C. (2023). Schummeln mit ChatGPT: Texte verfassen mit künstlicher Intelligenz für Schule, Uni und Beruf. Auch für Bing. MVG Münchner Verlagsgruppe.
[4] Prompting for prompts. (2023, 26, März). https://amaizing.art/posts/prompting/ (Abgerufen am 22.10.2024)
[5] Reverse Prompt Engineer: What is it? What is it used for? (2024, 16, April). https://datascientest.com/en/reverse-prompt-engineer-what-is-it-what-is-it-used-for (Abgerufen am 22.10.2024)
Fazit
Mit dem oben beschriebenen Meta Prompting ging der Verfasser dem Geschehen auf den Grund und erfuhr auf diese Weise, dass ChatGPT sich bei der Erstellung seiner Ausgaben an den Worten des Prompts orientiert und zu einem gewissen Grad gezwungen wird, diese auch zu verwenden. ChatGPT gab zudem den Tipp, aus diesem Grund im Zweifel besser auf negative Prompts zu verzichten, da auch ein negativer Prompt Worte enthält, an denen ChatGPT sich dann unter Umständen zu orientieren versucht.
Dies erklärte auch, warum es bei verschiedenen Typen generativer KI bisweilen mit negativen Prompts zu Problemen kommt. Man kann sich dies bildlich damit vorstellen, dass es für uns Menschen auch schwierig ist, nicht an Kängurus zu denken, wenn man gesagt bekommt, dass man nicht an Kängurus denken solle.
Aus demselben Grund wird auch empfohlen, bei einem verunglückten ersten Prompt besser einen neuen Chat in einem neuen Fenster zu beginnen: die einmal gelegte falsche Richtung kann sonst immer wieder durchschlagen (Rieck). Am Ende gelang es schlicht nicht, das ikonische Ende per Prompt zu rekreieren; an dieser Stelle wäre eine manuelle Anpassung notwendig gewesen. Der Kernablauf der Geschichte konnte aber per Prompt nachgestellt werden. Ähnliche Ergebnisse erzielte eine Gruppe von rund zwölf Personen im Rahmen eines Prompting Workshops.
Unser kostenfreies Unterstützungsangebot für Sie
Benötigen Sie Unterstützung zum Meta Prompting? Ob offene Fragen oder konkrete Problemstellungen, die Sie gern mit uns angehen möchten – unsere Expert:innen helfen Ihnen gern weiter. Kontaktieren Sie uns gern unter mittelstand-digital@tuhh.de