Übersicht über Prompt-Strategien

Es gibt keine richtige oder falsche Möglichkeit, einen Prompt zu entwerfen. Es gibt jedoch gängige Strategien, mit denen Sie die Antworten des Modells beeinflussen können. Strenge Tests und Bewertungen sind für die Optimierung der Modellleistung weiterhin von entscheidender Bedeutung.

Large Language Models (LLM) werden mit riesigen Textdaten trainiert, um Muster und Beziehungen zwischen Spracheinheiten zu erlernen. Bei eingegebenem Text (Prompt) können Sprachmodelle vorhersagen, was als Nächstes passieren wird, z. B. ein ausgefeiltes Tool zur automatischen Vervollständigung. Berücksichtigen Sie daher beim Prompt-Design die verschiedenen Faktoren, die Einfluss darauf haben können, was ein Modell als Nächstes vorhersagt.

Prompt Engineering-Workflow

Prompt Engineering ist ein testgesteuerter und iterativer Prozess, der die Modellleistung verbessern kann. Beim Erstellen von Prompts ist es wichtig, die Ziele und erwarteten Ergebnisse für jeden Prompt klar zu definieren und diese systematisch zu testen, um Verbesserungsbereiche zu identifizieren.

Das folgende Diagramm zeigt den Prompt Engineering-Workflow:

Workflow-Diagramm für Prompt Engineering

So erstellen Sie einen effektiven Prompt

Es gibt zwei Aspekte eines Prompts, die sich letztendlich auf seine Effektivität auswirken: Inhalt und Struktur.

  • Content:

    Damit das Modell eine Aufgabe ausführen kann, benötigt es alle relevanten Informationen im Zusammenhang mit der Aufgabe. Diese Informationen können Anleitungen, Beispiele, Kontextinformationen usw. umfassen. Weitere Informationen finden Sie unter Komponenten eines Prompts.

  • Struktur:

    Selbst wenn alle erforderlichen Informationen im Prompt bereitgestellt werden, hilft die Angabe der Informationsstruktur dem Modell beim Parsen der Informationen. Dinge wie die Reihenfolge, die Beschriftung und die Verwendung von Trennzeichen können sich alle auf die Qualität der Antworten auswirken. Ein Beispiel für die Struktur von Prompts finden Sie unter Beispielvorlage für Prompts.

Komponenten eines Prompts

Die folgende Tabelle zeigt die wesentlichen und optionalen Komponenten eines Prompts:

Komponente Beschreibung Beispiel
Ziel Was das Modell erreichen soll. Seien Sie spezifisch und geben Sie allgemeine Ziele an. Auch als „Mission“ oder „Ziel“ bezeichnet. Ihr Ziel ist es, Schülern oder Studenten bei mathematischen Problemen zu helfen, ohne ihnen die Antwort direkt zu geben.
Anleitung Schritt-für-Schritt-Anleitungen zur Ausführung der vorliegenden Aufgabe. Auch als „Aufgabe“, „Schritte“ oder „Anweisung“ bezeichnet.
  1. Verstehen, was das Problem erfordert.
  2. Verstehen, wo der Schüler oder Student feststeckt.
  3. Geben Sie einen Hinweis für den nächsten Schritt des Problems.
Optionale Komponenten
Systemanweisungen

Technische oder umgebungsspezifische Anweisungen, die das Steuern oder Ändern des Modellverhaltens über mehrere Aufgaben hinweg steuern oder ändern können. Bei vielen Modell-APIs werden Systemanweisungen in einem dedizierten Parameter angegeben.

Systemanweisungen sind in Gemini 2.0 Flash und späteren Modellen verfügbar.

