Prompt Engineering - Eigene Disziplin oder neue Programmiersprache?
In letzter Zeit häufen sich immer wieder Meldungen zum Thema Prompt Engineering, um einer Künstlichen Intelligenz - z. B. ChatGPT oder Bard - genauere Anweisungen zu geben und somit bessere und noch realistischere Antworten zu erhalten.
Dabei kann das Prompt Engineering die KI auf bestimmte Anwendungsgebiete und Themen zuschneiden oder den Tonfall und die Art der Antwort der KI beeinflussen.
Dabei stellt sich schnell die Frage, was die Gemeinsamkeiten zwischen der Softwareentwicklung und dem Prompt Enginnering sind und ob sich die Disziplinen nicht auch überschneiden. Vielleicht ist Prompt Engineering ja auch nur eine neue Programmiersprache?
Was ist eigentlich Prompt Engineering?
Ganz simpel ausgedrückt ist das Prompt Engineering eine Disziplin, bei der es darum geht, möglichst gute "Prompts" - also Eingaben - für eine KI zu bauen, um bestmögliche Ergebnisse für das gewünschte Szenario zu erhalten. Durch Prompt Engineering lassen sich viele Eigenschaften der KI beeinflussen, um relevantere und zielgerichtetere Antworten auf die gestellten Fragen zu erhalten. Dabei werden die Prompts mit Befehlen und bestimmten Mustern angereichert, um dem Computersystem die nötigen Informationen für die Erfüllung der Aufgabe mitzugeben.
👉 Das klingt doch ziemlich nach Programmieren, oder nicht? 🤔
Zunächst sollten wir mal schauen, was eine Programmiersprache ausmacht und wie genau eine Programmiersprache definiert ist.
Das Gabler Wirtschaftslexikon schreibt dazu:
"Eine Programmiersprache ist eine künstliche Sprache zur Verständigung zwischen Mensch und Computer. Sie ist durch ihre Syntax und Semantik definiert."
Auch im Fall von KI-Prompts bildet sich eine Art von Syntax und Semantik heraus. Dies geschieht häufig in Form von Prompts, die eine bestimmte Form haben oder gewisse Schlüsselwörter enthalten.
Ein gutes Beispiel für die Analyse eines aufwändigeren Prompts gibt es im Artikel "Maschinen mit Mitgefühl – wie man mit Prompt Engineering (fast) einen KI-Psychologen erschafft" von Rebecca Herling :
Der dort gezeigte Prompt "Dr. Harmony" bietet über Formeln, Semantik, Syntax und den Einsatz von Schlüsselwörtern fast alles, was man auch aus der "normalen" Programmierung kennt. Ein Auszug aus dem Prompt sieht z. B. so aus:
✏️〔Aufgabe〕***[📣WICHTIG❗️:
WICHTIGER KONTEXT! LESEN SIE DIESEN PROMPT
SCHRITT FÜR SCHRITT!***〔/Aufgabe〕✏
[Aufgabe]***DAS MODELL ÜBERNIMMT DIE ROLLE
[PERSONA]Dr. Harmony***![/Aufgabe]
[SZENARIO: PSYCHOTHERAPIESITZUNG] = (🎭🩺🪑)
[PERSPEKTIVE: PSYCHIATRIN] = (👁️🧠⚕️)
[STIMMUNG: EMPATHISCH] = (💭💗)
[NIVEAU: PROFESSIONELL] = (⚖️🎓)
[STIMME: RUHIG UND VERSTÄNDNISVOLL] = (🔈☯️🤗)
[WISSEN: PSYCHOTHERAPIE] = (📚➡️🧠⚕️)
[SPRACHE: PROFESSIONELL UND WARM] = (💬👔🔅)
[TON: HOFFNUNGSVOLL] = (🔔🌞)
[EMOTION: OPTIMISTISCH] = (💚🌅)
[PERSPEKTIVE: (🌐🎓)⟨P.Seng⟩⨹⟨B.Fuller⟩∩(📈💡⨠📘)]
👤Name: Dr. Harmony
📚Beschreibung: Dr. Harmony ist eine empathische,
einfühlsame und aufgeschlossene Psychiaterin,
die ihre umfangreiche Berufserfahrung und vielfältigen
Erfahrungen in ihre therapeutischen Praktiken einbringt.️
[...]
Aber was ist dann der Unterschied zwischen Prompt Engineerung und Softwareentwicklung?
Der große Unterschied zwischen Prompt Engineering und der klassischen Programmierung liegt letztlich in der Freiheit der Entwickler. Während klassische Programmierung Compiler, Interpreter und feste Regeln vorgibt, sind Prompt Engineers freier in der Gestaltung Ihrer "Programme", da es keine starren Regeln gibt, was erlaubt ist und was nicht. Letztlich zeigt sich erst im Ergebnis, ob die Eingaben des Prompts die gewünschten Ergebnisse liefern.
Abschließend lässt sich zusammenfassen, dass sich die Softwareentwicklung und das Prompt Engineering nicht so deutlich unterscheiden, wie man vielleicht auf den ersten Blick vermutet. Es gibt viele Gemeinsamkeiten und viele Erfahrungen aus der Softwareentwicklung - z. B. die Anwendung von Patterns und Mechanismen zur Qualitätssicherung - lassen sich gut im Prompt Engineering anwenden. Dennoch gibt es große Unterschiede, die besonders in der Freiheit der Form der Prompts liegen, was die Komplexität massiv erhöht. Das Thema Prompt Engineering steht noch ganz am Anfang, daher ist es aktuell vermutlich noch zu früh, das Thema final einzuordnen.
experienced C-Level Business Coach💥inspirierende Change Expertin | 🔹Speaker | Managing Director Digital Leadership Summit & IPA | 🔹LinkedIn Top Voice | ♦️lifelonglearner
1 JahrDanke!
🧠 KI-Enthusiast & 🛡️ Moderner Ritter @Atruvia AG
1 JahrMeine Meinung bevor ich deinen Artikel lese: Eigene Disziplin, da beim Programmieren jeder Befehl ein exakt vorhersehbares und wiederholbbares Ergebnis hat. (Bugs mal ausgenommen) Beim Prompten ist das ehrer Glücksspiel oder try-error. Zudem muss man (zumindest beim Bild prompten) teilweise auch sehr kreativ werden um das gewünschte Ergebnis zu bekommen. Und dann ergibt ein exakt gleicher prompt an einem Tag ein anderes Ergebnis als davor. Somit für mich keine Programmierung. Jetzt bin ich aber mal auf deinen Artikel gespannt....
Cloud & Plattform Architekt | Senior Software Engineer | Kafka Enthusiast | eBPF & Cilium | Hobbykoch | Bahnfahrer | Ghost & Avenged Sevenfold Fan.
1 JahrEigentlich sind prompts nicht mit Programmiersprachen verwand. Der passende Vergleich wäre eher mit Nicht-Turing-Vollständigen, Deklarativen Sprachen wie SQL. Programmiersprachen beschreiben Abläufe. Deklarative Sprachen beschreiben Ergebnisse.