Prompt Engineering ist eine Kerntechnik zur Verbesserung der Qualität und Kontrolle der Ausgabe von Large Language Models (LLMs) durch Optimierung des Eingabetextes (d.h. der "Prompts"). Dieser umfassende Leitfaden bietet eine systematische Einführung in die Techniken, die in Verbindung mit Claude
Eine Reihe bewährter Verfahren für jede der Modellinteraktionen, die das gesamte Spektrum von der grundlegenden Vorbereitung bis hin zu fortgeschrittenen Anwendungen abdecken, um Entwicklern und Forschern zu helfen, den Nutzen zu maximieren Claude
Potenzial.
Bevor Sie beginnen: die Basis für den Erfolg
Bevor man sich mit spezifischen Souffleurtechniken befasst, muss eine solide Grundlage geschaffen werden. Dazu gehören:
- Klare ErfolgskriterienErfolgskriterien: Definieren Sie die Erfolgskriterien für den Anwendungsfall klar.
- Wirksame TestmethodenEinführung einer Methodik, mit der objektiv und quantitativ bewertet werden kann, ob die Modellergebnisse diese Kriterien erfüllen.
- Erste Entwurfsaufforderungen: Es gibt einen Hinweis auf eine erste Version, die Sie verbessern möchten.
Wenn diese Vorbereitungen noch nicht abgeschlossen sind, ist es sehr empfehlenswert, zunächst Zeit in diese Vorbereitungen zu investieren.
Wann sollte man ein Cue-Projekt wählen? (Kontrast-Feinabstimmung)
Nicht alle Probleme lassen sich am besten durch Cue Engineering lösen. Zum Beispiel können Latenz- und Kostenprobleme manchmal einfacher durch die Wahl eines anderen Modells verbessert werden. Cue-Engineering und Feinabstimmung sind die beiden wichtigsten Instrumente zur Steuerung des Modellverhaltens. Im Folgenden werden einige Gründe genannt, warum Cue-Engineering in einer Reihe von Szenarien besser ist als Feinabstimmung:
- RessourceneffizienzFeinabstimmung erfordert beträchtliche Rechenressourcen (z. B. High-End-GPUs) und Speicherplatz, wohingegen Cue-Engineering nur Texteingabe erfordert und viel ressourcenschonender ist.
- KostenwirksamkeitBei Szenarien, die cloudbasierte KI-Dienste nutzen, verursacht die Feinabstimmung erhebliche Schulungskosten. Beim Tip-Engineering wird das Basismodell direkt verwendet, was in der Regel weniger kostspielig ist.
- Kompatibilität von Modell-UpdatesWenn der Modellanbieter das Basismodell aktualisiert, muss die feinabgestimmte Version möglicherweise neu trainiert werden. Gut durchdachte Hinweise können dagegen in der Regel über alle Versionen hinweg funktionieren.
- ZeiteffizienzDer Prozess der Feinabstimmung kann Stunden oder sogar Tage dauern. Im Gegensatz dazu bietet das Cue-Engineering ein nahezu sofortiges Feedback, was die Geschwindigkeit der Iteration und Problemlösung drastisch beschleunigt.
- Äußerst geringer DatenbedarfFeinabstimmung: Die Feinabstimmung erfordert große aufgabenspezifische, gekennzeichnete Datensätze, deren Beschaffung schwierig oder kostspielig sein kann. Cue-Engineering funktioniert effektiv in Szenarien mit wenigen oder gar keinen Aufnahmen.
- Flexibilität und schnelle IterationEntwickler können schnell mehrere Ansätze ausprobieren, Hinweise anpassen und die Ergebnisse sofort beobachten. Diese Flexibilität für schnelles Experimentieren ist bei der Feinabstimmung nur schwer zu erreichen.
- Anpassung der BereicheDurch die Bereitstellung eines domänenspezifischen Kontexts in den Hinweisen können Modelle leicht an neue Domänen angepasst werden, ohne dass ein erneutes Training erforderlich ist.
- Verbesserung des VerständnissesCue Engineering: Cue Engineering ist weitaus effektiver als Fine-Tuning, wenn es darum geht, dass Modelle externe Inhalte (z.B. über RAG abgerufene Dokumente) besser verstehen und nutzen können.
- Beibehaltung des generischen WissensDie Feinabstimmung birgt das Risiko des "katastrophalen Vergessens", d. h., das Modell kann seine ursprünglichen verallgemeinerten Fähigkeiten verlieren, wenn es neues Wissen erlernt. Beim Cue Engineering bleibt die breite Wissensbasis des Modells erhalten.
- Transparenz und InterpretierbarkeitHinweise: Die Hinweise sind für Menschen lesbar und zeigen deutlich, welche Informationen das Modell genau erhält. Diese Transparenz hilft dabei, das Verhalten des Modells zu verstehen und zu debuggen.
Claude 4
Tipp Engineering Grundprinzipien
Claude 4
Die Modelle der Serie (einschließlich Opus 4.1, Opus 4 und Sonnet 4) sind so optimiert, dass sie den Anweisungen genauer folgen. Die besten Ergebnisse erzielen Sie, wenn Sie diese Grundprinzipien befolgen.
1. klare und direkte Anweisungen
Modelle reagieren am besten auf klare, spezifische Anweisungen. Die explizite Angabe des gewünschten Ergebnisses kann die Qualität der Ergebnisse erheblich verbessern. Wenn von dem Modell erwartet wird, dass es sich wie das alte Claude
Wie bei der "Mehrleistung" müssen diese Verhaltensweisen nun expliziter gefordert werden.
Beispiel: Erstellen eines Analyse-Dashboards
- Weniger wirksame Tipps::
创建一个分析仪表盘。
- Tipps für bessere Ergebnisse::
创建一个分析仪表盘。请包含尽可能多的相关功能和交互细节,超越基础功能,实现一个功能完备的设计。
2. den Kontext ergänzen, um die Leistung zu verbessern
Geben Sie den Kontext oder die Motivation hinter der Richtlinie an, zum Beispiel an die Claude
Die Erklärung, warum ein bestimmtes Verhalten wichtig ist, kann dem Modell helfen, die Zielperson besser zu verstehen und eine gezieltere Antwort zu geben.
Beispiel: Formatvorgaben
- Weniger wirksame Tipps::
绝不使用省略号。
- Tipps für bessere Ergebnisse::
你的回答将被文本转语音引擎朗读,所以绝不使用省略号,因为引擎不知道如何发音。
Das Modell ist intelligent genug, um von solchen Erklärungen zu verallgemeinern.
3. sorgfältige Verwendung von Beispielen und Details
Claude 4
Das Modell nimmt jedes Detail und jedes Beispiel in den Anweisungen ernst. Bitte stellen Sie sicher, dass die von Ihnen angeführten Beispiele mit den Verhaltensweisen, die gefördert werden sollen, übereinstimmen und die Verhaltensweisen, die Sie vermeiden wollen, auf ein Minimum reduzieren.
Kerntipps Ingenieurtechniken
Die folgenden Techniken sind in der Reihenfolge von der allgemeinsten zur speziellsten geordnet. Es wird empfohlen, sie bei der Lösung von Leistungsproblemen in dieser Reihenfolge auszuprobieren.
- klare und direkte Anweisungen (wie oben erwähnt)
- Beispiel für die Verwendung (Tipp mit mehreren Proben)
- Geführtes Modellieren (Gedankenkette)
- Verwendung von XML-Tags
- Befähigung von Personen durch Systemaufforderungen
- Vorgefüllte Modellantworten
- Verkettete komplexe Hinweise
- Long-Context-Cue-Technik
- Verwendung des Tipp-Generators
Die kritischsten dieser Techniken werden im Folgenden im Detail beschrieben.
Verwendung von XML-Tags zur Erstellung strukturierter Eingabeaufforderungen
Wenn die Eingabeaufforderung mehrere Komponenten enthält (z. B. Hintergrundinformationen, Anweisungen, Beispiele und Eingabedaten), ist die Verwendung von XML-Tags eine gute Möglichkeit, die Claude
Parsing Accuracy Sharpshooters.
- Vorteile der Verwendung von XML-Tags::
- ÜbersichtlichkeitDie verschiedenen Teile des Hinweises sind klar voneinander zu trennen, um eine gute Struktur zu gewährleisten.
- GenauigkeitModellfehler, die durch die Verwechslung von Anweisungen und Kontext verursacht werden, werden reduziert.
- GeschicklichkeitEinfaches Auffinden, Hinzufügen, Entfernen oder Ändern bestimmter Teile des Prompts.
- AuflösbarkeitWenn Modelle in ihrer Ausgabe auch XML-Tags verwenden müssen, kann es für Programme einfacher sein, bestimmte Teile ihrer Antworten zu extrahieren.
- bestes Verfahren::
- Wahrung der Kohärenz: Verwenden Sie immer dieselben Tag-Namen in Aufforderungen und verweisen Sie in Befehlen auf sie (z. B. "Verwenden Sie den
<contract>
Verträge auf der Registerkarte..."). - verschachtelte Bezeichnung: Für hierarchische Inhalte können verschachtelte Tags verwendet werden, wie z. B.
<outer><inner></inner></outer>
.
- Wahrung der Kohärenz: Verwenden Sie immer dieselben Tag-Namen in Aufforderungen und verweisen Sie in Befehlen auf sie (z. B. "Verwenden Sie den
Beispiel: Juristische Vertragsanalyse
Tipps für die Nichtverwendung von XML-Tags::
分析这份软件许可协议的潜在风险和责任:{{CONTRACT}}。关注赔偿、责任限制和知识产权所有权条款。同时,注意任何不寻常或令人担忧的条款。这是我们的标准合同以供参考:{{STANDARD_CONTRACT}}。给出调查结果摘要和给我们法律团队的建议。
am EndeAnalysen können unübersichtlich sein und leicht dazu führen, dass wichtige Punkte übersehen werden.
Tipps zur Verwendung von XML-Tags::
分析这份软件许可协议的法律风险和责任。
我们是一家跨国企业,正在考虑将此协议用于我们的核心数据基础设施。
<agreement>
{{CONTRACT}}
</agreement>
这是我们的标准合同以供参考:
<standard_contract>
{{STANDARD_CONTRACT}}
</standard_contract>
<instructions>
1. 分析以下条款:
- 赔偿 (Indemnification)
- 责任限制 (Limitation of liability)
- 知识产权所有权 (IP ownership)
2. 指出不寻常或令人担忧的条款。
3. 与我们的标准合同进行比较。
4. 在 <findings> 标签中总结发现。
5. 在 <recommendations> 标签中列出可行的建议。
</instructions>
am EndeDas Modell gibt ein gut strukturiertes <findings>
im Gesang antworten <recommendations>
Er ist detailliert, logisch und für das juristische Team leicht direkt zu übernehmen.
Rollen-Prompting
ausnutzen system
Parameter Claude
Die Einrichtung eines Charakters ist eine der wirkungsvollsten Möglichkeiten, seine Leistung zu verbessern. Ein richtiger Charakter kann die Claude
Verwandeln Sie sich von einem generalistischen Assistenten in einen virtuellen Fachexperten.
- Vorteile der Verwendung von System-Eingabeaufforderungen bei der Einrichtung Ihres Charakters::
- Verbesserte GenauigkeitIn komplexen Szenarien, wie z. B. der rechtlichen Analyse oder der Finanzmodellierung, können Rollenaufforderungen die Arbeit erheblich verbessern.
Claude
Die Aufführung. - Individueller TonfallOb Sie einen CFO brauchen, der sich kurz fasst, oder einen Werbetexter, der lebendig ist, die Rollenanweisungen können angepasst werden
Claude
Kommunikationsstil. - Verbesserung des Fokus: Nach der Festlegung der Rollen
Claude
besser in der Lage wären, sich auf die spezifischen Anforderungen der Aufgabe zu beschränken.
- Verbesserte GenauigkeitIn komplexen Szenarien, wie z. B. der rechtlichen Analyse oder der Finanzmodellierung, können Rollenaufforderungen die Arbeit erheblich verbessern.
- Wie realisiert man::
Geben Sie im Nachrichten-API-Aufruf die Rollenbeschreibung in das Feldsystem
Parameter. Reservieren Sie spezifische Task-Anweisungen in deruser
Nachricht.import anthropic client = anthropic.Anthropic() response = client.messages.create( model="claude-3-opus-20240229", max_tokens=2048, system="你是一家高增长B2B SaaS公司的CFO。我们的投资者希望实现积极增长,但对我们的烧钱率保持警惕。", # <-- 赋予角色 messages=[ {"role": "user", "content": "在董事会议上,请分析我们Q2的财务数据,指出关键趋势,标记关注点,并推荐战略行动:\n\n{{FINANCIALS}}"} ] ) print(response.content)
Experten-Tipps: Probieren Sie verschiedene Rollen aus! Für dieselben Daten.数据科学家
und市场营销策略师
vielleicht 专为财富500强公司提供客户洞察分析的数据科学家
Man kann zu einer ganz anderen Erkenntnis gelangen.
Geführtes Modelldenken (Gedankenkette, Gedankenkette)
Bei der Bewältigung komplexer Aufgaben, wie z. B. der Recherche, der Analyse oder der Lösung von Problemen, gibt Claude
Raum zum Nachdenken zu geben, kann ihre Leistung drastisch verbessern. Diese Technik ist als Chain of Thought (CoT) bekannt und ermutigt die Claude
Die schrittweise Zerlegung des Problems führt zu einem genaueren und verfeinerten Ergebnis.
- Wann verwende ich eine Gedankenkette?
- Zu überlegende AufgabenFür Aufgaben, die auch menschliches Denken erfordern, wie z. B. komplexe mathematische Berechnungen, mehrstufige Analysen, das Verfassen komplexer Dokumente oder Entscheidungen, die das Abwägen mehrerer Faktoren erfordern.
- Verbessern Sie die GenauigkeitSchrittweises Lösen von Problemen reduziert Fehler bei logischen, mathematischen und analytischen Aufgaben.
- Komponenten während der Prüfung anpassenBeobachtungen
Claude
Der Denkprozess hilft Ihnen, Bereiche der Aufforderung zu erkennen, die möglicherweise nicht klar sind.
- Wie kann man das Denken leiten?
Es gibt mehrere Möglichkeiten, von einfach bis komplex zu navigierenClaude
Das Denken. Eine Kernkompetenz ist:Lassen Sie Claude immer seinen Gedankengang ausführen.sonst findet das Denken nicht statt.- Grundlegende Tipps: Fügen Sie der Aufforderung "Schritt für Schritt denken" hinzu.
- Einführender Tippfür
Claude
Der Denkprozess sieht konkrete Schritte vor. - Strukturierte Tipps: Verwendung
<thinking>
im Gesang antworten<answer>
und andere XML-Tags trennen den Argumentationsprozess von der endgültigen Antwort.
Beispiel: Finanzanalyse
Analyse ungenutzter Gedankenketten::
用户
Ein Kunde möchte 10.000 $ investieren, wobei Option A eine annualisierte, aber volatile Aktie mit 12% und Option B eine festverzinsliche Anleihe mit 6% ist. Der Kunde wird dieses Geld in 5 Jahren für eine Anzahlung benötigen. Welche Option wird empfohlen?模型
Empfehlung B. Gründe dafür sind hohe Sicherheit, Risikoaversion und ein kurzer Zeithorizont. Die Schlussfolgerung scheint vernünftig zu sein, aber es fehlt ihr an Tiefe.
Analysen anhand von Gedankenketten::
用户
(ebd.), jedoch mit dem Zusatz "Bitte denken Sie Schritt für Schritt" am Ende.模型
::<thinking> 1. 理解客户目标和时间线:目标是房屋首付,时间线5年。结论:这是一个短期的、高优先级的财务目标,客户可能无法承受重大风险。 2. 分析选项A(股票): - 优点:历史回报率高(12%)。 - 缺点:波动性大。 - 计算潜在的5年回报: - 最佳情况(年化12%):$10,000 * (1.12)^5 ≈ $17,623.42 - 最差情况(市场崩盘):可能损失惨重,例如50%的崩盘 = $5,000 3. 分析选项B(债券): - 优点:保证回报率(6%)。 - 缺点:回报率低于股票的历史表现。 - 计算5年回报: - 保证:$10,000 * (1.06)^5 ≈ $13,382.25 4. 考虑风险承受能力:目标是房屋首付(必需品,非可有可无),时间短,无法承受市场低迷。结论:客户风险承受能力可能较低。 ... </thinking> <answer> 我推荐选项B,即保证年回报率为6%的债券。虽然股票的历史回报率很诱人,但债券能确保您在5年后拥有$13,382.25用于房屋首付。考虑到您目标的重要性和短暂的时间线,股票的波动性构成了不可接受的风险。 </answer>
Diese Analyse liefert quantitative Daten und eine strengere Logik, und die Schlussfolgerungen sind überzeugender.
Vorfüllen Claudes Antwort (Vorfüllen)
Die Vorbelegung ist eine einzigartige und leistungsstarke Technik, die es Ihnen ermöglicht, einen API-Aufruf in die assistant
Der Ausgangstext ist in der Nachricht enthalten.Claude
wird ab dem Ende des Textes weiter generiert. Auf diese Weise können Sie ein bestimmtes Format (z. B. JSON) erzwingen, lange Einleitungen überspringen oder die Konsistenz von Charakteren im Rollenspiel stärken.
zur Kenntnis nehmenVorgefüllter Inhalt darf nicht mit Leerzeichen am Ende enden. Diese Funktion wird derzeit im Modus "Erweitertes Denken" nicht unterstützt.
- Wie wird vorgefüllt?::
import anthropic client = anthropic.Anthropic() response = client.messages.create( model="claude-3-opus-20240229", max_tokens=1024, messages=[ {"role": "user", "content": "你最喜欢的颜色是什么?"}, {"role": "assistant", "content": "作为一个AI助手,我没有最喜欢的颜色,但如果我必须选一个,那会是绿色,因为"} # 在此预填充 ] )
Beispiel: Steuerung des Ausgabeformats und Überspringen der Präambel
Vorbefüllung nicht verwendetWenn Sie aufgefordert werden, JSON zu extrahieren, kann das Modell sagen: "Here is the information you want in JSON format:", bevor es den Codeblock angibt.
Vorbefüllung verwenden::
用户
Name, Größe, Preis und Farbe als JSON-Objekte aus Produktbeschreibungen extrahieren...助手 (预填充)
::{
Claude 的回应
::"name": "SmartHome Mini", "size": "5 inches wide", "price": "$49.99", "colors": ["black", "white"] }
Dies wird dazu führen, dass
Claude
Die direkte Ausgabe von JSON-Inhalten ist sauber und für das Programm leicht zu parsen.
Szenario-spezifische Anleitung
- Format der Kontrollantwort::
- Positive Direktiven sind negativen Direktiven überlegenAnstatt zu sagen "Verwenden Sie in Ihrer Antwort kein Markdown", sagen Sie "Ihre Antwort sollte aus fließenden Prosaabschnitten bestehen".
- Verwendung von XML-FormatindikatorenVersuch: "Schreiben Sie den Prosateil Ihrer Antwort auf das
<smoothly_flowing_prose_paragraphs>
Tagged in". - Anpassung des Cue-Stils an die gewünschte Ausgabe: Die in Ihrer Eingabeaufforderung verwendete Formatierung kann sich auf die
Claude
Der Antwortstil.
- Optimierung von parallelen Werkzeugaufrufen::
Claude 4
Modelle zeichnen sich durch die parallele Ausführung von Werkzeugen aus. Während sie ohne Hinweise eine hohe Erfolgsquote für parallele Werkzeugaufrufe haben, können ein paar kleine Hinweise die Erfolgsquote auf nahezu 1001 TP3T erhöhen. Dieser Hinweis erwies sich als besonders effektiv: "Für maximale Effizienz sollten immer dann, wenn mehrere unabhängige Operationen durchgeführt werden müssen, alle relevanten Werkzeuge gleichzeitig und nicht nacheinander aufgerufen werden. " - Reduzierung der Dateierstellung bei der Codegenerierung::
Claude 4
Modelle erzeugen manchmal neue Dateien für Tests und Iterationen. Wenn Sie die Erstellung neuer Dateien minimieren möchten, können Sie dieClaude
Bereinigen Sie selbst: "Wenn Sie temporäre neue Dateien, Skripte oder Hilfsdateien für die Iteration erstellt haben, bereinigen Sie diese, indem Sie sie am Ende der Aufgabe löschen." - Verbesserte visuelle und Front-End-Code-GenerierungFür die Front-End-Code-Generierung kann dies durch explizite Ermutigung der
Claude 4
Modellierung der Erstellung komplexer, detaillierter und interaktiver Entwürfe: "Lass dich nicht einschränken, geh aufs Ganze".
Automatische Erstellung und Verwaltung von Warnmeldungen
Verwendung des Tipp-Generators
Das Schwierigste bei der Verwendung eines KI-Modells ist manchmal, herauszufinden, wie man es effektiv einsetzt.Anthropic
Ein Tool zur Erstellung von Eingabeaufforderungen wird bereitgestellt, um die Claude
Erstellen Sie hochwertige Erinnerungsvorlagen für Ihre spezifischen Aufgaben. Diese Vorlagen folgen vielen Best Practices für Prompt-Engineering und sind besonders nützlich, um das Problem der "leeren Seite" zu lösen. Sie finden diese Vorlagen in der Anthropic Console
Probieren Sie den Hinweisgenerator direkt in der
Verwendung von Prompt-Vorlagen und Variablen
Bei der Bereitstellung von LLM-basierten Anwendungen enthalten API-Aufrufe in der Regel zwei Arten von Inhalten:
- Fester InhaltEine statische Anweisung oder ein Kontext, der über mehrere Interaktionen hinweg konstant bleibt.
- variabler InhaltDynamische Elemente, die sich mit jeder Anfrage oder jedem Dialog ändern, wie z. B. Benutzereingaben, von der RAG abgerufene Inhalte, Dialogverlauf usw.
Tipp-Vorlagen Kombinieren Sie diese festen und variablen Abschnitte, um Platzhalter für dynamische Inhalte zu verwenden. In der Anthropic Console
Diese Platzhalter werden durch die {{双花括号}}
sagte.
Vorteile der Verwendung einer Prompt-Vorlage:
- KonsistenzSicherstellen, dass die Eingabeaufforderungen über mehrere Interaktionen hinweg einheitlich strukturiert sind.
- EffizienzEinfaches Ersetzen von variablen Inhalten, ohne dass die gesamte Eingabeaufforderung neu geschrieben werden muss.
- PrüfbarkeitTesten Sie schnell verschiedene Eingabe- und Randfälle, indem Sie nur den variablen Teil ändern.
- SkalierbarkeitVereinfachung der Spitzenverwaltung bei wachsender Anwendungskomplexität.
- VersionskontrolleVerfolgen Sie Änderungen an der Prompt-Struktur einfach nach, indem Sie den Kernteil des Prompts von der dynamischen Eingabe abtrennen.
Hinweise zur Migration von Sonnet 3.7 auf Claude 4
- Angabe des gewünschten Verhaltens: Beschreiben Sie genau, was Sie in der Ausgabe sehen wollen.
- Bauen Sie Ihre Anweisungen mit Modifikatoren auf: Ermutigung hinzufügen
Claude
Modifikatoren, die die Qualität und Detailgenauigkeit der Ausgabe verbessern, tragen dazu bei, dieClaude
Die Aufführung. - Explizite Anfrage nach bestimmten FunktionenWenn Animationen und interaktive Elemente erforderlich sind, sollten sie ausdrücklich angefordert werden.
Nächste Schritte und Lernressourcen
Entwickler, die mehr anhand von Beispielen lernen möchten, können die folgenden Ressourcen nutzen:
- GitHub Tipps Technik TutorialEin Tutorium mit einer Fülle von Beispielen, die die technischen Konzepte der Tipps in der Dokumentation abdecken.
- Google Sheets Tipps Technik TutorialEine abgespeckte Version des Tips Project-Tutorials, das über ein interaktives Tabellenkalkulationsprogramm präsentiert wird.
Wenn Sie die Techniken in diesem Leitfaden systematisch erlernen und anwenden, werden Sie in der Lage sein, präziser und effizienter durch die Claude
s leistungsstarke Fähigkeit, intelligentere und zuverlässigere Anwendungen zu entwickeln.