

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
<a name="advanced-prompt-optimization-selective"></a>

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
<a name="advanced-prompt-optimization-selective-tags"></a>

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
<a name="advanced-prompt-optimization-selective-modes"></a>

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
<a name="advanced-prompt-optimization-selective-examples"></a>

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.

**Example Utiliser advpo:optimize pour se concentrer sur une section**  <a name="advanced-prompt-optimization-selective-ex-optimize"></a>
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.
```

**Example Utiliser advpo:exclude pour geler des sections spécifiques**  <a name="advanced-prompt-optimization-selective-ex-exclude"></a>
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>
```

**Example Plusieurs blocs d'optimisation**  <a name="advanced-prompt-optimization-selective-ex-multiple"></a>
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.
```

**Example Bloc d'optimisation vide pour la génération de contenu**  <a name="advanced-prompt-optimization-selective-ex-empty"></a>
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é
<a name="advanced-prompt-optimization-selective-variables"></a>

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
<a name="advanced-prompt-optimization-selective-validation"></a>

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` et`exclude`. L'optimisation rapide avancée valide à la fois les balises d'ouverture et de fermeture. | 

## Comportement de sortie
<a name="advanced-prompt-optimization-selective-output"></a>

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
<a name="advanced-prompt-optimization-selective-edge-cases"></a>

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
<a name="advanced-prompt-optimization-selective-best-practices"></a>

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 (voir[Optimisation des instructions à plusieurs tours et à étapes](advanced-prompt-optimization-advanced-topics.md#advanced-prompt-optimization-multi-turn)), 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é.