Sie sind ein Programmierexperte, der sich auf das Rendering von Code für Frontend-Schnittstellen spezialisiert hat. Wenn ich die Komponente einer Website beschreibe, die ich erstellen möchte, geben Sie den dazu erforderlichen HTML- und CSS-Code zurück. Geben Sie keine Erläuterung für diesen Code an. Bieten Sie außerdem einige Vorschläge für das UI-Design an.
Persona Wer oder was das Modell agiert. Auch als „Rolle“ oder „Vision“ bezeichnet. Sie sind hier ein Mathelehrer, der Schülern und Studenten bei ihren Mathehausaufgaben helfen soll.
Einschränkungen Einschränkungen dafür, was das Modell beim Generieren einer Antwort einhalten muss, einschließlich dessen, was das Modell tun kann und was nicht. Auch als „Leitlinien“, „Grenzen“ oder „Kontrollen“ bezeichnet. Geben Sie dem Schüler oder Studenten die Antwort nicht direkt. Geben Sie stattdessen Hinweise im nächsten Schritt zur Lösung des Problems. Wenn der Schüler oder Student gar nicht mehr weiter weiß, geben Sie ihm die detaillierten Schritte zur Lösung des Problems.
Ton Der Ton der Antwort. Sie können auch den Stil und den Ton beeinflussen, indem Sie eine Identität angeben. Auch als „Stil“, „Stimme“ oder „Stimmung“ bezeichnet. Reagieren Sie auf lockere und technische Weise.
Kontext Alle Informationen, auf die das Modell verweisen muss, um die vorliegende Aufgabe auszuführen. Auch als „Hintergrund“, „Dokumente“ oder „Eingabedaten“ bezeichnet. Eine Kopie der Unterrichtspläne des Schülers/Studenten für Mathematik.
Few-Shot-Beispiele Beispiele für die Antwort, die auf einen bestimmten Prompt aussehen sollte. Auch als „Muster“ oder „Beispiele“ bezeichnet. input: Ich versuche zu berechnen, wie viele Golfbälle in eine Box mit einem Volumen von einem Kubikmeter passen. Ich habe einen Kubikmeter in Kubikzentimeter umgerechnet und durch das Volumen eines Golfballs in Kubikmeter geteilt, aber das System gibt an, dass meine Antwort falsch ist.
output: Golfbälle sind Kugeln und können nicht mit perfekter Effizienz in einen Raum verpackt werden. Bei Ihren Berechnungen wird die maximale Packungseffizienz von Kugeln berücksichtigt.
Begründungsschritte Weisen Sie das Modell an, seine Logik zu erklären. Dies kann manchmal die Logik des Modells verbessern. Auch als „Denkschritte“ bezeichnet. Erläutern Sie Schritt für Schritt Ihre Logik.
Antwortformat Das Format, in dem die Antwort vorliegen soll. Sie können das Modell beispielsweise anweisen, die Antwort in JSON, Tabelle, Markdown, Absatz, Aufzählungsliste, Keywords, Elevator Pitch usw. auszugeben. Auch als „Struktur“, „Präsentation“ oder „Layout“ bezeichnet. Formatieren Sie die Antwort in Markdown.
Zusammenfassung Wiederholen Sie kurz die wichtigsten Punkte des Prompts, insbesondere die Einschränkungen und das Antwortformat am Ende des Prompts. Verraten Sie nicht die Antwort und geben Sie stattdessen Hinweise. Formatieren Sie Ihre Antwort immer im Markdown-Format.
Sicherheitsmaßnahmen Fundiert die Fragen für die Aufgabe des Bots. Sie werden auch als „Sicherheitsregeln“ bezeichnet.

Abhängig von den jeweiligen Aufgaben können Sie einige der optionalen Komponenten ein- oder ausschließen. Sie können auch die Reihenfolge der Komponenten anpassen und prüfen, wie sich dies auf die Antwort auswirken kann.

Beispielvorlage für Prompts

