Seit dem Beginn des Siegeszugs von ChatGPT und anderer anwenderfreundlichen KI-Lösungen wird oft über Prompt Engineering gesprochen. Aber was ist das wirklich und wie nutzt man die Methodik, um die besten Ergebnisse aus der KI zu erhalten?
Was ist Prompt Engineering?
Und zuerst… was ist ein Prompt?
Ein Prompt ist
eine Eingabeaufforderung, die verwendet wird, um einen Computer oder eine KI-Plattform zu instruieren, einen bestimmten Text zu generieren oder eine besondere Aufgabe zu erledigen.
In diesem Blog haben wir schon eine ausführlichere Definition von „Prompt“ geschrieben, mit einigen Beispielen.
Prompt Engineering: Eine Definition
Prompt Engineering bezieht sich auf die systematische Gestaltung von Prompts, um die gewünschten Ergebnisse von KI-Textinput-Modellen zu erzielen. Es ist ein disziplinierter Ansatz, der es ermöglicht, präzise und relevante Informationen aus LLM-Applikationen, Textgenerierungssystemen wie ChatGPT oder andere generative KIs zu erhalten. Die Kunst des Prompt Engineerings besteht darin, spezifische Anweisungen, Fragen oder Eingabebeispiele zu formulieren, um das Modell auf bestimmte Kontexte, Themen oder Verhaltensweisen auszurichten.
Wieso ist ein sorgfältiges Prompt Engineering wichtig?
Die Gestaltung des Prompts hat einen großen Einfluß auf die Qualität der Ergebnisse.
Die Kommunikation mit einer KI-Lösung
Die sprachbasierten KI-Anwendungen verstehen die menschliche Sprache… meistens. Obwohl die Systeme immer besser werden, fehlt ihnen etwas, das in der Kommunikation zwischen Personen vorhanden ist: Viel Kontext.
In der menschlichen Kommunikation könnte dieser Kontext aus verschiedenen Elementen bestehen: Die Kultur der Protagonisten; die Gestik, Mimik und Tonfall; die Kenntnis vorherigen Problemen und so weiter. Auch innerhalb menschlicher Interaktionen funktioniert Kommunikation um so besser, je mehr Kontext vorhanden ist.
Ein Beispiel: Das direkte Gespräch zwischen dem Key-Account-Manager und dem Vertriebsdirektor seines Unternehmens in der Kantine funktioniert meist besser, intuitiver und schneller als das Gespräch mit der asiatischen Kundin über Zoom. Denn da ist nicht nur die Kultur, sondern auch die situative Umgebung weniger vorteilhaft.
Genauso fehlt in der Kommunikation zwischen Mensch und Maschine viel Kontext.
Und so muss der Nutzer dieses Kontext anhand der Spracheingabe der Maschine zur Verfügung stellen.
Wirkung des Prompt Engineerings
Durch ein qualifiziertes Prompt Engineering erreicht der Nutzer eine bessere Antwort von der KI. Diese, mit Kontext und Methode ausgestattet, liefert wesentlich passendere Outputs, als wenn man sie nur mit einer Frage oder Behauptung ohne Kontext, Methode und „Stimmung“ nutzt.
Oder, wie Nerds so gerne sagen:
GIGO.
Garbage In, Garbage Out.
Um gute Prompts zu generieren, ist es wichtig, eine Vorstellung von dem erwarteten Ergebnis zu haben. Die Ergebnisse sollte man auch „kuratieren“ können. Richtiges Prompt Engineering setzt eigene Kenntnisse voraus.
Elemente eines Prompts
Die Aufgabe
Was sollte die KI tun?
Manche Applikationen brauchen wir nicht mit einer Aufgabe zu instruieren, weil diese eigentlich klar ist: Wenn die Anwender*innen Bildgenerierung-KIs wie Dall-E oder Midjourney eine Aufgabe geben, ist diese von vorn herein klar. Die KI sollte ein Bild generieren, denn das ist ihr Job. Da ist es unnötig, die Aufgabe zu beschreiben, sondern nur das „wie“.
Wenn allerdings die „Schweizer-Messer“ unter den KIs benutzt werden, sollten diese schon wissen, was sie tun sollten. Wenn „a robot accepting a military order with a military salute“ in ChatGPT eingegeben wird, sucht dann diese einen Auszug aus seinen vielfältigen Möglichkeiten aus.
Was diese wären? Zum Beispiel:
- beschreiben
- übersetzen
- einen Text zum Thema schreiben – oder eine Geschichte, die mit dem Satz endet
Und bei einem längeren Text zusätzlich:
- zusammenfassen
- Wörter extrahieren oder klassifizieren
- den Stil vom Text ändern
Bei mathematischen Texten könnte die Aufgabe sein:
- Lösung angeben
- Rechenweg beschreiben
- Zahlen ordnen
Aufgaben, die sich nicht auf einem voreingegebenen Text beziehen, könnten folgende sein:
- ein Konzept erklären
- Ideen zu einem Thema geben
- Definitionen liefern
- Eine Textstruktur vorschlagen
- Computer-Code schreiben (zum Beispiel ein Programm in Python oder HTML-Code)
Die Liste ließe sich sehr lange vorsetzen. Im Grunde genommen kann ChatGPT zu den verschiedensten Aufgaben eine Antwort liefern.
Der Input
Mit Input meint man die Daten, die eingegeben werden, um eine Antwort zu bekommen. Im Falle einer Zusammenfassung oder einer Übersetzung wäre das der Ursprungstext – oder im Falle einer Kalkulation, die Zahlen.
Der Kontext
Der Kontext gibt die KI zusätzliche Information zur Aufgabe. Im Fall einer Übersetzung, könnte das die Beschreibung der Ursprungssprache sein, wenn sie spezifisch ist (zum Beispiel Rap-Stil oder Österreichisches Deutsch). Oder es kann ein Beispiel sein, an dem sich die KI orientieren kann.
Der Output-Indikator
Mit Output-Indikator meint man das „Wie“ der Antwort. Es kann die Computersprache des Programms, das man schreiben möchte (zum Beispiel C++), das Format (ein Text oder eine Tabelle), oder der Stil eines Textes.
Den Prompt richtig schreiben
Beschreibung
Es ist immer ratsam, sich grundsätzlich zu überlegen, ob die oben beschriebenen Elemente in dem Prompt alle gegeben sind. Nicht immer braucht man alle Indikatoren. Aber wenn sie nötig sind, wird sich ihr Fehlen in der Qualität der Antwort merken lassen.
Beispiele
Um die KI zu helfen, können die Anwender*innen Beispiele liefern. Wenn sie zum Beispiel eine Struktur für einen Text möchten, können sie die passende Struktur für andere Themen liefern, sodass die KI sich daran orientieren kann. Wenn sie eine Rede erhalten möchten, die Charisma ausstrahlt, dann könnten sie befehlen, dass die KI sich am Stil von Martin Luther King oder Barack Obama orientieren sollte.
Wenn die Stimmung eines Textes gefragt wird, könnte man zu Beispielen von Texten die Stimmung liefern, so dass die KI die Aufgabe für neue Texte versteht.
Auf GitHub beschreibt Lilian Weng diesen Prozess sehr anschaulich.
Klare Kommunikation
Die Beschreibung der Aufgabe (Instruktion) sollte klar und deutlich sein. Mit einer sehr spezifischen Beschreibung der Aufgabe, hinsichtlich was zu tun ist und wie es zu erledigen ist, kann die KI eine bessere Antwort erarbeiten. Die Anwender*innen sollten sich daran gewöhnen, vorerst gut zu überlegen, welche Ergebnisse sie von der Applikation erwarten und diese Form sehr deutlich beschreiben.
Die KI zum „Denken“ anregen
Wenn wir ein neues Problem lösen, ist es ratsam, dieses Problem in mehreren Teilen zu diskutieren. Auch bei der KI kann das helfen.
Nehmen wir an, wir wollen einen Artikel über ein spezifisches Thema schreiben. Wir könnten der KI genau diese Instruktion geben. Oder wir könnten die Aufgabe in einer Kette mehreren aufeinander aufbauenden Aufgaben teilen (Chain of thoughts), z.B.:
- Suche Information zum Thema X
- Gebe mir eine Definition von X
- Erkläre die Anwendungsfälle von X
- Erkläre die Vor- und Nachteile von X
- Nutze die bisherigen Antworten und schreibe die Struktur eines Blog-Artikels über X
- Nutze die Struktur und schreibe einen Artikel über X (dazu Angaben zu Anzahl der Wörter, Stil, usw.)
Auch für mathematische Problemen kann das Fragen in Etappen helfen.
Allerdings macht es schon einen Unterschied, ob wir eine Frage stellen oder ob wir dieselbe Frage mit der Zusatzinstruktion „Bearbeite die Antwort Schritt für Schritt“ eingeben. Auf der Github-Webseite wird gezeigt, wie.
Die Prompts maschinell generieren lassen
Mittlerweile können Applikationen die Prompts verfeinern. Der Vorteil ist, dass mit wenigen Parameter, die den User variiert, auf einmal Hunderte von Prompts modular erstellt werden können. Ein Beispiel dafür ist AIPRM: Eine solche Applikation ist zum Beispiel sehr hilfreich, um Marketing-Aufgaben für die jeweiligen Produkte und User-Gruppe zu individualisieren.
Eine andere Methodik ist es, die KI ihre eigenen Prompts entwickeln zu lassen. In dem Fall wird ChatGPT instruiert, so lange Fragen zu dem Auftrag zu fragen, bis sie verstanden hat, was man braucht und dann einen Prompt für sich selbst generiert. Wenn dieser Prompt aus Sicht der Users passt, dann hat ChatGPT ihren eigenen Prompt erstellt und kann ihn nutzen, um sich selbst eine Instruktion zu geben.
Prompt Engineering als Methodik für bessere Prompts
Es lohnt sich wirklich, die Prompts sorgfältig zu „engineeren“, also zu entwickeln, anstatt die Frage unüberlegt zu stellen. Darum ist Prompt Engineering eine Aktivität, die in den nächsten Jahren an Aufmerksamkeit zunehmen wird.
Links
Gute Beispiele und Erklärungen zum Thema Prompt Engineering gibt es auf den folgenden Webseiten
BM-Experts:
BM-Experts GmbH: Den Kundennutzen steigern
Gute Ideen sind wichtig, doch die Umsetzung ist entscheidend.
Dank unserer Erfahrung im B2B-Vertrieb wissen wir, wie neue Business-Modelle schnell zum Kunden gebracht werden. Wir helfen Unternehmen, den Blickwinkel zu erweitern und die Strategie in Zeiten der Digitalen Transformation zukunftsfähig zu gestalten.
Mehr unter bme.digital
Beitragsbild © DALL·E / Cécile Hendriks-Tardy – Prompt: „a robot doing a clear a military salute, colorful 3d render, with background/wallpaper of toothwheels and gears“