Prompting und Prompt Engineering

Im Zusammenhang mit künstlicher Intelligenz beschreibt Prompting die Eingabe von Anweisungen in das Eingabefeld der Large Language Models (wie z.B. ChatGPT). In einem weiteren Schritt entstand das Konzept des "Prompt Engineering". Ziel des Prompt Engineering ist es, die Eingabe (Input; Prompt; die Anweisung) so spezifisch zu formulieren, dass die KI das gewünschte Ergebnis (Output) liefert. Eine sorgfältige Ausformulierung und Gestaltung der Prompts kann die Leistung und Verständlichkeit von KI-Systemen erheblich verbessern. Synonym zu "Prompt Engineering" wird auch der Begriff "Prompt Crafting" genutzt.

"To prompt" als Verb bedeutet im Englischen zu etwas auffordern oder zu etwas anregen. Vor der Verbreitung von grafischen Benutzeroberflächen (GUI) für Computerprogramme und Betriebssysteme funktionierten diese Programme mit Hilfe einer Kommandozeile. Die Kommandozeile verfügte über eine Eingabeaufforderung (command prompt), um den Nutzern zu kennzeichnen, dass das System oder Programm bereit ist, Anweisungen zu erhalten.

Aufbau eines Prompts

Sprachmodelle wie ChatGPT können Schwierigkeiten mit allgemeinen oder zu komplex formulierten Eingaben haben. Ein guter Prompt sollte daher Informationen zu folgenden Punkten enthalten und kann diesem Aufbau folgen:

  • Die Rolle, die übernommen werden soll (zum Beispiel "Du bist ein/e ... und möchtest ...")
  • Die Art des Textes (zum Beispiel "ein Abschnitt einer wissenschaftlichen Veröffentlichung")
  • Der Stil (zum Beispiel "akademisch")
  • Das Thema, die Aufgabe oder das Ziel
  • Zwischenschritte zum Ziel
  • Kontext oder Beispiele
  • Die Zielgruppe (zum Beispiel "Studierende, Lehrende, Forschende usw.")
  • Die Länge und Formatierung der Ausgabe (zum Beispiel "5 Sätze; 250 Wörter; 2 Absätze; 3 Stichpunkte pro Absatz usw.")

Sammlungen von Prompts in einem Prompt-Katalog (engl. Prompt Library)

Prompts werden in Katalogen oder Bibliotheken gesammelt. Diese Prompts können kopiert und vor der Eingabe an die eigenen Aufgaben oder Anwendungsfälle angepasst werden. Zum Thema KI in der Lehre gibt es diese Sammlungen. Nutzen Sie die Prompts, um Ideen zu sammeln oder zu experimentieren:

  • KI-Campus Prompt-Katalog: Der KI-Campus hat in der Veranstaltungsreihe "Prompt Labor" einen Prompt-Katalog initiiert, in diesem Katalog finden Sie ausformulierte Promptbeispiele mit Bezug auf die Lehre (z.B. Begrüßungstext Online-Lernraum, Ablaufplan, Nachrichten an Studierende usw.).
  • More Useful Things Prompt-Katalog: Zusammengestellt von Dr. Ethan Mollick Associate Professor at the Wharton School of the University of Pennsylvania und Autor von One Useful Thing Newsletter zu KI in der Lehre. Es gibt u.a. eine Sammlung für Lehrende (Prompts für die Lehre) und für Übungsaufgaben mit Studierenden.
  • Anthropic Prompt Library: Prompt Beispiele zu verschiedenen Aufgaben (Dokument zusammenfassen, LaTeX Formeln erstellen, Webseite erstellen, Code erstellen/debuggen usw.) und der Output.


Weitere Hintergründe zu den Prinzipien des Prompting und Prompt Engineering

Textprompting

Wie erzeugen große Sprachmodelle ihre Ausgaben? Große Sprachmodelle wurden mit sehr umfangreichen Textdaten trainiert. Sie wurden darauf trainiert, das nächste Wort aus der Eingabe vorherzusagen. Wenn das Modell groß genug ist, kann es nicht nur die Grammatik menschlicher Sprachen erlernen, sondern auch die Bedeutung von Wörtern, Allgemeinwissen und primitive Logik anwenden.

Wenn man also einem Modell den unvollständigen Satz “Der Hund meines Nachbarn ist” gibt (= die Eingabe, der Prompt), könnte die Ausgabe “klein” oder “hungrig” vorhersagen, aber wahrscheinlich nicht “blumig”, obwohl es sich bei allen Wörtern um Adjektive handelt.

Zero Shot - Prompting

Zero-Shot-Prompting ist ein Begriff aus dem Bereich der Verarbeitung natürlicher Sprache (Natural Language Processing, NLP). Es bezeichnet die Fähigkeit eines Modells, auf einen Eingabeaufforderung (Prompt) zu reagieren, der nicht Teil der Trainingsdaten war, und ein gewünschtes Ergebnis zu erzeugen.

Ein Beispiel für Zero-Shot-Prompting könnte folgendermaßen aussehen:

Angenommen, Sie möchten, dass das Modell eine Geschichte über einen tapferen Ritter erzählt, der einen Drachen besiegt. Anstatt das Modell speziell darauf zu trainieren, Geschichten über Ritter und Drachen zu erzählen, könnten Sie einfach einen Prompt wie den folgenden verwenden:

"Erzähle mir eine Geschichte über einen tapferen Ritter, der einen gefährlichen Drachen besiegt."

