"A journalist who is also a bad programmer, stylized in the style of Gary Larson"
Midjourney: "A grifter salesman grinning, selling tools to a dumb robot" (who is also grinning)

Besser prompten: Gib der KI gut strukturierte ROMANE!

[Stand: 25. August 2024] – Entwickle nahezu magische Fähigkeiten, die KI zu beherrschen! Werde zum Prompt Engineer! Bring Text-KI wie ChatGPT dazu, dass sie genau das tut, was du von ihr willst. Reich und berühmt und erfolgreich dank nur eines kurzen Blogposts! Mein bewährtes Rezept mit Geld-Zurück-Garantie – nach dem Klick.

Beitragsbild: Midjourney, „/imagine A grifter salesman grinning, selling tools to a dumb robot“

Naja, Rezept. Und Geld zurück gibt’s auch nicht. (Ich nehme ja auch keins.) Aber ich finde, dieser kleine Merksatz ist ganz nützlich, um optimale Ergebnisse aus ChatGPT und anderen Sprach-KI herauszukitzeln:

Setze nichts voraus. Gib der KI gut strukturierte ROMANE.


Dies ist eine aktualisierte und verbesserte Fassung des Original-Artikels aus dem August 2023. Eine Bewertung der ROMANE-Formel nach einem Jahr im Licht neuerer Erkenntnisse und Entwicklungen hier.


„Gut strukturiert“ heißt einfach, dass man die Anweisungen so klar wie möglich gliedern sollte: Durch Absätze, durch Überschriften wie „TEXT:“, durch Aufzählungen mit Bindestrichen. Und ROMANE ist natürlich eine Abkürzung. Die Buchstaben stehen für:

  • (R)olle
  • (O)bjective – Oberstes Ziel
  • (M)eta-Anweisungen
  • (A)nwendungsbeispiele
  • (N)icht zu lang
  • (E)xperimentieren

Zu jedem Buchstaben gibt’s eine kurze Erklärung – in der ich begründe, warum das bei Sprachmodellen wie ChatGPT funktioniert. Ein wenig Theorie-Wissen über die Sprachmodelle und ihre Arbeitsweise gibt’s als Bonus.

Praxisbeispiel: SEO-Spezialist-in-a-box

Als kleine Übungsaufgabe wollen wir uns anschauen, wie ChatGPT mir suchmaschinenoptimierte Überschriften zu einem Text generiert, damit er über Google und Co. besser zu finden ist. Die SEO-Expert:innen mögen es mir verzeihen, ich hoffe aber, dass das Beispiel anschaulich ist.

1. R wie Rolle

Wenn wir ChatGPT aufrufen, ist das Sprachmodell gleichzeitig allwissend und ahnungslos. Auch wenn es aus seinen Trainingsdaten eine unfassbare Breite an Ideen und Informationen kennt, weiß es nicht, welche Art Texte es daraus generieren soll. Und nein: aus den vorigen Chats mit uns hat ChatGPT nichts gelernt, es fängt wieder bei null an. Wir müssen dem Sprachmodell jetzt auf möglichst effiziente Weise vermitteln, welche Art Text es für uns generieren soll.

Wie: Gib dem Sprachmodell eine Rolle vor, in der es antworten soll – und die die nötigen Fähigkeiten für die Aufgabe mitbringt:

Du bist Spezialistin für Suchmaschinen-Optimierung.

Warum es funktioniert: Die KI funktioniert anders als der menschliche Verstand – sie entwickelt kein mentales Modell der Aufgabe, sondern versucht, passende Texte zu generieren. Was passend ist, das bestimmt sie aus den Wörtern, die sie gesehen und schon generiert hat – und bewegt sich von dort aus weiter zu neuen Wörtern, die dann Sätze, Argumente und Lösungen bilden.

Vielleicht kann man es sich so vorstellen: Das Sprachmodell hat alle Themen und Argumentationsweisen und Schreibstile, denen es jemals im Training begegnet ist, gewissermaßen auf einer Karte verzeichnet. (KI-Forscher nennen das den „latenten Raum“.) Es kommt nun darauf an, das Sprachmodell in die richtige Gegend dieser Karte zu schicken.

Generiert mit Midjourney: "A historical map showing words, styles, and topics."

Eine Rolle ist einfach eine effiziente Methode, um der KI einen Kontext zur Aufgabe zu geben – schließlich kann sie die Gesprächssituation nicht wie ein Mensch erfassen. Sie sind außerdem ein verdammt gutes Gegenmittel gegen ChatGPTs flachen, inhaltsleeren Standard-Schreibstil.

Aber natürlich kann eine Rolle auch in die falsche Richtung führen: „Schreib wie ein Radiomoderator“ – das führt fast sicher dazu, dass das Sprachmodell seinen Text mit einer ausschweifenden Begrüßung beginnt. Obskure Rollen – „Sei ein Reliquienschnitzer!“ – führen zu Halluzinationen, also dazu, dass das Sprachmodell Details einfach erfindet. Und übertriebene Rollen – „Sei die intelligenteste Person in diesem Sonnensystem!“ – erzeugen keine besseren Ergebnisse.

2. O wie Objective

Was wollen wir überhaupt erreichen? Das müssen wir der KI vorgeben; wir sollten nicht voraussetzen, dass sie zufällig einen Text generiert, der zu unserer Aufgabe passt.

Wie: Sag dem Sprachmodell, welches Objective – welches oberste Ziel – es verfolgen soll. Tue das präzise und knapp:

Du bist Spezialistin für Suchmaschinen-Optimierung. Generiere 10 Überschriften für den Text, die von Suchmaschinen wie Google gut gefunden werden. 

Warum es funktioniert: Mit der Rollenbeschreibung und der Beschreibung des obersten Ziels hat das Sprachmodell gewissermaßen die wichtigsten Marker auf seiner Karte – und kann in der Umgebung nach passenden Worten suchen.

Rolle und oberstes Ziel – damit kann das Sprachmodell die meisten Aufgaben lösen, auch wenn wir sie damit nicht sehr genau beschrieben haben. Das Modell ist sehr gut darin, Leerstellen zu füllen; wie es sie füllt, dabei spielt der Zufall allerdings eine große Rolle – dazu später noch mehr.

3. M wie Meta-Anweisungen

Meta-Anweisungen – Anweisungen über Anweisungen: Wir helfen dem Sprachmodell, wenn wir ihm Hilfestellungen geben, seine vorher definierte Aufgabe zu lösen – wie man die große Aufgabe in kleinere Teilaufgaben zerlegt.

In unserem SEO-Beispiel haben wir dem Sprachmodell eine Aufgabe gestellt, die ziemlich viel Wissen über die Aufgabe voraussetzt: „Generiere Überschriften, die von Google gut gefunden werden.“ Was sind das für Überschriften? Wir sollten es der Maschine erklären – und die große Aufgabe in zwei kleinere Schritte aufteilen: Suche zunächst Keywords, also die Schlüsselworte, die den Text beschreiben und die Nutzerinnen und Nutzer wahrscheinlich verwenden würden. Nutze die Keywords dann als Basis für Überschriften.

Wie: Gib der Maschine Zwischenschritte vor. Oder frage sie: Welche Zwischenschritte sind nötig, um die Aufgabe zu lösen? In unserem Beispiel:

Du bist Spezialistin für SEO und verfasst suchmaschinenoptimierte Überschriften. Du suchst zu einem Text die Keywords, unter denen Nutzer den Text am ehesten suchen würden, und verfasst auf dieser Grundlage jeweils 10 Überschriften-Vorschläge.
###
TEXT: ...

Damit haben wir eine große Aufgabe in zwei kleinere zerlegt, und das hilft dem Sprachmodell. Dabei kann man sich übrigens auch von der KI helfen lassen; tatsächlich ist einer der erfolgreichsten Tricks, von der KI kleine Zwischenschritte zu verlangen: „Löse die Aufgabe Schritt für Schritt und begründe jeden Schritt“chain-of-thought-prompt heißt das bei den KI-Forschern.

„Meta“ umfasst aber noch mehr als aus einer großen Aufgabe mehrere kleinere zu machen.

  • Wiederhole die Fragestellung, bevor du antwortest. (Eine wissenschaftliche Studie sagt: Das ist überraschend effizient!)
  • Entwickle zunächst einen Plan, um die Aufgabe zu lösen.
  • Beurteile, wie zufriedenstellend deine Antwort ist. Erarbeite dann eine Antwort, die die Schwächen der ersten Lösung ausgleicht.

