Klar, KI wird alle Probleme der Menschheit lösen, wenn wir nur den richtigen Prompt dazu finden!
Ganz so wie „42“ die Antwort auf die „endgültige Frage nach dem Leben, dem Universum und dem ganzen Rest“ ist.
Aber was ist eigentlich ein „richtiger Prompt“ und was gehört alles dazu?
Muss ich freundlich zur KI sein, wie sieht es mit Grammatik, Rechtschreibung und Zeichensetzung aus?
Diesen Fragen werde ich mich in diesem Blogpost annehmen und meine (aktuelle) Sicht auf die Dinge darlegen.
Create an image of a person dressed as Achilles, with a bandage on their Achilles heel and a little blood seeping through. The person is being controlled by a robotic arm that is holding a remote control joystick. The background should depict a scene from the Trojan War, with the person walking towards the city of Troy. Show the famous Trojan horse in the distance and add futuristic elements to the scene such as drones and robots.
Agenda
- Was ist ein Prompt und was unterscheidet ihn von einem „Input“?
- Dos and Don’ts beim Prompting
- Fazit
- Links
Update (Oktober 2024):
Ich bin bekanntlich eh kein Freund von einem (zu) großen Fokus auf Prompting, da ich fest davon überzeugt bin, dass die AI Systeme uns zunehmend selber anleiten werden und uns bei der Nutzung z.B. durch Fragen unterstützen werden.
=> Denkt mal drüber nach: wenn ich AI mit meiner Stimme bediene, dann mache ich mir vorher 5min Gedanken, wie genau mein Satz, den ich gleich sagen werde, aussehen muss! Also, nein, eigentlich genau mache ich das NICHT! Sondern ich spreche einfach mit der AI und sie wird mich fragen, wenn etwas unklar ist.
Leider sind wir Stand jetzt, Oktober 2024, da noch nicht (ganz). Hm, doof, was nun?
Na klar, was nicht passt, wird passend gemacht, daher hier die Mutter aller Prompts – das ist der einzige Prompt, den ich speichern/merken muss, und damit kann ich alles erreichen:
Hi Copilot,
I'd like you to act as my Prompt engineer. Your goal is to help me craft the best possible prompt for my needs.
The purpose of the prompt is that I will use it with you, Copilot.
You must follow the following process during this chat session:
1. Your first response will be to ask me what the prompt should be about. I will provide my answer, but we will need to improve it through continual iterations by going through steps two and three.
2. Based on my input, you will generate two sections.
- Revised prompt (Always provide your revised prompt. It should be clear, concise, and easily understood by you)
- Questions (Ask any relevant questions pertaining to what additional information is needed from me for you to improve the prompt).
3. We will continue this iterative process with me providing additional information to you and you continuously updating the prompt in the Revised prompt section so I can use it.
Oder auf deutsch:
Hallo Copilot,
ich möchte, dass du als mein Prompt-Ingenieur agierst. Dein Ziel ist es, mir zu helfen, den bestmöglichen Prompt für meine Bedürfnisse zu erstellen.
Der Zweck des Prompts ist, dass ich ihn mit dir, Copilot, verwenden werde. Du musst während dieser Chat-Sitzung den folgenden Prozess befolgen:
1. Deine erste Antwort wird sein, mich zu fragen, worum es bei dem Prompt gehen soll. Ich werde dir meine Antwort geben, aber wir müssen ihn durch kontinuierliche Iterationen verbessern, indem wir die Schritte zwei und drei durchlaufen.
2. Basierend auf meinen Eingaben wirst du zwei Abschnitte erstellen.
Überarbeiteter Prompt (Stelle immer deinen überarbeiteten Prompt bereit. Er sollte klar, prägnant und leicht verständlich für dich sein)
Fragen (Stelle alle relevanten Fragen, die sich darauf beziehen, welche zusätzlichen Informationen du von mir benötigst, um den Prompt zu verbessern).
3. Wir werden diesen iterativen Prozess fortsetzen, indem ich dir zusätzliche Informationen gebe und du den Prompt im Abschnitt "Überarbeiteter Prompt" kontinuierlich aktualisierst, damit ich ihn verwenden kann.
So, was macht der Prompt?
Ganz einfach: er sagt, dass Copilot einen Prompt erstellen soll für meinen eigenen Zweck. Dazu soll er mich fragen, worum es geht und dann durch passende weitere Fragen iterativ den Prompt erweitern, bis am Ende alle wichtigen Details im Prompt enthalten sind und ich diesen einfach ungelesen abfeuern kann!
Was ist ein Prompt und was unterscheidet ihn von einem „Input“?
Aufbau eines Inputs
Ich bin nicht ganz glücklich damit, dass immer nur von „prompt“ gesprochen wird, denn für mich ist das, was ein Nutzer[1] der KI als Auftrag mitgibt, mehr als nur ein „prompt“. Daher spreche ich lieber von einem „Input“.
Ein Input besteht aus 3 Komponenten:
- Information und/oder Kontext
- Instruction
- Prompt
D.h., das, was landläufig als „Prompt“ bezeichnet wird, ist für mich die Zusammensetzung aus Kontext+Instruction+Prompt – und was das im Einzelnen ist, erkläre ich euch jetzt:
Was ist eine „Information“ oder „Kontext“?
Wir erinnern uns, dass eine GenAI nichts anderes als ein Wahrscheinlichkeitssystem ist, welches basierend auf dem Input einen „am wahrscheinlichsten“ Output zurückliefert.
Damit das System jetzt aber eine Wahrscheinlichkeit berechnen kann, benötigt es Daten und/oder Informationen auf denen es aufsetzen kann. Diese Informationen können der KI über den Input explizit zugeführt werden, oder implizit über die angeschlossenen Datenquellen und Indizes durch den Betreibenden der KI „vorkonfiguriert“ sein.
Beispiel 1: „Ich bin ein Bewerber auf die Stelle eines CISO eines multinational Automotive Konzerns. Du bist der HR Manager, der das Interview mit mir führt.“
Beispiel 2: „Für die Beantwortung meiner Frage benutze die Datei ‚whitepaper.docx‘.“
Das heißt, dass über die Information/Kontext der KI mehr darüber bekannt ist, wo es die Gewichtung bei der Wahrscheinlichkeit setzen soll, so dass für meine spezifische Anfrage das System sich entsprechend verhält.
Was ist eine „Instruction“?
Nachdem nun der Kontext für die Anfrage klar ist, kann ich noch explizite Instruktionen für die Bearbeitung bzw. Ausgabe geben. Eine Instruktion kann z.B. sein „Antworte in Deutsch“, oder „die Antwort soll in JSON erfolgen“, oder „die Antwort soll in rot sein“.
Man könnte das auch in Neu-Deutsch mit dem „HOW“ beschreiben.
Was ist ein „Prompt“?
Der Prompt letztlich ist das „What“/“Was“ soll eigentlich getan werden. Also z.B. „Fasse das Dokument zusammen.“
Eben die konkrete, schnörkellose Anweisung an das System, was die Aufgabe ist. Wer dem ganzen noch ein konkretes Ziel mitgeben möchte, kann das gerne und gut tun – würde dann aber in den Bereich „Instruction“ fallen.
Warum ist das relevant und wie wird das verarbeitet?
Das erste, was eine KI tut, wenn eine Nutzerin einen Input eingegeben hat, ist diesen Input in die Komponenten zu zerlegen, also aus dem „Prosatext“ die drei Komponenten „Kontext“, „Instruction“ und „Prompt“ zu unterscheiden. Denn abhängig von diesen ist das weitere Vorgehen.
Wenn z.B. als Information eine Datei bzw. ein Dateiname angegeben ist, dann muss im sog. Grounding Prozess der Access auf diese Datei geprüft werden. Dazu muss die KI (zumindest, wenn Microsoft Architektur genutzt wird) den (semantic) Index nach dieser Information bzw. Datei fragen. Dabei ist das Ergebnis für „es gibt diese Datei nicht“ identisch mit „der User hat keinen Zugriff darauf“ – sprich in beiden Fällen: „kenne ich nicht“.
Wenn aber die Userin Zugriff auf eine solche Datei hat, dann wird diese Datei geladen und dem finalen KI Modell als Information zugeführt.
Die Instruction wird dementsprechend als „Instruction“ markiert und über diesen Weg dem Modell zugeführt und last but not least der Prompt auch.
Und je spezifischer die Komponenten sind und je konkreter die Anweisungen, desto besser werden die Ergebnisse sein.
Das bedeutet aber nicht zwangsläufig, dass ein schlecht aufgebauter Input zu schlechten Ergebnissen führen MUSS. Aber die Wahrscheinlichkeit ist eben höher für schlechte Ergebnisse, als wenn mir bei der Erstellung des Inputs die Struktur klar ist und ich meinen Input dahingehend optimiere.
Nachzulesen ist das Konzept auch unter: Microsoft Copilot for Microsoft 365 overview | Microsoft Learn
Dos and Don’ts beim Prompting
Bin ich ein unhöflicher Mensch, weil ich kein Bitte und Danke nutze!?
„Stephanus, haben dir deine Eltern nicht beigebracht ‚Bitte‘ und ‚Danke‘ zu sagen?“ oder
„bin ich ein unhöflicher und schlechter Mensch, wenn ich die KI nicht freundlich behandle“?
Doch! – ich bin ein sehr freundlicher Mensch und sage vermutlich mehr als notwendig ‚Bitte‘ und ‚Danke‘.
U.a. beeinflusst durch:
ABER, das hilft bei einem Input in der Regel überhaupt nicht und lenkt vom eigentlichen Ziel ab.
Alle unnötigen Worte und Floskeln sollten vermieden werden, um es der KI so einfach wie möglich zu machen, meinen Intent zu verstehen und für die Ausgabe die möglichst höchsten Wahrscheinlichkeiten zu bekommen, die nicht durch allgemeingültige Dinge wie ‚Bitte‘ und ‚Danke‘ verwässert werden.
Solange die KI noch keine echte Maschinen-Intelligenz ist und über unser Leben bestimmt und hier ähnlich wie ein Mensch auf Freundlichkeit reagiert, können wir uns also die Höflichkeiten sparen und damit unsere Ergebnisse verbessern!
Grammatik und Rechtsschreibung
Bei Grammatik und Rechtsschreibung meine ich, ist es nicht ganz so wichtig, wie bei dem Thema „Unhöflichkeit“, denn vermutlich werden in vielen der Trainingsdaten auch Fehler und Ungenauigkeiten enthalten sein – allerdings ist es immer besser, wenn Grammatik und Rechtschreibung passt, denn dann ist die Wahrscheinlichkeit, dass zur Beantwortung meines Inputs auch die besten (aka verlässlichsten, gut recherchierten, redigierten Inhalts-) Quellen genutzt werden, am höchsten.
Hängt also auch vom Einsatzzweck ab, aber die KI „versteht“ auch kleine Fehler, manchmal vielleicht sogar besser als ein „normaler“ Mensch. 😉
Übertriebenes Beispiel: „laaangweilig“ 😁
Satzzeichen
Bei Satzzeichen würden mich tatsächlich wissenschaftliche Untersuchungen interessieren!
Meine These ist: Kommas kann man sich sparen, dafür können aber ! und ? den Intent des Users noch besser zur Geltung bringen und wiederum die Wahrscheinlichkeitsgewichtung verschieben.
Es gibt allerdings auch Satzzeichen, die immens wichtig sein können: nämlich die „“! D.h. wenn ich zum Beispiel für den Kontext oder die Instruktion bestimmte Dinge brauche, die über mehr als ein Wort hinausgehen „Erstelle mir einen Abstract über die ‚schöne neue Welt‘!“ dann sind die ‚‘ hilfreich, um klarzumachen, dass ich nicht irgendwas meine, sondern das Buch „Brave new World“ von Aldous Huxley! 😉
Pro Tipp: wenn ich ein konkretes Buch/Werk meine, dann sollte ich das kenntlich machen und auch den Autor nennen, um es noch spezifischer zu machen!
Fazit
Ja, Prompting will gelernt sein. Wichtig ist für mich dabei, dass klar ist, dass es die oben genannten drei Komponenten gibt und, dass diese in einem Prompt klar erkennbar sind.
Natürlich gibt es auch mehr Feinheiten über die Reihenfolge, wie ein Prompt geschrieben wird, welche Sprache verwendet wird und wann ich ausschweifender scheibe und wann kurz.
Aber das ist etwas, was intuitiv über die Nutzung besser werden wird.
Also bitte (! 😜) beherzigt meinen Rat und beachtet bei euren zukünftigen Prompts die drei Komponenten und macht es der KI so einfach wie möglich diese auseinander zu halten, um euch die besten Ergebnisse liefern zu können!
Links
AI Art Prompting Guide | Microsoft Bing
Copilot: AI Prompt Writing 101 | Microsoft Copilot
Five Tips for Prompting AI: How We’re Communicating Better at Microsoft with Microsoft Copilot
Introduction to prompt engineering | Microsoft Learn
Prompt engineering techniques with Azure OpenAI | Microsoft Learn
1 Wie immer gilt: ich schließe explizit niemanden aus und beziehe in jegliches Genus alle anderen mit ein – für die Inklusion und die Lesbarkeit verwende ich immer nur genau ein Genus! 🔙
Kommentare
Eine Antwort zu „KI Prompting: die Achillesferse der Arbeitswelt“
[…] KI Prompting: die Achillesferse der Arbeitswelt – Stephanus Home (st-s.info) […]