Einführung
Wenn die neuesten Demos von OpenAI und Google ein Hinweis sind, dann steuern wir auf eine Zukunft zu, in der das Sprechen mit Sprachassistenten und Sprachanwendungen genauso üblich sein könnte wie das Plaudern mit einem Freund.
Im Grunde haben wir es mit einer neuen Ära der Mensch-Maschine-Kommunikation zu tun, die mehrere Science-Fiction-Autoren und Filmproduzenten in ihrer Kunst eingefangen haben.
Anders als bei typischen Softwaresystemen, bei denen eine einfache Navigation oder das Klicken auf Schaltflächen im Vordergrund steht, befinden wir uns an einem bequemeren und einfacheren Ort; schließlich haben wir es mit menschlicher Sprache zu tun.
Wie sich herausstellt, ist die sprachbasierte Kommunikation mit unseren hilfreichen Assistenten zwar einfach, aber nicht simpel.
Sprache ist selten einfach, da sie so viele Nuancen aufweist. In diesem Fall beeinflusst jedoch die Formulierung der Frage maßgeblich die Artikulation, den Stil und die Klarheit der Antworten.
Wenn Sie auf eine Schaltfläche klicken, erhalten Sie standardmäßige oder allgemein erwartete Antworten. Ihre Erfahrung bei der Nutzung eines KI-Assistenten sowie die Erfahrung eines Freundes mit ähnlichen Fragen können sich jedoch drastisch unterscheiden.
Tatsächlich hängt die Qualität der von einem vortrainierten und ausgerichteten LLM (Large Language Model) generierten Antworten direkt von der Qualität der von Ihnen, dem Benutzer, bereitgestellten Prompts oder Anweisungen ab. Die Verwendung der richtigen Methodik zur Erstellung und Anpassung von Prompts kann die Ausgabequalität und -relevanz erheblich verbessern.
Der Titel dieses Artikels erwähnt „26 Prinzipien“. Diese Prinzipien sind in einem Papier mit dem Titel „Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4“ detailliert beschrieben. [1]
Diese Prinzipien behandeln zentrale Prompt-Design-Techniken, die für eine Vielzahl von Anwendungsfällen und Domänen relevant sind. Sie sind einfach genug, um sie zu integrieren, und können Teil des Prompt-Vokabulars und -Stils eines jeden werden.
Als motivierendes Beispiel werfen wir einen Blick auf einen Seite-an-Seite-Vergleich von Prompts, die ohne Prinzipien und solchen, die unter Anwendung der Prinzipien geschrieben wurden (Abbildung 1).
Der Unterschied zwischen beiden ist offensichtlich. In dem Beispiel kann die Anpassung der Prompts zu einer detaillierteren und leichter verständlichen Erklärung desselben Konzepts führen.
Die Vorteile enden hier jedoch nicht. Die Anpassung von Prompts kann auch die Genauigkeit der Ergebnisse verbessern, insbesondere bei mathematischen und logischen Reasoning-Fragen.
Was sind die Prinzipien?
Auf einer übergeordneten Ebene empfehlen die Prinzipien die Verwendung bestimmter Wörter und Phrasen, führen Schlüsselideen wie die Integration von Rollenbeschreibungen, das Hinzufügen von Beispielen, das Bereitstellen von Anweisungen für die Ausgabe, die Betonung bestimmter Prompt-Strukturen und die Einbeziehung von Iteration ein.
Nicht alle Prinzipien finden in allen Szenarien Anwendung, und sie können tatsächlich je nach Anwendungsfall auf verschiedene Weise kombiniert werden.
Diese Prinzipien lassen sich in zwei große Kategorien einteilen und unter 10 Herangehensweisen auf höherer Ebene und 5 spezialisierten Prompts gruppieren.
Werfen wir zunächst einen Blick auf die Herangehensweisen. Jede Herangehensweise bündelt mehrere Prinzipien. Für jedes Prinzip werden ein oder mehrere Beispiele bereitgestellt.
Herangehensweise 1: Verwendung (oder Vermeidung) bestimmter Wörter und Phrasen
Prinzip: Komm direkt zum Punkt.
Wenn Sie konzisere Antworten bevorzugen, müssen Sie bei LLMs nicht höflich sein. Es ist nicht nötig, Phrasen wie „bitte“, „wenn es Ihnen nichts ausmacht“, „danke“, „ich möchte gerne“ usw. hinzuzufügen. Kommen Sie direkt zum Punkt.
Anstatt „Könnten Sie bitte freundlicherweise die Struktur einer menschlichen Zelle beschreiben?“ sagen Sie einfach „die Struktur einer menschlichen Zelle“.
Prinzip: Verwenden Sie bestätigende Direktiven wie „tu“ und vermeiden Sie negative Formulierungen wie „tu nicht“.
„Wie bleiben Gebäude während Erdbeben stabil?“
Prinzip: Wenn Sie mehr Klarheit oder ein tieferes Verständnis eines Themas, einer Idee oder einer beliebigen Information benötigen, verwenden Sie folgende Prompts:
- Erklär mir wie einem Elfjährigen: Wie funktioniert Verschlüsselung?
- Erklär [spezielles Thema einfügen] in einfachen Worten.
- Erklär es mir, als wäre ich ein Anfänger auf [Fachgebiet].
- Erklär es mir, als wäre ich ein Experte auf [Fachgebiet].
- „Verfassen Sie den [Aufsatz/Text/Absatz] unter Verwendung einfachen Englisch, als würden Sie etwas einem Fünfjährigen erklären“.
Prinzip: Nehmen Sie folgende Phrasen auf: „Deine Aufgabe ist es“ und „Du MUSST“.
„Deine Aufgabe ist es, den Wasserkreislauf deinem Freund zu erklären. Du MUSST eine einfache Sprache verwenden.“
Herangehensweise 2: Belohnung oder Drohung
Prinzip: Fügen Sie „Ich gebe xxxxx$ für eine bessere Lösung“ hinzu.
„Ich gebe 300.000 $ für eine bessere Lösung! Erklären Sie das Konzept der dynamischen Programmierung und nennen Sie einen Anwendungsfall als Beispiel.“
Prinzip: Nehmen Sie folgende Phrasen auf: „Du wirst bestraft“.
„Deine Aufgabe ist es, den Wasserkreislauf deinem Freund zu erklären. Du wirst bestraft, wenn du es nicht schaffst, eine einfache Sprache zu verwenden.“
Herangehensweise 3: Chain of Thought – Schrittfür Schritt denken
Dies ist eine der wichtigsten Phrasen für diejenigen, die Mathematik lieben. Sie zwingt das Modell, eine mehrstufige Denkweise anzuwenden.
Prinzip: Verwenden Sie Leitwörter wie „Denken Sie Schritt für Schritt“.
„Schreiben Sie einen Python-Code, um durch 10 Zahlen zu iterieren und alle aufzusummieren. Lass uns Schritt für Schritt denken.“
Herangehensweise 4: Rolle zuweisen
Prinzip: Weisen Sie den Large Language Models (LLMs) eine Rolle zu.
„Wenn du ein Wirtschaftsexperte wärst, wie würdest du diese Frage beantworten: Was sind die Hauptunterschiede zwischen einem kapitalistischen und einem sozialistischen Wirtschaftssystem?“
Herangehensweise 5: Publikum einbeziehen
Prinzip: Integrieren Sie das beabsichtigte Publikum in den Prompt, z.B. ist das Publikum ein Experte auf dem Gebiet.
„Erstellen Sie eine Übersicht darüber, wie Smartphones funktionieren, für Senioren, die noch nie eines benutzt haben.“
Herangehensweise 6: Iteration einbeziehen
Prinzip: Unterteilen Sie komplexe Aufgaben in eine Sequenz einfacherer Prompts in einem interaktiven Gespräch.
Ein komplexer Prompt kann wie folgt in 3 Teile aufgeteilt werden:
„P1: Verteilen Sie das negative Vorzeichen auf jeden Term innerhalb der Klammern der folgenden Gleichung: 2x + 3y – (4x – 5y)“
„P2: Kombinieren Sie gleichartige Terme für ‚x‘ und ‚y‘ getrennt.“
„P3: Geben Sie den vereinfachten Ausdruck nach der Kombination der Terme an.“
Prinzip: Erlauben Sie dem Modell, genaue Details und Anforderungen von Ihnen einzuholen, indem Sie ihm Fragen stellen, bis es genügend Informationen hat, um die benötigte Ausgabe zu liefern (beispielsweise: „Von nun an möchte ich, dass Sie mir Fragen stellen, bis…“).
„Von nun an stellen Sie mir Fragen, bis Sie genügend Informationen haben, um einen personalisierten Fitnesskurs zu erstellen.“
Herangehensweise 7: Beispiele geben
Prinzip: Setzen Sie beispielbasiertes Prompting ein (Verwenden Sie Few-Shot-Prompting).
„Übersetzen Sie den folgenden englischen Satz ins Französische: ‚The sky is blue.'“
(Antwort: „Le ciel est bleu.“)
„Übersetzen Sie den folgenden englischen Satz ins Spanische: ‚I love books.'“
(Antwort: „Amo los libros.“)
Prinzip: Kombinieren Sie Chain-of-thought (CoT) mit Few-Shot-Prompts.
„Teile 10 durch 2. Zunächst nimmst du 10 und teilst es durch 2. Das Ergebnis ist 5.“
„Teile 20 durch 4. Zunächst nimmst du 20 und teilst es durch 4. Das Ergebnis ist 5.“
„Hauptfrage: ‚Teile 30 durch 6. Zunächst nimmst du 30 und teilst es durch 6. Das Ergebnis ist…?'“
Herangehensweise 8: Bestimmte Formate einbeziehen
Prinzip: Beginnen Sie beim Formatieren Ihres Prompts mit ‚###Anweisung###‘, gefolgt von entweder ‚###Beispiel###‘ oder ‚###Frage###‘, falls relevant.
Präsentieren Sie anschließend Ihren Inhalt. Verwenden Sie einen oder mehrere Zeilenumbrüche, um Anweisungen, Beispiele, Fragen, Kontexte und Eingabedaten zu trennen.
„###Anweisung### Übersetzen Sie ein gegebenes Wort vom Englischen ins Französische. ###Frage### Wie lautet das französische Wort für ‚book‘?“
Prinzip: Verwenden Sie Trennzeichen.
„Verfassen Sie einen überzeugenden Aufsatz über die Bedeutung von ‚erneuerbaren Energiequellen‘ zur Reduzierung von Treibhausgasemissionen.“
Herangehensweise 9: Stil kontrollieren
Prinzip: Verwenden Sie in Ihren Prompts die Phrase „Beantworten Sie eine Frage auf natürliche, menschliche Art und Weise“.
„Schreiben Sie einen Absatz über gesunde Ernährung. Beantworten Sie eine Frage auf natürliche, menschliche Art und Weise.“
Prinzip: Fügen Sie Ihrem Prompt den folgenden Satz hinzu: „Stellen Sie sicher, dass Ihre Antwort unvoreingenommen ist und sich nicht auf Stereotype stützt.“
„Wie beeinflussen kulturelle Hintergründe die Wahrnehmung der psychischen Gesundheit? Stellen Sie sicher, dass Ihre Antwort unvoreingenommen ist und sich nicht auf Stereotype stützt.“
Prinzip: Wiederholen Sie ein bestimmtes Wort oder eine bestimmte Phrase innerhalb eines Prompts mehrmals.
„Evolution als Konzept hat die Entwicklung von Arten geprägt. Was sind die Haupttriebfedern der Evolution und wie hat die Evolution den modernen Menschen beeinflusst?“
Prinzip: Verwenden Sie Ausgabe-Primer, bei denen Ihr Prompt mit dem Beginn der gewünschten Ausgabe abgeschlossen wird. Nutzen Sie Ausgabe-Primer, indem Sie Ihren Prompt mit dem Beginn der erwarteten Antwort beenden.
„Beschreiben Sie das Prinzip des Ersten Newtonschen Bewegungsgesetzes. Erklärung:“
Herangehensweise 10: Klarheit
Prinzip: Geben Sie klar die Anforderungen an, denen das Modell folgen muss, um Inhalte zu produzieren, in Form von Schlüsselwörtern, Vorschriften, Hinweisen oder Anweisungen.
„Erstellen Sie eine Packliste für einen Strandurlaub und nehmen Sie die folgenden Schlüsselwörter „Sonnencreme“, „Badeanzug“ und „Strandtuch“ als unverzichtbare Gegenstände auf.“
Als Nächstes werden wir uns Prompt-Wörter oder -Techniken für spezifische Anwendungsszenarien ansehen.
Anwendungsfall 1 – Selbsttest
Um nach einem bestimmten Thema, einer Idee oder einer beliebigen Information zu fragen und Ihr Verständnis zu testen, können Sie folgende Phrase verwenden:
Erkläre mir [Theorem/Thema/Regelnamen] und füge am Ende einen Test ein, und lass mich wissen, ob meine Antworten korrekt sind, nachdem ich geantwortet habe, ohne vorher die Antworten zu geben.
„Erkläre mir das KVL-Gesetz und füge am Ende einen Test ein, und lass mich wissen, ob meine Antworten richtig sind, nachdem ich geantwortet habe, ohne vorher die Antworten zu geben.“
Anwendungsfall 2 – Ausführlichen Text schreiben
Um einen detaillierten Aufsatz/Text/Absatz/Artikel oder einen beliebigen Texttyp zu verfassen Schreiben Sie für mich einen detaillierten [Aufsatz/Text/Absatz] über [Thema] unter Hinzufügung aller notwendigen Informationen.
„Schreiben Sie für mich einen detaillierten Absatz über die Evolution von Smartphones, indem Sie alle notwendigen Informationen hinzufügen.“
Um einen Text wie einen Aufsatz oder Absatz zu schreiben, der einem bereitgestellten Beispiel ähnlich sein soll, fügen Sie folgende Anweisungen ein:
Verwenden Sie die gleiche Sprache basierend auf dem bereitgestellten Absatz[/Titel/Text/Aufsatz/Antwort].
„Die sanften Wellen flüsterten von längst vergangenen Epochen, jede Geschichte eine flüchtige Erinnerung.“ Verwenden Sie basierend auf dem bereitgestellten Text die gleiche Sprache, um die Interaktion eines Berges mit dem Wind darzustellen.
Anwendungsfall 3 – Textreviewer
Um bestimmten Text ohne Änderung des Stils zu korrigieren/ändern:
Versuchen Sie, jeden von Benutzern gesendeten Absatz zu überarbeiten. Sie sollten nur die Grammatik und den Wortschatz des Benutzers verbessern und dafür sorgen, dass es natürlich klingt. Sie sollten den ursprünglichen Schreibstil beibehalten und sicherstellen, dass ein formeller Absatz formell bleibt.
„Versuchen Sie, jeden von Benutzern gesendeten Text zu überarbeiten. Sie sollten nur die Grammatik und den Wortschatz des Benutzers verbessern und dafür sorgen, dass es natürlich klingt. Sie sollten den ursprünglichen Schreibstil beibehalten und sicherstellen, dass ein formeller Absatz formell bleibt. Absatz: Erneuerbare Energien sind wirklich wichtig für die Zukunft unseres Planeten. Sie stammt aus natürlichen…“
Anwendungsfall 4 – Coding-Prompt
Wenn Sie einen komplexen Coding-Prompt haben, der sich über mehrere Dateien erstrecken kann:
Ab sofort und wann immer Sie Code generieren, der sich über mehr als eine Datei erstreckt, generieren Sie ein [Programmiersprache]-Skript, das ausgeführt werden kann, um automatisch die angegebenen Dateien zu erstellen oder Änderungen an bestehenden Dateien vorzunehmen, um den generierten Code einzufügen. [Ihre Frage]
„Generieren Sie Code, der sich über mehr als eine Datei erstreckt, und erstellen Sie ein Python-Skript, das ausgeführt werden kann, um automatisch die angegebenen Dateien für ein Django-Projekt mit zwei grundlegenden Apps für unterschiedliche Funktionalitäten zu erstellen.“
Anwendungsfall 5 – Content Writer
Wenn Sie einen Text mithilfe bestimmter Wörter, Phrasen oder Sätze initiieren oder fortsetzen möchten, verwenden Sie folgenden Prompt:
Ich stelle Ihnen den Anfang [Songtexte/Geschichte/Absatz/Aufsatz…] zur Verfügung: [Reime/Wörter/Satz einfügen]. Vollenden Sie ihn basierend auf den bereitgestellten Wörtern. Behalten Sie den Fluss bei.
„Ich stelle Ihnen den Anfang einer Fantasy-Geschichte zur Verfügung: ‚Die nebligen Berge bargen Geheimnisse, die kein Mensch kannte.‘ Vollenden Sie sie basierend auf den bereitgestellten Worten. Behalten Sie den Fluss bei.“
Abschließende Gedanken
Auf einer übergeordneten Ebene erläutert dieser Artikel Prinzipien in Form von Herangehensweisen, die Grundideen des Prompt-Designs beinhalten: Präzision und Klarheit des Prompts, Einbeziehung relevanter Details einschließlich domänenspezifischem Vokabular, Sicherstellung, dass die vom LLM auszuführende Aufgabe klar definiert ist, Einbeziehung von Beispielen für Eingaben und Ausgaben, Vermeidung von voreingenommenen Aussagen und die Verwendung iterativer oder inkrementeller Prompts.
Unser Verständnis der Erstellung und Feinanpassung von Prompts ist laufend. Mit der Zunahme der Anwendungsfälle für LLMs werden sich auch die Prompts und Prompt-Methoden weiterentwickeln, einschließlich der Erstellung großer und komplexer Prompts. Dies wird über die schnellen Prompts hinausgehen, die wir zur Erledigung von Aufgaben verwenden.
Prompt-Bibliotheken mit gut skriptierten Prompts für sich wiederholende Aufgaben sind populär geworden. Die von Anthropic veröffentlichte Prompt-Bibliothek ist extrem umfangreich [2].
Darüber hinaus führt der Einsatz von LLM-Agenten, die im Wesentlichen spezialisierte Prompts und externe Tools wie Suchfunktionen integrieren, zu einem neuen Programmierparadigma, wodurch Prompting sowohl für Endbenutzer als auch für Entwickler wichtig wird.
Für Entwickler gibt es Möglichkeiten, Prompts basierend auf Anwendungsfällen und Metriken wie der Bibliothek DSPy zu optimieren [3].
In seinem Newsletter „The Batch“ spricht Andrew Ng darüber, wie Entwicklerteams „Mega Prompts“ entwerfen, die über einige Sätze hinausgehen und eine oder zwei Seiten lang sein können [4].
Ganz offensichtlich kratzen wir erst an der Oberfläche der menschlich-maschinellen Kommunikation in natürlicher Sprache und müssen in diesen Bereich tiefer „eindringen“.
Ich hoffe, der Artikel hat Ihnen gefallen. Ich freue mich auf Ihre Gedanken!
Referenzen
[1] Bsharat, Sondos Mahmoud, Aidar Myrzakhan, and Zhiqiang Shen. „Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4.“ arXiv preprint arXiv:2312.16171 (2023).
[2] https://docs.anthropic.com/en/prompt-library/library