Warum es funktioniert: Sprachmodelle können nicht denken wie Menschen. Ein Mensch entwickelt im Kopf ein abstraktes Modell des Problems. Ein Sprachmodell kann nur die Konzepte erfassen, die es in Worten ausgedrückt hat – und sich so von einem Konzept zum nächsten, verwandten Konzept bewegen. Vermenschlichend ausgedrückt: man muss die KI dazu bringen, laut zu denken. Der KI-Spezialist und OpenAI-Mitgründer Andre Karpathy sagt es so:

Especially if your tasks require reasoning, you can’t expect the transformer to do too much reasoning per token. And so, you have to really spread out the reasoning across more and more tokens. For example, you can’t give a transformer a very complicated question and expect it to get the answer in a single token. There’s just not enough time for it. These transformers need tokens to „think“.

Besonders, wenn die Aufgabe logische Schlüsse erfordert, kann man nicht erwarten, dass das Transformer[-Modell] zu viele logische Schlüsse pro Token schafft. Also muss man die Schlüsse über mehr und mehr Token verteilen. Zum Beispiel kann man einem Transformer keine sehr komplizierte Frage geben und dann erwarten, dass er die Antwort in einem einzigen Token hinbekommt. Da reicht die Zeit nicht. Diese Transformer brauchen Tokens, um zu „denken“.

(Den Vortrag und das Transkript von Karpathy findet man hier.)

4. A wie Anwendungsbeispiele

Wir wissen, dass ChatGPT kein Gedächtnis hat und aus den Chats mit uns auch nichts dazu lernt. Wir fangen also jedes Mal bei null an – und müssen auf das leere Blatt des neuen Chats jetzt möglichst fokussiert Informationen übergeben.

Nehmen wir an, die Redaktion, für die wir schreiben, formatiert ihre Überschriften – sie beginnen alle mit einer Ortsmarke und sollen eher umgangssprachlich formuliert sein. Das zeigen wir der Maschine am Beispiel.

Wie: Wir erweitern unseren Prompt um einige Beispiele für Überschriften aus Stichworten.

Du bist Spezialistin für SEO und verfasst suchmaschinenoptimierte Überschriften. Du suchst zu einem Text die Suchbegriffe, unter denen Nutzer den Text am ehesten suchen würden, und verfasst auf dieser Grundlage jeweils 10 Überschriften-Vorschläge.
###
TEXTZUSAMMENFASSUNG: In Kassel hat ein ausgebrochenes Känguru für Aufsehen gesorgt. Das Tier war vom Transporter eines Privatzoos geflüchtet und war durch die Innenstadt gehüpft, bis die Polizei es einfangen konnte.
MÖGLICHE SUCHWORTE: Kassel, Känguru, Fußgängerzone, Innenstadt
ÜBERSCHRIFT: Kassel: Känguru-Alarm in der Fußgängerzone - Polizei beendet Stadtbummel
###
TEXT: ...

Die Beispiele bringen die KI dazu, den gewünschen Stil zu imitieren – einige wenige reichen aus.

Wo Anwendungsbeispiele unbedingt nötig sind, ist bei Klassifizierungs- und Bewertungs-Aufgaben, also dann, wenn mir die KI einen Text in eine Kategorie einordnen soll, oder etwas bewerten. Ist das eine Tatsachenbehauptung oder eine Meinung? Beispiele helfen der KI, diese Entscheidung korrekter zu treffen.

Playground-Seite von OpenAI. Sprachmodell Chat/GPT-3.5, folgende Vorgaben: System: Als Populismus bezeichnet man eine politische Grundhaltung, die in radikaler Opposition zu den herrschenden politischen und gesellschaftlichen Eliten steht und für sich selbst reklamiert, den „wahren“ Volkswillen zu erkennen und zu vertreten. Kern dieser Haltung ist die dichotomische Abgrenzung des moralisch guten, tugendhaften Volkes von den als korrupt und selbstsüchtig bezeichneten Vertretern des sogenannten Establishments. Bewerte auf einer Skala von 1 (niedrig) bis 10 (hoch) , wie populistisch die Aussagen sind. User: Wir sagen ja! Wir sagen ja, nicht zur strukturellen Fundamentalopposition, weil wir diesen Staat ja wollen! Wir wollen ihn am Leben erhalten und wir wollen ihn stützen. Wir sagen aber ja zu einer inhaltlichen Fundamentalopposition um diesen Staat, den wir erhalten wollen, vor den verbrauchten politischen Alteliten zu schützen, die ihn nur missbrauchen um ihn abzuschaffen! Das werden wir nicht zulassen, liebe Freunde! Assistant: Populismus: 9 User: Manche mögen Zweifel haben, ob dieser Kontinent, ob Europa den großen Herausforderungen unserer Zeit wirklich gewachsen ist. Und es stimmt ja: Unsere Geschlossenheit und unsere Entschlossenheit werden in diesen Tagen, in diesen Wochen und Monaten auf eine harte Probe gestellt. Wir leben in Zeiten von Umbrüchen. Wir leben in Zeiten des Wandels. Wir leben in einer Zeit, in der sogar der Krieg nach Europa zurückgekehrt ist. Assistant: Populismus: 1