Das Modell, das nie explizit auf diese spezifische Aufgabe trainiert wurde, kann nun eine entsprechende Geschichte generieren. Es verwendet sein Verständnis von Sprache und Kontext, das es während des Trainings erworben hat, um auf den Prompt zu reagieren und eine kohärente und relevante Geschichte zu erzeugen. Dies ist ein Beispiel für Zero-Shot-Prompting. Es zeigt, wie vielseitig und flexibel große Sprachmodelle bei der Bewältigung einer Vielzahl von Aufgaben sein können, ohne dass sie speziell auf diese Aufgaben trainiert werden müssen.

Single-Shot oder One-Shot - Prompting

"One-Shot-Prompting" ist ein Begriff aus dem Bereich der Verarbeitung natürlicher Sprache (Natural Language Processing, NLP). Es bezieht sich auf die Fähigkeit eines Modells, auf einen Eingabeaufforderung (Prompt) zu reagieren, der ein einziges Beispiel enthält, das dem Modell hilft, die gewünschte Aufgabe zu verstehen.

Stellen Sie sich vor, Sie möchten, dass ein Sprachmodell eine bestimmte Aufgabe ausführt, z. B. eine Frage in einer bestimmten Weise beantworten. Anstatt das Modell speziell darauf zu trainieren, diese spezifische Aufgabe auszuführen, könnten Sie dem Modell einen Prompt geben, der ein Beispiel für die gewünschte Aufgabe enthält.

Das Modell kann sich dann an der Struktur und am Beispiel orientieren und erhält wesentliche Hinweise auf die Art und Weise der gewünschten Inhalte². Diese Strategie wird auch als "One-Shot-Prompting" bezeichnet².

Ein Beispiel für One-Shot-Prompting könnte sein: Angenommen, Sie möchten, dass das Modell eine Frage beantwortet, wie "Was ist die Hauptstadt von Frankreich?". Sie könnten dem Modell einen Prompt geben, der so aussieht:


Frage: Was ist die Hauptstadt von Deutschland?

Antwort: Berlin

Frage: Was ist die Hauptstadt von Frankreich?

Das Modell sieht das Beispiel und versteht, dass es erwartet wird, die Frage zu beantworten, und es antwortet entsprechend mit "Paris". Obwohl das Modell nie explizit darauf trainiert wurde, diese spezifische Frage zu beantworten, kann es die Aufgabe aufgrund des bereitgestellten Beispiels erfolgreich ausführen.

Few Shot - Prompting

Bei dieser Methode werden mehrere Beispiele genannt, um die Antwort in eine bestimmte Richtung zu lenken. Möchte man sich beispielsweise ein Gedicht erstellen lassen, so kann man Beispielgedichte vorab mit einfügen.

Chain of Thought - Prompting (CoT - Prompting)

Bei dem CoT - Prompting wird das Sprachmodell nach dem "Gedankengang" der zu generierenden Antwort gefragt. Ziel ist es, eine schrittweise Vorgehensweise zur Lösung einer Aufgabe zu erhalten. Dabei wird in dem Eingabefeld eine Aufforderung der schrittweisen Vorgehensweise gefragt, beispielsweise durch "Erkläre Schritt für Schritt, wie wir vorgehen sollten."

Tree-of-Thought - Prompting (ToT - Prompting)

Diese Methode ist ähnlich wie das CoT - Prompting. Im Unterschied dazu, werden bei dem ToT - Prompting jedoch mehrere mögliche Pfade oder Verzweigungen vorgegeben. Dabei werden mehrere mögliche nächste Schritte aufgeführt, auf die das Sprachmodell jeweils eingehen soll um mehrere Lösungsansätze zu finden. das Prinzip ähnelt einer Baumsuchmethode.

Maieutic - Prompting

Maieutic Prompting ist eine Methode zur Verbesserung der Leistung von Large Language Models (LLMs). Dabei werden dem LLM eine Reihe von Fragen oder Aufgaben gestellt, die es schrittweise zur gewünschten Antwort oder Lösung führen sollen. Dieser Ansatz ist inspiriert von der sokratischen Methode bzw. Mäeutik, bei der durch gezieltes Fragen neues Wissen "entbunden" wird. Weitere Details finden Sie in dieser Veröffentlichung von Jung et al. (2022).

Ein Beispiel für Maieutic Prompting wäre:

Aufgabe: Schreibe eine kurze Zusammenfassung der Handlung von Shakespeares "Romeo und Julia".

Prompts:

Wo spielt die Handlung von "Romeo und Julia"?
Welchen Familien gehören Romeo und Julia an? In welcher Beziehung stehen diese Familien zueinander?
Wie lernen sich Romeo und Julia kennen und was empfinden sie füreinander?
Welche Hindernisse stehen ihrer Liebe im Weg?
Wie endet die Tragödie?
Fasse nun in wenigen Sätzen die Handlung zusammen.
Durch die schrittweisen Fragen wird das Sprachmodell angeleitet, die relevanten Informationen zur Handlung zu identifizieren und in der finalen Zusammenfassung zu integrieren. So soll eine kohärente und vollständige Antwort erreicht werden.

Nicht-Text Prompting

Bildbereiche markieren

Ein Beispiel für Nicht-Text Prompting ist das Einfügen von Punkten oder das Aufziehen von Boxen in einem Bild. Das von Meta entwickelte Segment Anything Model (SAM) nutzt diese Eingaben um Inhalte oder Bereiche in Bilder zu maskieren oder eine Auswahl von Objekten zu erlauben (z.B. markiere alle Hunde mit dem Label "Hund"). In der Segment Anything Demo können Sie diese Art des Prompting ausprobieren. Meta Webseite zu Hintergründe und Einsatzfälle von SAM (ebenso in diesem Medium Artikel). 



  • Keine Stichwörter