View a markdown version of this page

Selektive Optimierung - Amazon Bedrock

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 <advpo:optimize>

Der Optimierer schreibt nur Inhalte innerhalb <advpo:optimize> von Blöcken um. Der gesamte Inhalt ohne Tags bleibt erhalten.

Modus für explizite Inklusion

Nur <advpo:exclude> Tags (nein<advpo:optimize>)

Der Optimierer schreibt alles neu, was sich nicht in Blöcken befindet <advpo:exclude>

Exclusion-only Modus

Beide Tag-Typen sind vorhanden

Es gilt der Modus für explizite Inklusion. Der Optimierer schreibt nur <advpo:optimize> Inhalte um. Der Optimierer akzeptiert <advpo:exclude> Tags, behandelt sie jedoch als überflüssig.

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. <advpo:exclude> B. <advpo:optimize> innerhalb oder umgekehrt)

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 <advpo:optimize> schließendes Tag)

ValidationException

Stellen Sie sicher, dass für jedes öffnende Tag ein passendes schließendes Tag vorhanden ist.

Falsch geschriebene Tags im advpo: Namespace (z. B.) <advpo:optmize>

ValidationException

Überprüfen Sie die Schreibweise von und. optimize exclude Advanced Prompt Optimization validiert sowohl die öffnenden als auch die schließenden Tags.

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 <advpo:optimize>

Alle kommen für eine Optimierung in Frage. Der Optimierer kann einige oder alle von ihnen neu schreiben.

Mehrere Blöcke <advpo:exclude>

Der gesamte Inhalt aller <advpo:exclude> Tags ist eingefroren.

Leerer <advpo:optimize> Block

Gültig. Der Optimierer generiert neue Inhalte und fügt sie an dieser Stelle ein.

Whitespace-only <advpo:optimize>blockieren

Wird genauso behandelt wie ein leerer Block.

Leerer <advpo:exclude> Block

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.