Prompt Engineering
Besuchen Sie unser Prompt Engineering Tutorial, um das Prompting durch einen interaktiven Kurs zu erlernen.
Claude bietet von Haus aus eine leistungsstarke Grundlage. Allerdings kann Prompt Engineering dazu beitragen, die Leistung weiter zu verbessern und die Antworten besser an Ihren spezifischen Anwendungsfall anzupassen. Diese Techniken sind nicht unbedingt notwendig, um gute Ergebnisse mit Claude zu erzielen, aber Sie können sie nützlich finden, um Ihre Ein- und Ausgaben zu optimieren.
Um schnell mit einem Prompt loszulegen oder eine Einführung in das Konzept des Prompting zu erhalten, lesen Sie Einführung in Prompting.
Was ist Prompt Engineering?
Prompt Engineering ist eine empirische Wissenschaft, bei der Prompts iterativ getestet und optimiert werden, um die Leistung zu verbessern. Der Großteil des Aufwands beim Prompt Engineering wird nicht in das eigentliche Schreiben der Prompts investiert. Vielmehr wird die meiste Zeit für die Entwicklung eines robusten Satzes von Evaluationen aufgewendet, gefolgt von Tests und Iterationen anhand dieser Evaluationen.
Der Prompt-Entwicklungszyklus
Wir empfehlen einen prinzipienbasierten, testgetriebenen Entwicklungsansatz, um eine optimale Prompt-Leistung sicherzustellen. Lassen Sie uns die wichtigsten Schritte des Prozesses durchgehen, den wir bei der Entwicklung von Prompts für eine Aufgabe verwenden, wie in der begleitenden Abbildung dargestellt.
- Definieren Sie die Aufgabe und Erfolgskriterien: Der erste und wichtigste Schritt besteht darin, die spezifische Aufgabe, die Claude ausführen soll, klar zu definieren. Dies kann alles sein, von Entitätsextraktion, Beantwortung von Fragen oder Textzusammenfassung bis hin zu komplexeren Aufgaben wie Codegenerierung oder kreativem Schreiben. Sobald Sie eine klar definierte Aufgabe haben, legen Sie die Erfolgskriterien fest, die Ihren Evaluations- und Optimierungsprozess leiten werden.
Wichtige zu berücksichtigende Erfolgskriterien sind:- Leistung und Genauigkeit: Wie gut muss das Modell bei der Aufgabe abschneiden?
- Latenz: Was ist die akzeptable Antwortzeit für das Modell? Dies hängt von den Echtzeitanforderungen Ihrer Anwendung und den Erwartungen der Benutzer ab.
- Preis: Wie hoch ist Ihr Budget für den Betrieb des Modells? Berücksichtigen Sie Faktoren wie die Kosten pro API-Aufruf, die Größe des Modells und die Nutzungshäufigkeit.
Klare, messbare Erfolgskriterien von Anfang an helfen Ihnen, während des gesamten Adoptionsprozesses fundierte Entscheidungen zu treffen und sicherzustellen, dass Sie für die richtigen Ziele optimieren.
- Entwickeln Sie Testfälle: Nachdem Sie Ihre Aufgabe und Erfolgskriterien definiert haben, besteht der nächste Schritt darin, eine Vielzahl von Testfällen zu erstellen, die die beabsichtigten Anwendungsfälle für Ihre Anwendung abdecken. Diese sollten sowohl typische Beispiele als auch Grenzfälle enthalten, um sicherzustellen, dass Ihre Prompts robust sind. Gut definierte Testfälle im Voraus ermöglichen es Ihnen, die Leistung Ihrer Prompts objektiv anhand Ihrer Erfolgskriterien zu messen.
- Entwickeln Sie den vorläufigen Prompt: Als nächstes erstellen Sie einen ersten Prompt, der die Aufgabendefinition, Merkmale einer guten Antwort und alle notwendigen Kontextinformationen für Claude enthält. Idealerweise sollten Sie einige Beispiele für kanonische Ein- und Ausgaben hinzufügen, an denen sich Claude orientieren kann. Dieser vorläufige Prompt dient als Ausgangspunkt für die Verfeinerung.
- Testen Sie den Prompt anhand der Testfälle: Speisen Sie Ihre Testfälle mit dem vorläufigen Prompt in Claude ein. Bewerten Sie die Antworten des Modells sorgfältig anhand Ihrer erwarteten Ergebnisse und Erfolgskriterien. Verwenden Sie eine konsistente Bewertungsrubrik, sei es eine menschliche Bewertung, ein Vergleich mit einem Lösungsschlüssel oder sogar eine andere Instanz von Claudes Urteil basierend auf einer Rubrik. Entscheidend ist, dass Sie eine systematische Methode zur Leistungsbewertung haben.
- Verfeinern Sie den Prompt: Basierend auf den Ergebnissen aus Schritt 4, verfeinern Sie Ihren Prompt iterativ, um die Leistung bei den Testfällen zu verbessern und Ihre Erfolgskriterien besser zu erfüllen. Dies kann das Hinzufügen von Klarstellungen, Beispielen oder Einschränkungen beinhalten, um Claudes Verhalten zu steuern. Seien Sie vorsichtig, nicht zu sehr für einen engen Satz von Eingaben zu optimieren, da dies zu Überanpassung und schlechter Verallgemeinerung führen kann.
- Setzen Sie den ausgereiften Prompt ein: Sobald Sie einen Prompt haben, der bei Ihren Testfällen gut abschneidet und Ihre Erfolgskriterien erfüllt, ist es an der Zeit, ihn in Ihrer Anwendung einzusetzen. Überwachen Sie die Leistung des Modells in der Praxis und seien Sie bereit, bei Bedarf weitere Verfeinerungen vorzunehmen. Es können Grenzfälle auftreten, die in Ihrem ursprünglichen Testsatz nicht berücksichtigt wurden.
Während dieses Prozesses lohnt es sich, mit dem leistungsfähigsten Modell und unbegrenzter Promptlänge zu beginnen, um eine Leistungsobergrenze zu etablieren. Sobald Sie die gewünschte Ausgabequalität erreicht haben, können Sie bei Bedarf mit Optimierungen wie kürzeren Prompts oder kleineren Modellen experimentieren, um Latenz und Kosten zu reduzieren.
Wenn Sie dieser testgetriebenen Methodik folgen und Ihre Aufgabe und Erfolgskriterien im Voraus sorgfältig definieren, sind Sie auf dem besten Weg, die Leistung von Claude für Ihren spezifischen Anwendungsfall zu nutzen. Wenn Sie Zeit in die Entwicklung robuster Testfälle und Prompts investieren, werden Sie die Vorteile in Bezug auf Modellleistung und Wartbarkeit ernten.
Prompt Engineering Techniken
Während Ihres Prompt-Entwicklungszyklus gibt es einige Techniken, die Sie anwenden können, um die Leistung von Claude zu verbessern, wie zum Beispiel:
- Seien Sie klar & direkt: Geben Sie klare Anweisungen und Kontext, um Claudes Antworten zu lenken
- Verwenden Sie Beispiele: Fügen Sie Beispiele in Ihre Prompts ein, um das gewünschte Ausgabeformat oder den Stil zu veranschaulichen
- Geben Sie Claude eine Rolle: Bereiten Sie Claude darauf vor, eine bestimmte Rolle (wie die eines Experten) einzunehmen, um die Leistung für Ihren Anwendungsfall zu steigern
- Verwenden Sie XML-Tags: Verwenden Sie XML-Tags, um Prompts und Antworten für mehr Klarheit zu strukturieren
- Verketten Sie Prompts: Teilen Sie komplexe Aufgaben in kleinere, überschaubare Schritte auf, um bessere Ergebnisse zu erzielen
- Lassen Sie Claude denken: Ermutigen Sie zu schrittweisem Denken, um die Qualität von Claudes Ausgabe zu verbessern
- Füllen Sie Claudes Antwort vor: Beginnen Sie Claudes Antwort mit ein paar Worten, um die Ausgabe in die gewünschte Richtung zu lenken
- Kontrollieren Sie das Ausgabeformat: Geben Sie das gewünschte Ausgabeformat an, um Konsistenz und Lesbarkeit sicherzustellen
- Bitten Sie Claude um Überarbeitungen: Fordern Sie Überarbeitungen basierend auf einer Rubrik an, damit Claude iteriert und seine Ausgabe verbessert
- Tipps für lange Kontextfenster: Optimieren Sie Prompts, die Claudes längere Kontextfenster nutzen
Wir bieten auch einen experimentellen Helfer-Metaprompt an, der Claude dazu auffordert, basierend auf den von Ihnen bereitgestellten Richtlinien einen Prompt für Sie zu erstellen. Der Metaprompt ist experimentell, kann aber hilfreich sein, um einen ersten Prompt zu entwerfen oder schnell viele Prompt-Varianten für Tests zu erstellen.
Hinweis: Modelle, die älter als die Claude 3-Familie sind, benötigen möglicherweise mehr Prompt Engineering. Weitere Informationen finden Sie in unserem Leitfaden für Legacy-Modelle.
Zusätzliche Ressourcen
Um mehr über Prompt Engineering zu erfahren, sehen Sie sich diese Ressourcen an:
- Anthropic Cookbook: Eine Sammlung von Rezepten in Form von Jupyter Notebooks, die kopierbaren Code enthalten und zeigen, wie man Claude in einer Vielzahl von interessanten und effektiven Szenarien verwendet, wie z.B. PDF-Upload, Tool-Verwendung und Funktionsaufrufe, Embeddings und mehr
- Interaktives Prompt Engineering Tutorial: Ein praktisches Schritt-für-Schritt-Tutorial, um effektive Prompting-Strategien einfach zu erlernen (erfordert einen API-Schlüssel)
- Es gibt auch einen begleitenden Lösungsschlüssel, wenn Sie Beispiellösungen sehen möchten.
- Prompt-Bibliothek: Eine Sammlung von vorgeschriebenen Prompts für gängige, unterhaltsame und hilfreiche Aufgaben für eine Vielzahl von persönlichen und beruflichen Anwendungsfällen
- Client SDKs: Eine Reihe von Tools, die es Ihnen erleichtern, mit Claude zu entwickeln und ihn in Ihre Anwendungen zu integrieren
Viel Spaß beim Prompting!