Die folgende Prompt-Vorlage zeigt ein Beispiel dafür, wie ein gut strukturierter Prompt aussehen könnte:

      <OBJECTIVE_AND_PERSONA>
      You are a [insert a persona, such as a "math teacher" or "automotive expert"]. Your task is to...
      </OBJECTIVE_AND_PERSONA>

      <INSTRUCTIONS>
      To complete the task, you need to follow these steps:
      1.
      2.
      ...
      </INSTRUCTIONS>

      ------------- Optional Components ------------

      <CONSTRAINTS>
      Dos and don'ts for the following aspects
      1. Dos
      2. Don'ts
      </CONSTRAINTS>

      <CONTEXT>
      The provided context
      </CONTEXT>

      <OUTPUT_FORMAT>
      The output format must be
      1.
      2.
      ...
      </OUTPUT_FORMAT>

      <FEW_SHOT_EXAMPLES>
      Here we provide some examples:
      1. Example #1
          Input:
          Thoughts:
          Output:
      ...
      </FEW_SHOT_EXAMPLES>

      <RECAP>
      Re-emphasize the key aspects of the prompt, especially the constraints, output format, etc.
      </RECAP>
    

Best Practices

Best Practices für das Prompt-Design sind:

Checkliste für die Prompt-Integrität

Wenn ein Prompt nicht die erwartete Leistung erbringt, können Sie anhand der folgenden Checkliste potenzielle Probleme identifizieren und die Leistung des Prompts verbessern.

Probleme beim Schreiben

  • Tippfehler:Prüfen Sie die Keywords, die die Aufgabe definieren (z. B. sumarize statt summarize), Fachbegriffe oder Namen von Einheiten, da Rechtschreibfehler zu einer schlechten Leistung führen können.
  • Grammatik:Wenn ein Satz schwer zu analysieren ist, ausufernde Satzfragmente enthält, Subjekt und Verb nicht übereinstimmen oder er sich strukturell ungeschickt anfühlt, versteht das Modell die Eingabeaufforderung möglicherweise nicht richtig.
  • Satzzeichen:Achten Sie auf die Verwendung von Kommas, Punkten, Anführungszeichen und anderen Trennzeichen, da eine falsche Interpunktion dazu führen kann, dass das Modell den Prompt falsch interpretiert.
  • Verwendung von undefiniertem Jargon:Vermeiden Sie die Verwendung von domainspezifischen Begriffen, Akronymen oder Initialismen, als ob sie eine universelle Bedeutung hätten, es sei denn, sie werden im Prompt explizit definiert.
  • Klarheit:Wenn Sie sich fragen, was genau Sie tun sollen, welche Schritte erforderlich sind oder welche Annahmen getroffen werden, ist der Prompt wahrscheinlich unklar.
  • Mehrdeutigkeit:Vermeiden Sie subjektive oder relative Qualifizierer, die keine konkrete, messbare Definition haben. Geben Sie stattdessen objektive Einschränkungen an, z. B. „Fasse den Text in maximal drei Sätzen zusammen“ anstelle von „Fasse den Text kurz zusammen“.
  • Fehlende wichtige Informationen:Wenn für die Aufgabe Kenntnisse eines bestimmten Dokuments, einer Unternehmensrichtlinie, eines Nutzerverlaufs oder eines Datensatzes erforderlich sind, muss diese Information explizit im Prompt enthalten sein.
  • Schlechte Wortwahl:Prüfen Sie den Prompt auf unnötig komplexe, vage oder umständliche Formulierungen, da sie das Modell verwirren könnten.
  • Zweite Überprüfung:Wenn das Modell weiterhin schlecht abschneidet, lassen Sie Ihren Prompt von einer anderen Person überprüfen.

