Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Selektive Optimierung
Standardmäßig schreibt Advanced Prompt Optimization jeden Teil Ihrer gesamten Eingabeaufforderungsvorlage von Anfang bis Ende um. Mit der selektiven Optimierung kontrollieren Sie genau, welche Bereiche Ihrer Aufforderung der Optimierer ändern kann. Verwenden Sie die selektive Optimierung, wenn Ihre Eingabeaufforderung umfangreich oder komplex ist und einige Abschnitte bereits gut abgestimmt sind. Auf diese Weise können Sie nur die Teile verbessern, an denen noch gearbeitet werden muss.
Tag-Syntax
Kommentieren Sie Ihre Eingabeaufforderungsvorlage mit reservierten XML-style Tags, indem Sie den Namespace advpo: (Advanced Prompt Optimization) verwenden, um den Optimierungsbereich zu steuern:
<advpo:optimize>...</advpo:optimize>— Markiert einen Abschnitt als Fokusbereich für die Optimierung. Der Optimierer schreibt den Inhalt innerhalb dieser Tags neu.<advpo:exclude>...</advpo:exclude>— Markiert einen Abschnitt als eingefroren. Der Optimierer ändert unter keinen Umständen den Inhalt dieser Tags.
Das advpo: Namespace-Präfix verhindert Konflikte mit Eingabeaufforderungen, die XML-like Markup bereits für andere Zwecke verwenden.
Wie der Optimierer bestimmt, was neu geschrieben werden soll
Das Verhalten des Optimierers hängt davon ab, welche Tags in Ihrer Eingabeaufforderungsvorlage vorhanden sind.
Es sind Tags vorhanden | Behavior | Mode |
|---|---|---|
Keine Tags |
Die gesamte Eingabeaufforderung ist durchgängig optimiert (entspricht dem aktuellen Verhalten) |
Legacy-Modus |
Mindestens einer |
Der Optimierer schreibt nur Inhalte innerhalb |
Modus für explizite Inklusion |
Nur |
Der Optimierer schreibt alles neu, was sich nicht in Blöcken befindet |
Exclusion-only Modus |
Beide Tag-Typen sind vorhanden |
Es gilt der Modus für explizite Inklusion. Der Optimierer schreibt nur |
Modus für explizite Inklusion |
Tipp
Sie benötigen nicht beide Tag-Typen. Wenn Sie Ihre Fokusbereiche einschließen<advpo:optimize>, bleibt alles andere automatisch erhalten. Sie müssen keine <advpo:exclude> Tags zu Inhalten hinzufügen, die Sie behalten möchten. Verwenden Sie es <advpo:exclude> nur, wenn Sie keine <advpo:optimize> Tags haben. Es friert bestimmte Abschnitte ein und optimiert gleichzeitig alles andere.
Beispiele
Die folgenden Beispiele zeigen, wie Sie mithilfe <advpo:optimize> von <advpo:exclude> and-Tags steuern, welche Abschnitte Ihrer Eingabeaufforderungsvorlage der Optimierer neu schreibt.
Beispiel Verwenden Sie advpo:optimize, um sich auf einen Abschnitt zu konzentrieren
In diesem Beispiel werden nur die Anweisungen zur Beantwortung von Beschwerden optimiert. Der Optimierer behält die Identitätserklärung und die Richtlinieneinschränkung genau so bei, wie sie geschrieben wurden.
You are a helpful customer service agent for Acme Corp. Always be polite and professional. <advpo:optimize>When responding to a complaint, acknowledge the customer's frustration, summarize the issue, and propose exactly one concrete resolution. Use bullet points for clarity.</advpo:optimize> Never disclose internal pricing or employee information.
Beispiel Verwenden von advpo:exclude, um bestimmte Abschnitte einzufrieren
In diesem Beispiel sind die Identitätserklärung und die Richtlinieneinschränkung eingefroren. Alles andere (die Anweisungen zur Beantwortung von Beschwerden) ist optimiert.
<advpo:exclude>You are a helpful customer service agent for Acme Corp. Always be polite and professional.</advpo:exclude> When responding to a complaint, acknowledge the customer's frustration, summarize the issue, and propose exactly one concrete resolution. Use bullet points for clarity. <advpo:exclude>Never disclose internal pricing or employee information.</advpo:exclude>
Beispiel Mehrere Optimierungsblöcke
Sie können mehrere nicht zusammenhängende Abschnitte zur Optimierung markieren. Der Optimierer kann einige oder alle von ihnen neu schreiben.
You are a technical support assistant for CloudWidget. <advpo:optimize>When diagnosing an issue, ask clarifying questions about the customer's environment before suggesting solutions.</advpo:optimize> Always check the knowledge base before escalating. <advpo:optimize>When providing a solution, include step-by-step instructions with numbered steps. End with a verification step the customer can perform.</advpo:optimize> Never share internal ticket IDs with customers.
Beispiel Leerer Optimierungsblock für die Inhaltsgenerierung
Ein leerer <advpo:optimize> Block weist den Optimierer an, an dieser Stelle neue Eingabeaufforderungsinhalte zu generieren und einzufügen.
You are a helpful assistant that summarizes documents. {{document}} <advpo:optimize></advpo:optimize> Respond in plain English. Keep your summary under 200 words.
Interaktion mit Platzhaltervariablen
Die folgenden Regeln beschreiben, wie Platzhaltervariablen mit selektiven Optimierungs-Tags interagieren.
Interne Variablen
<advpo:exclude>: Die Laufzeit ersetzt weiterhin Variablen wie{{variableName}}zur Laufzeit. Der Ausschluss gilt für den sie umgebenden Vorlagentext — „diesen Vorlagentext nicht neu schreiben“ bedeutet nicht „Variablen nicht ersetzen“.Interne Variablen
<advpo:optimize>: Platzhalter für Variablen werden als Platzhalter beibehalten. Der Optimierer schreibt die umgebenden Anweisungen neu, behält aber die Referenzen bei.{{variableName}}Tags innerhalb von Variablenwerten zur Laufzeit: Der Optimierer ignoriert diese Tags. Das Parsen von Tags erfolgt nur in der Vorlage, bevor die Variablen ersetzt werden. Dadurch wird verhindert, dass Optimierungsdirektiven durch vom Benutzer angegebene Eingabewerte eingefügt werden.
Regeln für die Validierung
Die folgenden Konfigurationen verursachen einen Validierungsfehler.
Ungültige Konfiguration | Fehler | Auflösung |
|---|---|---|
Verschachtelte Tags (z. |
ValidationException |
Entfernen Sie die Verschachtelung. Verwenden Sie an einer beliebigen Stelle in Ihrer Vorlage nur einen Tag-Typ. |
Falsch formatierte oder nicht geschlossene Tags (z. B. ohne |
ValidationException |
Stellen Sie sicher, dass für jedes öffnende Tag ein passendes schließendes Tag vorhanden ist. |
Falsch geschriebene Tags im |
ValidationException |
Überprüfen Sie die Schreibweise von und. |
Verhalten bei der Ausgabe
In der optimierten Eingabeaufforderung, die am Ende des Jobs zurückgegeben wird, entfernt der Optimierer alle <advpo:exclude> Tags <advpo:optimize> und Tags. Sie erhalten eine saubere Eingabeaufforderung ohne Optimierungsmarkup. Der Inhalt innerhalb von <advpo:exclude> Blöcken (und Inhalte ohne Tags im Modus „Explizite Inklusion“) wird unverändert angezeigt. Der Inhalt innerhalb von <advpo:optimize> Blöcken enthält die neu geschriebene Version des Optimierers.
Zusätzliche Verhaltensweisen
In der folgenden Tabelle wird beschrieben, wie der Optimizer mit zusätzlichen Szenarien umgeht.
Szenario | Behavior |
|---|---|
Mehrere Blöcke |
Alle kommen für eine Optimierung in Frage. Der Optimierer kann einige oder alle von ihnen neu schreiben. |
Mehrere Blöcke |
Der gesamte Inhalt aller |
Leerer |
Gültig. Der Optimierer generiert neue Inhalte und fügt sie an dieser Stelle ein. |
Whitespace-only |
Wird genauso behandelt wie ein leerer Block. |
Leerer |
Ignoriert (kein Op). Kein Inhalt zum Einfrieren. |
Tags teilen einen Satz mitten im Wort oder mitten in der Phrase |
Erlaubt. Der Optimierer arbeitet mit dem markierten Inhalt als Einheit. Der Optimierer gibt möglicherweise eine Warnung aus. |
Bewährte Methoden
Folgen Sie diesen bewährten Methoden, wenn Sie die selektive Optimierung verwenden.
Beginnen Sie mit
<advpo:optimize>Tags. Der Modus „Explizite Inklusion“ ist am intuitivsten — Sie markieren, was Sie verbessern möchten, und alles andere bleibt gleich.Sorgen Sie dafür, dass Optimierungsblöcke in sich geschlossen bleiben. Platzieren Sie vollständige Anweisungen oder logische Abschnitte in jedem Block. Das Aufteilen in der Mitte des Satzes ist zulässig, kann jedoch zu unangenehmen Ergebnissen führen.
Verwenden Sie die selektive Optimierung, wenn Ihre Eingabeaufforderung bereits teilweise optimiert ist. Wenn Sie Ihre Sicherheitseinschränkungen oder Anweisungen zum Ausgabeformat bereits angepasst haben, fixieren Sie sie, sodass sich der Optimierer auf die Abschnitte konzentriert, an denen noch gearbeitet werden muss.
Kombinieren Sie es mit Multi-Turn-Mustern. Verwenden Sie in einer monolithischen mehrphasigen Aufforderung (sieheOptimierung von Multi-Turn- und Staging-Prompts) nur die Phasenbefehle
<advpo:optimize>, die verbessert werden müssen, während die Textbausteine für die Konversationsverarbeitung eingefroren bleiben.