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:
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. |
|
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. Eine Systemanleitung ist nur in Gemini 1.5 Pro 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:
- Klare und spezifische Anleitung geben
- Few-Shot-Beispielen einfügen
- Eine Rolle zuweisen
- Kontextinformationen hinzufügen
- Systemanweisung verwenden
- Struktur-Prompts
- Weisen Sie das Modell an, seine Logik zu erklären.
- Komplexe Aufgaben aufschlüsseln
- Mit Parameterwerten experimentieren
- Strategien für Prompt-Iteration
Nächste Schritte
- Weitere Beispiele für Prompts finden Sie in der Prompt-Galerie.
- Mit dem Vertex AI Prompt Optimizer (Vorabversion) können Sie Prompts für die Verwendung mit Google-Modellen optimieren.
- Verantwortungsbewusste Best Practices für KI und Sicherheitsfilter von Vertex AI