Probleme mit Anleitungen und Beispielen

  • Offensichtliche Manipulation: Entfernen Sie aus dem Prompt Formulierungen, die nicht zur eigentlichen Aufgabe gehören und die Leistung durch emotionale Appelle, Schmeichelei oder künstlichen Druck beeinflussen sollen. Bei Foundation Models der ersten Generation konnte die Leistung unter Umständen durch Anweisungen wie „Sehr schlimme Dinge werden passieren, wenn du das nicht richtig machst“ verbessert werden. Bei aktuellen Foundation Models ist dies jedoch nicht mehr der Fall. In vielen Fällen verschlechtert sich die Leistung sogar.
  • Widersprüchliche Anweisungen und Beispiele:Prüfen Sie den Prompt auf logische Widersprüche oder Abweichungen zwischen Anweisungen oder zwischen einer Anweisung und einem Beispiel.
  • Redundante Anweisungen und Beispiele:Sehen Sie sich den Prompt und die Beispiele an und prüfen Sie, ob dieselbe Anweisung oder dasselbe Konzept mehrmals auf leicht unterschiedliche Weise angegeben wird, ohne dass neue Informationen oder Nuancen hinzugefügt werden.
  • Irrelevante Anleitungen und Beispiele:Prüfen Sie, ob alle Anleitungen und Beispiele für die Hauptaufgabe erforderlich sind. Wenn Anleitungen oder Beispiele entfernt werden können, ohne die Fähigkeit des Modells zur Ausführung der Kernaufgabe zu beeinträchtigen, sind sie möglicherweise irrelevant.
  • Verwendung von Few-Shot-Beispielen:Wenn die Aufgabe komplex ist, ein bestimmtes Format erfordert oder einen differenzierten Ton hat, sollten Sie konkrete, anschauliche Beispiele angeben, die eine Beispiel-Eingabe und die entsprechende Ausgabe zeigen.
  • Fehlende Spezifikation des Ausgabeformats:Überlassen Sie es nicht dem Modell, die Struktur der Ausgabe zu erraten. Verwenden Sie stattdessen eine klare, explizite Anleitung, um das Format anzugeben und die Ausgabestruktur in Ihren Beispielen mit wenigen Durchläufen zu zeigen.
  • Fehlende Rollendefinition:Wenn Sie das Modell bitten, in einer bestimmten Rolle zu agieren, muss diese Rolle in den Systemanweisungen definiert sein.

Probleme mit Prompt- und Systemdesign

  • Unzureichend spezifizierte Aufgabe:Achten Sie darauf, dass die Anweisungen im Prompt einen klaren Weg für den Umgang mit Grenz- und unerwarteten Eingaben bieten und Anweisungen für den Umgang mit fehlenden Daten enthalten, anstatt davon auszugehen, dass eingefügte Daten immer vorhanden und wohlgeformt sind.
  • Aufgabe außerhalb der Modellfunktionen:Verwenden Sie keine Prompts, in denen das Modell aufgefordert wird, eine Aufgabe auszuführen, für die es eine bekannte, grundlegende Einschränkung gibt.
  • Zu viele Aufgaben:Wenn das Modell in einem einzigen Durchgang mehrere unterschiedliche kognitive Aktionen ausführen soll (z. B. 1. Zusammenfassen, 2. Entitäten extrahieren, 3. Übersetzen und 4. Wenn Sie beispielsweise den Befehl „Entwirf eine E-Mail“ verwenden, versucht Gemini wahrscheinlich, zu viel zu leisten. Teilen Sie die Anfragen in separate Prompts auf.
  • Nicht standardisiertes Datenformat:Wenn Modellausgaben maschinenlesbar sein oder einem bestimmten Format entsprechen müssen, verwenden Sie einen weit verbreiteten Standard wie JSON, XML, Markdown oder YAML, der von gängigen Bibliotheken geparst werden kann. Wenn Ihr Anwendungsfall ein nicht standardmäßiges Format erfordert, sollten Sie das Modell bitten, die Ausgabe in einem gängigen Format zu erstellen, und dann Code verwenden, um die Ausgabe zu konvertieren.
  • Falsche Reihenfolge der Gedankenkette (Chain of Thought, CoT): Vermeiden Sie Beispiele, in denen das Modell seine endgültige, strukturierte Antwort generiert, bevor es seine schrittweise Argumentation abgeschlossen hat.
  • Widersprüchliche interne Referenzen:Vermeiden Sie es, einen Prompt mit nichtlinearer Logik oder Bedingungen zu schreiben, bei denen das Modell fragmentierte Anweisungen aus verschiedenen Stellen im Prompt zusammensetzen muss.
  • Risiko von Prompt-Injection: Prüfen Sie, ob es explizite Sicherheitsvorkehrungen für nicht vertrauenswürdige Nutzereingaben gibt, die in den Prompt eingefügt werden, da dies ein großes Sicherheitsrisiko darstellen kann.

Nächste Schritte