View a markdown version of this page

Optimisation sélective - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Optimisation sélective

Par défaut, Advanced Prompt Optimization réécrit de bout en bout n'importe quelle partie de l'intégralité de votre modèle d'invite. Grâce à l'optimisation sélective, vous contrôlez exactement les sections de votre message que l'optimiseur peut modifier. Utilisez l'optimisation sélective lorsque votre demande est volumineuse ou complexe et que certaines sections sont déjà bien réglées. Cela vous permet d'améliorer uniquement les parties qui nécessitent encore du travail.

Syntaxe des balises

Annotez votre modèle d'invite avec des XML-style balises réservées à l'aide de l'espace de noms advpo: (Advanced Prompt Optimization) pour contrôler l'étendue de l'optimisation :

  • <advpo:optimize>...</advpo:optimize>— Marque une section comme zone de focalisation à optimiser. L'optimiseur réécrit le contenu contenu dans ces balises.

  • <advpo:exclude>...</advpo:exclude>— Marque une section comme figée. L'optimiseur ne modifie en aucun cas le contenu de ces balises.

Le préfixe d'advpo:espace de noms empêche les conflits avec les invites qui utilisent déjà le XML-like balisage à d'autres fins.

Comment l'optimiseur détermine les éléments à réécrire

Le comportement de l'optimiseur dépend des balises présentes dans votre modèle d'invite.

Tags présents

Comportement

Mode

Pas de balise

L'intégralité de l'invite est optimisée de bout en bout (comme le comportement actuel)

Mode Héritage

Au moins un <advpo:optimize>

L'optimiseur réécrit uniquement le contenu à l'intérieur <advpo:optimize> des blocs. Tout le contenu non balisé est préservé.

Mode d'inclusion explicite

<advpo:exclude>Tags uniquement (non<advpo:optimize>)

L'optimiseur réécrit tout ce qui n'est pas à l'intérieur des blocs <advpo:exclude>

Exclusion-only mode

Les deux types de balises sont présents

Le mode d'inclusion explicite s'applique. L'optimiseur réécrit uniquement <advpo:optimize> le contenu. L'optimiseur accepte les <advpo:exclude> balises mais les traite comme redondantes.

Mode d'inclusion explicite

Astuce

Vous n'avez pas besoin des deux types de balises. Si vous insérez vos zones de mise au point<advpo:optimize>, tout le reste est automatiquement préservé. Il n'est pas nécessaire d'ajouter des <advpo:exclude> balises autour du contenu que vous souhaitez conserver. À utiliser <advpo:exclude> uniquement lorsque vous n'avez pas de <advpo:optimize> balises. Il bloque des sections spécifiques tout en optimisant tout le reste.

Exemples

Les exemples suivants montrent comment utiliser les <advpo:exclude> balises <advpo:optimize> et les balises pour contrôler les sections de votre modèle d'invite que l'optimiseur réécrit.

Exemple Utiliser advpo:optimize pour se concentrer sur une section

Dans cet exemple, seules les instructions de réponse aux plaintes sont optimisées. L'optimiseur conserve la déclaration d'identité et la contrainte de politique exactement telles qu'elles sont écrites.

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.
Exemple Utiliser advpo:exclude pour geler des sections spécifiques

Dans cet exemple, la déclaration d'identité et la contrainte de politique sont gelées. Tout le reste (les instructions de réponse aux plaintes) est optimisé.

<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>
Exemple Plusieurs blocs d'optimisation

Vous pouvez marquer plusieurs sections non contiguës à des fins d'optimisation. L'optimiseur peut les réécrire en tout ou en partie.

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.
Exemple Bloc d'optimisation vide pour la génération de contenu

Un <advpo:optimize> bloc vide indique à l'optimiseur de générer et d'insérer un nouveau contenu d'invite à cet endroit.

You are a helpful assistant that summarizes documents. {{document}} <advpo:optimize></advpo:optimize> Respond in plain English. Keep your summary under 200 words.

Interaction avec les variables d'espace réservé