Wer sich auf den OpenAI-Playground wagt – eine Eingabemaske, in der ich am Chatbot vorbei Zugriff auf die GPT-Sprachmodelle habe – hat die Möglichkeit, die Beispiele als Paare von „User“-Eingabe und erwünschter „Assistant“-Antwort anzugeben. Außerdem gibt es zusätzliche Einstellungsmöglichkeiten wie die „Temperatur“, die das Maß an Zufall regelt – die werden noch einmal Extra-Thema.

Warum es funktioniert: KI-Sprachmodelle können Beispiele gut imitieren. „Language Models are few-shot learners“ – sie können aus diesen paar Beispielen dank ihres Vor-Trainings ableiten, wie sie arbeiten sollen. Einige wenige Beispiele reichen – starte mit nur zwei; mehr dazu beim Post über den KI-Nachbau des Bild-Kolumnisten Franz Josef Wagner. Wenn die KI etwas in mehrere Kategorien einteilen soll, hilft ein Beispiel für jede

5. N wie Nicht zu lang

„KISS – Keep it short and simple!“ Eine der bewährtesten Regeln für Mails, Aufträge und andere Formen der Kommunikation hilft auch bei Prompts. Gerade die Anwendungsbeispiele aus dem letzten Tipp können dazu führen, dass Prompts regelrecht wuchern. Auch dass moderne Sprachmodelle ziemlich viel Text verarbeiten können, ist eine Versuchung – der Kontext eines Sprachmodells wie Claude 3.5 umfasst 200.000 Token; da passt „Stolz und Vorurteil“ von Jane Austen einmal komplett rein.

Aber: Das ist nicht nur eine teure Lösung – jedes eingegebene Wort kostet bei Nutzung über die API-Schnittstelle Geld – sondern auch häufig eine schlechte.

Wie: Verzichte auf Füllwörter. Konzentriere dich auf wenige Beispiele. Fasse Beispielantworten und benötigte Informationen kompakt zusammen.

Warum es funktioniert: ChatGPT-Nutzerinnen kennen das: in längeren Chats kann es passieren, dass ich dem Modell Dinge noch einmal erklären muss, die ich längst beschrieben habe. Sprachmodelle neigen dazu, zwischendrin nicht so genau aufzupassen – der Anfang und das Ende des Kontextfensters werden wesentlich genauer befolgt, das haben Wissenschaftler mit schlauen Experimenten nachgewiesen. Das kann dazu führen, dass das Sprachmodell in zu langen Prompts die relevanten Informationen nicht findet.

Deshalb: Wichtiges eindampfen und kompakt mitgeben, anstatt sich darauf zu verlassen, dass die künstliche Intelligenz es schon selbst schafft, die wichtigen Informationen aus seitenlangen Quellen zu extrahieren.

6. E wie Experimentiere

Eine der wichtigsten Sachen, die man über generative KI wissen muss: Die Ergebnisse sind extrem stark vom Zufall abhängig – zweimal derselbe Prompt führt immer zu etwas anderen Ergebnissen. Was aber im Umkehrschluss heißt: Es ist vielleicht nicht das falsche Prompt, oder dass die KI es einfach nicht kann. Es kann einfach Pech gewesen sein – starte einen neuen Chat und versuch es nochmal.

Wie: Gehe vor, als wärst du ein Wissenschaftler, der einen neuen Wirkstoff ausprobiert:

  • Probiere ein und denselben Prompt mehrmals.
  • Probiere leichte Variationen und geänderte Formulierungen.
  • Probiere unterschiedliche Sprachmodelle für die Aufgabe.
  • Teste Prompts an einer Sammlung von Beispiel-Aufgaben: Wenn die KI dir Nutzermails bewerten soll, dann stelle dir eine Liste aus Beispiel-Mails und den gewünschten Bewertungen zusammen.
  • Nutze solche Testdatensätze, um zu messen, wie gut ein Sprachmodell eine Aufgabe mit diesem Prompt im Durchschnitt lösen kann.

