Der Begriff des Prompt Engineering
Der Begriff des Prompt Engineering bzw. des Prompt Engineers ist im Kontext der Nutzung von generativer künstlicher Intelligenz populär geworden. Eines der bekanntesten KI-Modelle ist ChatGPT von OpenAI. Darüber hinaus gibt es eine Vielzahl von weiteren Sprachmodellen (englisch: LM für Language Model bzw. LLM für Large Language Model), die für unterschiedliche Anwendungsfälle entwickelt wurden.
Um von einem KI-Modell eine Antwort zu erhalten, muss man zunächst eine Frage stellen, d.h. eine Eingabe tätigen. Diese Eingabe ist der Prompt.
Der Begriff Prompt ist nicht neu. Es ist ein technischer Begriff aus der Welt der IT. Dort steht er für die Eingabeaufforderung von Text basierten Programmen wie etwa UNIX-Shells oder der guten alten DOS-Eingabeaufforderung.
Der Begriff des Prompt Engineering wirkt zuerst wie ein Widerspruch.
- Warum wird der technische Begriff „prompt“ verwendet, wenn keine Eingabe von Befehlen per Kommandozeile notwendig ist?
- Warum wird ein ein Ingenieur benötigt, wenn die Fragen in natürlicher Sprache formuliert werden können
Im Beitrag beantworten wir die Fragen, und lösen den vermeintlichen Widerspruch auf.
Kurzdefinition von Prompt Engineering
Prompt Engineering beschreibt die Optimierung der Eingaben zur Steuerung von KI-Modellen.
Kurz gesagt repräsentiert der Prompt die Frage an das KI-Modell, auch bezeichnet als „Input“. Die Antwort des Modells wird als „Output“ bezeichnet.
Ein Beispiel (ChatGPT 3.5):
Prompt (Input): „Der Himmel ist“
Antwort (Output): „blau“
Diese Antwort wird allgemein als korrekt angesehen. Ebenfalls korrekte Antworten sind „wolkenlos“ oder „bedeckt“.
In Abhängigkeit von Ort und Uhrzeit kann „sternenklar“ wiederum eine richtige Antwort sein.
Das Ziel von Prompt Engineering ist es die Eingaben an ein KI-Modell so zu strukturieren und spezifizieren, dass dieses immer in der Lage ist, die optimale Antwort für den Anwendungsfall und Kontext zu generieren.
Bei der Anwendung als ChatBot auf einer Website bleibt das Prompt Engineering für den Anwender unbemerkt. Der Endanwender kann seine Anfragen weiterhin in natürlicher Sprache stellen, ohne eine besondere Syntax berücksichtigen zu müssen. Das KI-Modell erhält die mittels Prompt Engineering festgelegten Instruktionen beim Start einer neuen Session im Hintergrund. Etwa, ob die Antworten die Uhrzeit der Frage mit berücksichtigen sollen. Sollen die Antworten kurz und präzise sein, oder blumig formuliert werden, usw..
Die Ein- und Ausgaben werden in natürlicher Sprache formuliert. Den Prozess der Verarbeitung von natürlicher Sprache ist unter dem Fachbegriff Natural Language Processing (NLP) bekannt. Diese Art der Interaktion hat das Ziel, die Nutzung von Anwendungen zu vereinfachen. Ein Mensch muss sich nicht an den Computer anpassen, um Eingaben in bestimmter Syntax zu tätigen, sondern der Computer passt sich an den Menschen an.
Bei anderen Anwendungsfällen kann es sinnvoll sein ein Prompt Template zu erstellen. Ein Beispiel ist die Erstellung von Bildern für Social Media Kampagnen.
Der Nutzer kann das Template wie ein Formular nutzen, um verschiedene Optionen auszuwählen, und einzelne Text-Bausteine an festgelegter Stelle des Prompts einzutragen.
Prompt Engineering: Typische Anwendungsbereiche
Je nach Anwendungsbereich variieren die Ansätze des Prompt Engineerings. Jeder einzelne Anwendungsfall hat eigene Anforderungen an die Reproduzierbarkeit von Ausgaben des KI-Modells (Output), die Länge einer Antwort, Tonalität oder Art und Weise der Formatierung der Antwort.
Die Anwendungsfälle lassen sich z.B. klassifizieren in:
- Erstellung von Textzusammenfassungen
- Informationsgewinnung
- Schlussfolgerungen generieren
- Beantwortung von Einzelfragen
- Textklassifizierungen
- Erkennung von Stimmungen
- Ein Gespräch führen (Konversation)
- Automatisierte Erstellung von Computer Code
- Automatisierte Erstellung von Bildern
- Automatisierte Erstellung von Musik
- und viele mehr
Aus der Aufzählung wird deutlich, dass die Anwendungsbereiche für KI-Modelle sind sehr vielfältig sind.
Die einzelnen KI-Modelle sind in der Regel sehr umfangreich trainiert, eben mit dem Ziel sie für sehr unterschiedliche Szenarien nutzen zu können.
Dieser Umstand ist Segen und Fluch zugleich. Der Positive Aspekt ist, dass ein KI-Modell (z.B. ChatGPT) für viele Themen genutzt werden kann, da es grundsätzlich über ein hohes Maß an Fachwissen in sehr vielen Bereichen verfügt. Der Nachteil ist, dass das Spezialwissen, über die gängigen Wege nicht immer abgerufen werden kann. Die Lösung hierfür ist Prompt Engineering. Dem KI-Modell kann so Hintergrundinformation mitgegeben werden, die Art und Weise der Antwort steuert. Mittels Strukturierung und Spezifizierung der Eingaben, kann das Modell gezielt gesteuert werden, um spezifisches Wissen zu berücksichtigen. Ein Aspekt, der bei der Erstellung von Chat Anwendungen häufig sehr wichtig ist.
Mit Prompt Engineering dem KI-Modell neue Inhalte vermitteln
Ein KI-Modell arbeitet auf Basis eines Trainingstandes. Während des Trainings erhält das Modell Daten, die es verarbeitet und hieran „lernt“. Nach Abschluss des Trainings beantwortet das Modell alle Anfragen auf Basis des letzten Trainingsstandes. Große KI-Modelle werden nur in großen Abständen trainiert, da das Training aufwändig und entsprechend teuer ist.
So liefert ChatGPT 3.5 im Juli 2024 auf die Frage: „Wann wurdest Du zuletzt trainiert?“ folgende Antwort:
„My training data includes knowledge up to September 2021, but I also receive updates and improvements from my developers periodically. The latest significant update to my training was in 2023, refining my capabilities and knowledge base to ensure more accurate and relevant responses. However, I do not have specific information on each training iteration or update.“
Die Antwort zeigt, dass die Datenbasis von großen Sprachmodellen nicht notwendigerweise aktuell ist.
Aus diesem Grund benötigt man eine Methode, um dem Modell aktuelle oder spezifische Informationen geben zu können, die bei der Beantwortung von Fragen berücksichtigt werden soll. Die geeignete Methode hierfür ist das Prompt Engineering.
Prompt Engineering ist unverzichtbar, um einem Modell spezifische Kontextdaten zu vermitteln.
Mit Hilfe des Prompt Engineerings ist die erstellte Anwendung in der Lage Fragen, zu Detaileigenschaften von Produkten, Verfügbarkeit oder Preisen, etc. auf Basis von aktuellen Informationen zu beantworten.
Wie komplex oder aufwändig ist Prompt Engineering?
Da wir ein Beratungsunternehmen sind ist die Antwort: „Es kommt darauf an“. Und natürlich ist die Antwort richtig.
Eine allgemeingültige Antwort gibt es nicht. Prompt Engineering ist in vielen Fällen jedoch mit deutlich weniger Aufwand verbunden, als unsere Kunden vermuten. Tatsächlich ist Prompt Engineering häufig ein sehr zielgerichteter Prozess, welcher verschiedene, etablierte Techniken zur Erreichung des jeweiligen Ziels nutzt.
Ein gewisses Fachwissen hinsichtlich des gewünschten Outputs ist unverzichtbar, um die Güte des Outputs zu bewerten, und um die Prompts so spezifisch wie möglich zu gestalten (Beispiel: Kunstkenntnisse bei der Erstellung von digitaler Kunst).
Ein guter Prompt kann schon mit einem Arbeitstag Aufwand erstellt werden. Gleichzeitig gibt es Anwendungsfälle, für die die Erstellung und Qualitätssicherung des Prompts mehrere Personentage in Anspruch nimmt.
Art und Weise der Umsetzung von Prompt Engineering ist eng mit dem verwendeten KI-Modell verbunden. Das jeweilige Modell definiert, welche „Tools“ bzw. Funktionen, für das Prompt Engineering zur Verfügung stehen.
Aus fachlicher Sicht ist die Anforderung an das Prompt Engineering erfüllt, sobald das Modell die richtigen Antworten gibt. Die Festlegung von „richtig“ kann und muß für jeden Anwendungsfall individuell definiert werden.
Der Engineering Teil in Prompt Engineering
Prompt Engineering kann ein KI-Modell strukturiert steuern. Prompt Engineering kann das Modell nicht verändern. KI gestützte Sprachmodelle haben die Eigenschaft, dass Antworten nicht deterministisch sind. Es gibt keine Garantie, dass das KI-Modell auf dieselbe Frage immer dieselbe Antwort gibt. Im Gegenteil. Die Modelle sind oft darauf trainiert eine Varianz in die Antworten einzubauen. Genauso wie sie darauf trainiert sind bis Weilen ausschweifende Antworten zu geben. Beide Punkte machen sie „menschlicher“ und sind bei der Nutzung im Kontext von Konversationen grundsätzlich positiv zu bewerten, da dieses Verhalten näher an dem Verhalten eines Menschen ist. In der Regel wird ein Mensch ebenfalls nicht immer die wörtlich identische Antwort auf dieselbe Frage geben.
Bei fachspezifischen Anwendungen ist dieses Verhalten dagegen nicht immer gewünscht. Hier liegt der Fokus darauf, dass die Antworten als konsistent empfunden werden. Und das verschiedene Personen auf dieselbe Frage inhaltlich identische Antworten erhalten auch, wenn diese nicht wörtlich übereinstimmen müssen.
Wie bei jeder Arbeit als Ingenieur ist daher die Betrachtung der Randbedingungen für das Prompt Engineering von besonderer Bedeutung. Die „Edge Cases“ bedürfen besonderer Aufmerksamkeit bei der Erstellung des strukturierten Prompts.
Für die Praxis bedeutet dies, dass für ein zielgerichtetes Prompt Engineering sowohl KI-Know-How als auch das genaue Verständnis der fachlichen Anforderungen von besonderer Bedeutung sind.
Erfolgreiches Prompt Engineering mit e-dynamics
e-dynamics verfügt über langjährige Erfahrung in der Erstellung von Analytics Lösungen, die auf die individuellen Anforderungen jedes Projektes optimiert sind. Wir sehen uns als Bindeglied zwischen den Fachanwendern und der Umsetzung einer technischen Lösung.
Wir befassen uns schon seit mehreren Jahren mit KI-Themen in unterschiedlichen Bereichen der KI. Die Lösungen werden in unterschiedlichen Anwendungsszenarien bei unseren Kunden genutzt. Mit ed.Detect haben wir ein eigenes KI-Werkzeug in der Kategorie Explainable AI (erklärbare KI) entwickelt. Im Bereich der Generative AI (generative KI) befassen wir uns intensiv mit Prompt Engineering für verschiedene KI Sprachmodelle.
Ein erfolgreiches Prompt Engineering ist nach unserer Überzeugung nur möglich, wenn man sowohl die Technik beherrscht als auch ein tiefes Verständnis für die fachlichen Anforderungen und den konkreten Anwendungsfall besitzt. Beide Kompetenzen sind bei e-dynamics in hervorragender Weise vorhanden. In den Fachteams verfügen wir über tiefes und detailliertes technisches Know-How. Unsere Consultants in den Kundenteams verstehen die fachlichen Anforderungen und übersetzen diese in maßgeschneiderte Lösungskonzepte. Immer mit dem Ziel die optimale Lösung für die individuellen Anforderungen eines Projektes zu finden.
Feedback
Wir freuen uns über Anregungen und Rückfragen. Sprechen Sie uns an, wenn Sie mehr über das Thema Prompt Engineering im Kontext Ihres Anwendungsfalles wissen möchten.