Les règles suivantes décrivent la manière dont les variables d'espace réservé interagissent avec les balises d'optimisation sélectives.

  • Variables internes <advpo:exclude> : le moteur d'exécution remplace toujours les variables comme {{variableName}} au moment de l'exécution. L'exclusion s'applique au texte du modèle qui les entoure : « ne pas réécrire ce texte du modèle » ne signifie pas « ne pas substituer de variables ».

  • Variables internes <advpo:optimize> : les espaces réservés aux variables sont conservés en tant qu'espaces réservés. L'optimiseur réécrit les instructions environnantes mais conserve les {{variableName}} références intactes.

  • Balises contenues dans des valeurs variables au moment de l'exécution : l'optimiseur ignore ces balises. L'analyse des balises s'effectue uniquement sur le modèle, avant la substitution des variables. Cela empêche l'injection de directives d'optimisation par le biais de valeurs d'entrée fournies par l'utilisateur.

Règles de validation

Les configurations suivantes provoquent une erreur de validation.

Configuration non valide

Erreur

Résolution

Tags imbriqués (par exemple<advpo:exclude>, <advpo:optimize> à l'intérieur ou inversement)

ValidationException

Retirez le nid. N'utilisez qu'un seul type de balise à un emplacement donné dans votre modèle.

Étiquettes mal formées ou non fermées (par exemple, sans étiquette <advpo:optimize> de fermeture)

ValidationException

Assurez-vous que chaque étiquette d'ouverture possède une étiquette de fermeture correspondante.

Balises mal orthographiées dans l'espace de advpo: noms (par exemple,) <advpo:optmize>

ValidationException

Vérifiez l'orthographe de optimize etexclude. L'optimisation rapide avancée valide à la fois les balises d'ouverture et de fermeture.

Comportement de sortie

Dans l'invite optimisée renvoyée à la fin de la tâche, l'optimiseur supprime toutes <advpo:optimize> les <advpo:exclude> balises. Vous recevez une invite claire sans aucun balisage d'optimisation. Le contenu contenu dans <advpo:exclude> les blocs (et le contenu non balisé en mode inclusion explicite) apparaît inchangé. Le contenu des <advpo:optimize> blocs contient la version réécrite de l'optimiseur.

Comportements supplémentaires

Le tableau suivant décrit comment l'optimiseur gère des scénarios supplémentaires.

Scénario

Comportement

<advpo:optimize>Blocs multiples

Tous sont éligibles à l'optimisation. L'optimiseur peut les réécrire en tout ou en partie.

<advpo:exclude>Blocs multiples

Tout le contenu contenu dans toutes les <advpo:exclude> balises est gelé.

<advpo:optimize>Bloc vide

Valable. L'optimiseur génère et insère du nouveau contenu à cet emplacement.

Whitespace-only <advpo:optimize>bloquer

Traité de la même manière qu'un bloc vide.

<advpo:exclude>Bloc vide

Ignoré (no-op). Aucun contenu à congeler.

Les tags divisent une phrase en milieu de mot ou de phrase

Autorisé. L'optimiseur fonctionne sur le contenu étiqueté en tant qu'unité. L'optimiseur peut émettre un avertissement.

Bonnes pratiques

Suivez ces bonnes pratiques lorsque vous utilisez l'optimisation sélective.

  • Commencez par les <advpo:optimize> tags. Le mode d'inclusion explicite est le plus intuitif : vous marquez ce que vous souhaitez améliorer, et tout le reste reste inchangé.

  • Gardez les blocs optimisés autonomes. Placez des instructions complètes ou des sections logiques à l'intérieur de chaque bloc. Le fractionnement en milieu de phrase est autorisé mais peut produire des résultats maladroits.

  • Utilisez l'optimisation sélective lorsque votre message est déjà partiellement réglé. Si vous avez déjà ajusté vos contraintes de sécurité ou vos instructions de format de sortie, bloquez-les afin que l'optimiseur se concentre sur les sections qui nécessitent encore du travail.

  • À combiner avec des modèles à tours multiples. Dans une invite monolithique en plusieurs phases (voirOptimisation des instructions à plusieurs tours et à étapes), utilisez-la <advpo:optimize> pour cibler uniquement les instructions de phase qui doivent être améliorées, tout en maintenant le standard de gestion des conversations figé.