Warum es funktioniert: Weil Sprachmodelle im wahrsten Sinne des Wortes unberechenbar sind. Ein Wissenschaftler-Team hat mal beobachtet, wie ein kleiner Fehler beim Prompten plötzlich deutlich bessere Ergebnisse brachte – und stoßseufzte daraufhin, Prompten sei immer noch eine schwarze Kunst. Heißt: Kleine Änderungen können komplett andere Ergebnisse bringen.

Viele Menschen beurteilen ein KI-Sprachmodell nach denselben Maßstäben wie Menschen. Zum Beispiel: Wenn ein Prompt beim ersten Mal nicht funktioniert, geben viele Nutzer auf und glauben, die KI kann das nicht – oder sie könnten es nicht. (Studie dazu) Dabei kann die Lösung ganz nahe sein! Versuch macht kluch.

Packungsbeilage

Das ROMANE-Schema ist kein Rundum-Sorglos-Paket. Denk immer daran, welche große Rolle der Zufall spielt – ein Prompt, das im ersten Versuch nur so meh funktioniert hat, kann im neuen Anlauf, im neuen Chat, womöglich richtig gute Ergebnisse liefern. (Wichtig ist nur, dass man dafür wirklich einen neuen Chat aufmacht – dran denken: ChatGPT hat kein Gedächtnis, und lernt auch nichts aus unseren Prompts!) Prompten ist nicht wie programmieren – dass sich eine KI eben nicht so berechenbar verhält wie ein Computerprogramm, kann zu richtig bösen Fehlern führen.

Denn: KI bleibt ein faszinierendes, aber schwieriges Werkzeug. Immer wieder wird sie Eingaben falsch interpretieren und halluzinieren, also Details erfinden. Das führt dazu, dass KI zunehmend im Team eingesetzt wird: anstatt beispielsweise bei einer Zusammenfassung darauf zu hoffen, dass die KI das mit dem richtigen Prompt schon gut macht, hilft es, mehrere Antworten zu erzeugen und in einem weiteren Durchlauf von einem anderen KI-Prompt überprüfen zu lassen – also: die Aufgabe auf mehrere Prompt-Rollen aufzuteilen, die zusammenarbeiten und sich gegenseitig ergänzen und verbessern.

Am Ende ist doch der Mensch verantwortlich für das Endergebnis – weshalb es gut ist, ihm eine feste Rolle im Prozess zu geben; „human in the loop“ nennen das die KI-Bastler, und es ist eine verdammt gute und wichtige Idee.

Und klar: Man braucht nicht immer alle ROMANE-Buchstaben. Anwendungsbeispiele sind dann wichtig, wenn mein Ergebnis möglichst reproduzierbare Ergebnisse liefern soll; für eine Kreativrunde, in der mir ChatGPT neue Ideen liefern soll, sind Beispiele eher kontraproduktiv. Man sollte die ROMANE also als Stichworte verstehen, was man machen kann, nicht, was man machen muss.

 

Ohnehin ist das nicht die einzig richtige Art, gute Prompts zu verfassen – vielleicht schreibt ihr mir ja eure Erfahrungen und Ideen in die Kommentare?

Auch lesenswert:

Kurzlink zu diesem Artikel: https://www.janeggers.tech/romane

Neue Posts einfach per Mail zugeschickt bekommen? Dann hier eintragen; die Mails kannst du natürlich jederzeit wieder abbestellen.

Loading

Kommentare

5 Antworten zu „Besser prompten: Gib der KI gut strukturierte ROMANE!“

  1. […] Erklärung zu ROMANE bei Jan Eggers […]

  2. […] geht anders – und ich hab’s wirklich versucht. Habe zum Beispiel schön nach ROMANE-Schema einen ChatGPT-„Fotokünstler“ angewiesen, alle Dinge aufzuzählen, die ein Bild […]

  3. […] der Folge BZT105 wurde das ROMANE-Schema vorgestellt, das bei der Formulierung von Promts helfen kann. Ich habe dazu einen Structure-Strip […]

  4. […] Prompt Guide OpenAI Prompt Examples OpenAI Strategies for better prompts  Besser prompten: Gib der KI gut strukturierte ROMANE!Prompting Tipps für Claude.aiPrompts for Education: Enhancing Productivity & LearningSnack […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert