Haben Sie bereits gemeistert, qualitativ hochwertige Texte von ChatGPT durch mehrere Iterationen zu erhalten, indem Sie die ersten Versionen verfeinern und kritisieren? Was, wenn Sie ähnliche Aufgaben wiederholt lösen müssen und keine Zeit haben, zahlreiche Versionen zu lesen und zu kritisieren? Und was, wenn Sie Ihre Prompts mit Kollegen teilen möchten, die noch nicht gelernt haben, AI effektiv zu „führen“?
Untersuchen wir, wie man Anweisungen für große Sprachmodelle (LLMs) in den oben genannten Situationen erstellt:
- Wie man Prompts schreibt, die keine nachträglichen Klarstellungen erfordern.
- Wie man dafür weniger Zeit aufwendet.
Ich habe Experimente durchgeführt, um mehrere Versionen eines Zero-Shot-Prompts zu vergleichen, wobei das folgende Problem als Beispiel verwendet wurde: Besprechungsprotokollanalyse und kriterienbasierte Bewertung.
Der Fokus dieses Artikels liegt auf der Qualität der Ausgabe für diese spezifische Aufgabe und nicht auf der „Prozentsatz korrekter Antworten über viele Aufgaben hinweg“ wie in LLM-Benchmarks.
Im Abschnitt 3 unten finden Sie die Ergebnisse von Experimenten mit vier beliebten LLMs: GPT-4, Gemini 1.5 Pro, Claude 3 Sonnet und Claude 3 Opus. Für diese spezielle Aufgabe lagen GPT-4 und Opus vorne. Die Quintessenz des Artikels ist jedoch nicht, welche Modelle derzeit an der Spitze stehen. Das ist nicht wichtig, da zukünftige Veröffentlichungen neuer Modelle die Rangliste ändern werden.
Eine andere Frage ist für mich wichtiger:
Wie können wir Zeit beim Erstellen von Prompts sparen und dennoch hochwertige Ausgaben beim ersten Versuch erzielen?
Können wir auf solche Techniken der Prompterstellung wie das Strukturieren langer Prompts verzichten?
1. Zu untersuchende Prompts
Schauen wir uns ein Prompt an, das entwickelt wurde, um Besprechungsprotokolle zu analysieren, Bewertungen basierend auf bestimmten Kriterien bereitzustellen und Empfehlungen zur Verbesserung zu geben. Solche Aufgaben können Managern, Mentoren und anderen Personen, die häufig Besprechungen abhalten, erheblich helfen.
Konkret sind unten verschiedene Versionen eines Prompts zur Analyse täglicher Besprechungen (Daily Scrums) aufgeführt. Dieses Prompt ist besonders nützlich für Scrum Master und Agile Coaches. Es bietet dem Benutzer eine Liste von sieben Standardkriterien zur Bewertung der Besprechungsqualität, die durch Verkürzen oder Erweitern der Liste angepasst werden können. Das Prompt sollte Bewertungen für die Kriterien (auf einer Skala von 10), detaillierte Erklärungen für jede Bewertung und Empfehlungen für die Scrum Master (nur für Bewertungen unter 9) liefern.
1.1. Kurzes Prompt
Beginnen wir damit, die Aufgabe so kurz wie möglich zu beschreiben.
Sogar in diesem kurzen Prompt werden die Bewertungskriterien für Besprechungen detailliert beschrieben, da sie im Artikel nicht untersucht werden. Die verschiedenen Versionen des Prompts haben genau die gleichen Kriterien, variieren jedoch in anderen Aspekten.
1.2. Unstrukturierter ausführlicher Prompt
Als nächstes geben wir detailliertere Anweisungen, vermeiden jedoch jegliche Strukturelemente oder Textformatierungen.
Prompt #2 (langer Text, keine Struktur)
1.3. Strukturierter ausführlicher Prompt
Es gibt eine vernünftige Annahme, dass lange Texte ohne Trennzeichen, Listen oder Überschriften für Modelle schwerer zu verstehen sind. Daher fügen wir in Version #3 des Prompts Listen und Überschriften hinzu, ohne den Inhalt von Version #2 zu ändern:
Prompt #3 (strukturierter langer Text)
In diesem Fall wird das Markdown-Format verwendet: Überschriften werden mit Rautezeichen (#) markiert und Listenelemente mit Bindestrichen. Das Format ist jedoch nicht entscheidend; moderne LLMs liefern ähnliche Ausgaben unabhängig vom spezifischen Format (und können Formatierungen sogar vollständig ignorieren, wie unten diskutiert wird).
1.4. Schritt-für-Schritt-Anweisungen
Wenn wir möchten, dass AI mehrere Aktionen in Reihenfolge ausführt (insbesondere wenn einige Aktionen bedingt sind), ist es logisch, die Aufgabe in einzelne Schritte zu unterteilen. Hier ist, wie es umgesetzt werden kann:
Prompt #4 (strukturierter langer Text mit Schritten)
In diesem Fall hat die Größe des Prompts durch die schrittweise Ausarbeitung erheblich zugenommen. Ob die Ausgaben eine solche Größe und Komplexität rechtfertigen, bleibt eine Frage für Experimente. Es ist möglich, dass größere Prompts das Modell eher verwirren als zu den gewünschten Ergebnissen führen.
2. Beschreibung des Experiments
Wir werden die vier oben gezeigten Prompts vergleichen:
- Kurzes Prompt: 210 Token. Es verwendet keine Techniken der Prompterstellung außer einer kurzen Persona-Zuweisung („Du bist ein erfahrener Scrum-Master“). Insbesondere gibt es nicht das Format der Bewertungen in der Ausgabe an.
- Unstrukturierter ausführlicher Prompt: 406 Token. Es enthält die gleichen Wörter wie die nächsten beiden Versionen, jedoch ohne Struktur (keine Überschriften oder Listen).
- Strukturierter ausführlicher Prompt: 461 Token. Es enthält Abschnitte, die durch Überschriften gekennzeichnet sind, sowie eine Liste von „Regeln“, jedoch ohne nummerierte Schritte.
- Schritt-für-Schritt-Ausführlicher Prompt: 520 Token. Es enthält explizite Schritte zusätzlich zu den Abschnitten.
Jedes Prompt enthält die gleiche Liste von Besprechungsqualität-Kriterien, die angeben, wie man Bewertungen erhält und Erklärungen schreibt. Dies fügt jedem Prompt insgesamt
560 Token hinzu.
2.1. Eingaben und Parameter
Jedes Experiment testet das Prompt an drei Besprechungsprotokollen (unterschiedlich in Länge und Qualität). Zusätzlich zu den Protokollen sind folgende Eingabedaten enthalten:
- Meeting 1: Bewertung unter Verwendung aller Kriterien.
- Meeting 2: Bewertung unter Verwendung der Kriterien 3-7.
- Meeting 3: Aufforderung, die Namen der Teilnehmer in den Bewertungserklärungen zu erwähnen.
In allen Experimenten wird der Parameter temperature=0.2 verwendet, um die „Kreativität“ des LLMs zu begrenzen. Nicht alle Modelle reagieren jedoch gut auf den im Prompt festgelegten Temperaturwert.
2.2. Ausgabequalität-Metrik
Der nächste Abschnitt präsentiert die experimentellen Ergebnisse basierend auf der „Anzahl der Fehler“. Fehler treten im Allgemeinen auf, wenn das Modell das Prompt in bestimmten Aspekten (potenziell wichtig für den Benutzer) nicht befolgt oder wenn der Text einige Details vermisst. Beispiele für Fehler sind: „Erklärungen enthalten keine Teilnehmernamen“, „Das Modell gibt Empfehlungen für hohe Bewertungen“ (oder umgekehrt, keine Empfehlungen für niedrige Bewertungen), „Empfehlungen fehlen konkrete Aktionen“, „Es gibt keinen Vorschlag, am Ende ein weiteres Protokoll bereitzustellen.“
Eine detaillierte Tabelle, die die Fehler jeder Ausgabe zeigt, ist hier verfügbar.
Es ist erwähnenswert, dass LLMs probabilistischer Natur sind: Sie können leicht unterschiedliche Ausgaben in aufeinanderfolgenden Läufen mit demselben Kontext erzeugen, selbst bei temperature=0. Die Ausgaben von zwei Läufen derselben Prompt-Version auf demselben Modell mit identischen Daten können manchmal um den Faktor 2 oder mehr variieren (unter Verwendung der oben genannten Metrik). Dieser Effekt wird unten teilweise gemildert, da für jedes Modell drei Protokolle analysiert wurden.
Mit einer kleinen Anzahl von Läufen ist es unmöglich, statistisch signifikante Schlussfolgerungen über Unterschiede zwischen Prompts zu ziehen. Solche Erkenntnisse überlassen wir den Forschern.
Das Ziel dieses Artikels ist keine quantitative Forschung, sondern eine qualitative Schlussfolgerung darüber, ob es sich lohnt, die Größe und Komplexität des Prompts zu erhöhen.
3. Experimentelle Ergebnisse: Vergleich der Prompts
Experimente wurden an fünf Modellen durchgeführt:
- Gemini 1.5 Pro in der Google AI Studio Anwendung.
- GPT-3.5 in der ChatGPT Anwendung. Die Ergebnisse dieses älteren Modells geben Einblicke, wie stark LLMs im letzten Jahr verbessert wurden.
- GPT-4 in der ChatGPT Anwendung, insbesondere durch einen benutzerdefinierten GPT (die Anweisungen wurden im Systemprompt und nicht in der ersten Chatnachricht bereitgestellt).
- Claude 3 Sonnet in der claude.ai Anwendung.
- Claude 3 Opus ohne App, direkt über die API, insbesondere über console.anthropic.com (das Prompt wurde als Systemprompt angegeben und die Temperatur wurde explizit eingestellt).
Warum habe ich die Anwendungen erwähnt, die verwendet wurden, um auf die LLMs zuzugreifen? Dieser Artikel richtet sich an Benutzer von AI-Apps und nicht an Entwickler. Eine Anwendung kann den Kontext beeinflussen, der an ein LLM weitergegeben wird. In der Praxis wirkt sich dies jedoch nur auf die Ausgabe aus, wenn die Kontextgröße das maximale Limit des Modells erreicht und die App den Kontext kürzt (z. B. durch Zusammenfassen von Teilen des Kontexts). In meinen Experimenten betrug die Gesamtgröße des Chatkontexts etwa 8.500 Token, was deutlich kleiner ist als das maximale Kontextfenster eines dieser Modelle.
Hier sind also die Ergebnisse:
Ergebnisübersicht für verschiedene Prompts. Je höher die Zahl, desto schlechter die Ausgabequalität.
Die bemerkenswerteste Erkenntnis ist die hervorragende Leistung des kürzesten Prompts, #1. Ohne GPT-3.5 erzeugten die anderen Modelle durchschnittlich nur 4,8 Fehler für dieses Prompt, was dem detaillierten Prompt #2 entspricht.
Es ist auch bemerkenswert, dass es keine signifikanten Unterschiede zwischen den strukturierten und unstrukturierten langen Prompts über alle Modelle hinweg gibt. Mit anderen Worten, das Hinzufügen von Überschriften und Aufzählungspunkten hat keinen Einfluss auf moderne LLMs – sie können die Struktur des Textes auch ohne sie verstehen.
Weitere Details zum Vergleich der Prompts einschließlich der durchschnittlichen Anzahl von Fehlern und meiner Einschätzung des Aufwands zur Erstellung des Prompts finden Sie in der Tabelle unten. Wenn Sie mobil unterwegs sind, müssen Sie auf die Tabellenzeile tippen, um den vollständigen Datensatz anzuzeigen (einschließlich der GPT-3.5-Ergebnisse, die nicht gemittelt sind, da sie im Vergleich zu den anderen Modellen zu schlecht sind).
Um den vollständigen Text des Chats mit einem Modell für ein Prompt anzuzeigen, klicken Sie auf die Zelle in dieser Tabelle.
4. Einige Worte zur Wahl des richtigen Modells für eine Aufgabe
Wie ich in der Einleitung erwähnte, sollten Sie keine Schlussfolgerungen über die allgemeine Qualität der Modelle basierend auf solch einfachen Experimenten ziehen. Um solche Schlussfolgerungen zu erhalten, gibt es umfassende LLM-Benchmarks, die auf Tausenden von Bewertungen über eine Vielzahl von Aufgaben hinweg basieren.
Insbesondere sollten Sie nicht annehmen, dass Gemini 1.5 Pro schlechter ist als Modelle, die in Abschnitt 3 weniger „Fehler“ aufwiesen. Persönlich bevorzugte ich die spezifischen Erklärungen von Gemini – darüber, was bei Besprechungen geschah – im Vergleich zu den allgemeineren Erklärungen von GPT-4.
Im Gegensatz zur Gesamtanzahl der Fehler für jedes Modell scheinen spezielle Fehler für meine Arbeit sehr hilfreich zu sein. Ich kann jetzt fundiertere Entscheidungen treffen, wenn ich ein Modell für verschiedene Aufgaben auswähle. Zum Beispiel:
- Wenn ich ein Modell benötige, das einem langen Prompt genau folgt, ist Claude 3 Opus derzeit die beste Wahl.
- Wenn ich spezifische Fakten aus langen Texten extrahieren möchte, würde ich hauptsächlich Gemini in Betracht ziehen.
- Wenn ich keine Zeit habe, meine Bedürfnisse im Detail zu beschreiben, würde ich GPT-4 bevorzugen, das oft die Bedürfnisse des Benutzers ableitet und „ergänzt“.
Um ein ähnliches Verständnis zu erlangen, könnte auch meine Fehler-Tabelle nützlich sein.
5. Fazit
Die Experimente zeigen, dass die Verwendung eines kurzen Prompts oft Ausgaben liefert, die genauso gut sind wie die Ausgaben strukturierter Prompts mit doppelt so vielen Wörtern.
Wir sollten uns also zurückhalten, wenn wir ein langes Prompt schreiben möchten, das alle unsere Gedanken zur Aufgabe enthält:
- Das Hinzufügen von „Schritt 1,“ „Schritt 2,“ usw. zu einem Prompt ist ziemlich riskant. LLM ist kein Programm und kann durch aufeinanderfolgende Schritte verwirrt werden. Darüber hinaus könnte das Modell beginnen, Schritte an den Benutzer zu schreiben, was normalerweise seltsam erscheint.
- Die beiden besten Modelle – gpt-4-turbo-2024-04-09 und claude-3-opus-20240229 – können jedochgrößere Prompts, die mehrere Schritte enthalten, außergewöhnlich gut verarbeiten. Wenn Sie also in Schritten denken, können Sie Schritt-für-Schritt-Anweisungen für GPT-4 und Opus schreiben. Verlassen Sie sich jedoch nicht darauf als Strategie zur Qualitätsverbesserung, da Sie Ihre Zeit sparen können, indem Sie die gleiche Qualität ohne die Beschreibung von Schritten erzielen.
- Die meisten Modelle „mögen“ größere Prompts nicht. Nur Claude 3 Opus reagiert positiv auf eine Erhöhung der Promptgröße (obwohl diese Beobachtung durch wiederholte Experimente überprüft werden muss).
Interessanterweise ist Claude 3 Opus am besten darin, detaillierten Prompts zu folgen, insbesondere im Vergleich zu Open AI-Modellen, die dazu neigen zu verallgemeinern, vom Prompt abzuweichen und ihre „Kreativität“ zu zeigen. GPT-4 versteht jedoch das kürzeste Prompt außergewöhnlich gut, im Gegensatz zu Opus. Offensichtlich sind die Schwächen eines Modells die Kehrseite seiner Stärken.
Natürlich haben die quantitativen Ergebnisse dieses Artikels einen engen Anwendungsbereich. Der Anwendungsbereich ist „Transkriptanalyse nach Kriterien“, die relativ komplexe Logik beinhaltet und folglich eine große Größe der Prompts erfordert (sogar das kürzeste Prompt #1 ist ziemlich groß, etwa 200 Wörter).
Wenn Sie nach umfassenderen vergleichenden Forschungen zur Qualität der AI-Ausgabe suchen, würde ich empfehlen, die Methodik von Megan Skalbeck für Prompt-Tests zu überprüfen:
Die Verwendung solcher Methodiken kann jedoch ziemlich kostspielig sein, insbesondere da die Tests mit jeder neuen LLM-Version wiederholt werden müssen. Daher macht es nur für Forscher und diejenigen, die AI-basierte kommerzielle Produkte entwickeln, Sinn.
Für uns, die AI Benutzer, reicht es aus, allgemeine Ratschläge zu haben, welche Techniken der Prompterstellung in verschiedenen Situationen tatsächlich einen Mehrwert bieten. Es kann uns helfen, Zeit zu sparen, indem wir unnötige Techniken vermeiden.
Hier ist der zweite Teil dieses Artikels: