

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Optimización selectiva
<a name="advanced-prompt-optimization-selective"></a>

De forma predeterminada, la optimización avanzada de mensajes reescribe cualquier parte de la plantilla de mensajes completa de principio a fin. Con la optimización selectiva, usted controla exactamente qué secciones de la solicitud puede modificar el optimizador. Utilice la optimización selectiva cuando la solicitud sea grande o compleja y algunas secciones ya estén bien ajustadas. Esto le permite mejorar solo las partes que aún necesitan ser trabajadas.

## Sintaxis de etiquetas
<a name="advanced-prompt-optimization-selective-tags"></a>

Anota la plantilla de mensajes con XML-style etiquetas reservadas utilizando el espacio de nombres `advpo:` (optimización avanzada de mensajes) para controlar el alcance de la optimización:
+ `<advpo:optimize>...</advpo:optimize>`— Marca una sección como área de enfoque para la optimización. El optimizador reescribe el contenido dentro de estas etiquetas.
+ `<advpo:exclude>...</advpo:exclude>`— Marca una sección como congelada. El optimizador no modifica el contenido de estas etiquetas bajo ninguna circunstancia.

El prefijo del `advpo:` espacio de nombres evita conflictos con las solicitudes que ya utilizan XML-like el marcado para otros fines.

## Cómo determina el optimizador qué se debe reescribir
<a name="advanced-prompt-optimization-selective-modes"></a>

El comportamiento del optimizador depende de las etiquetas que estén presentes en la plantilla de solicitud.


| Etiquetas presentes | Comportamiento | Mode | 
| --- | --- | --- | 
| No hay etiquetas | Todo el mensaje está optimizado de principio a fin (igual que el comportamiento actual) | Modo heredado | 
| Al menos uno `<advpo:optimize>` | El optimizador reescribe solo el contenido dentro `<advpo:optimize>` de los bloques. Se conserva todo el contenido sin etiquetar. | Modo de inclusión explícita | 
| Solo `<advpo:exclude>` etiquetas (no`<advpo:optimize>`) | El optimizador reescribe todo lo que no está dentro de los bloques `<advpo:exclude>` | Exclusion-only modo | 
| Ambos tipos de etiquetas están presentes | Se aplica el modo de inclusión explícita. El optimizador solo `<advpo:optimize>` reescribe el contenido. El optimizador acepta `<advpo:exclude>` etiquetas pero las considera redundantes. | Modo de inclusión explícita | 

**sugerencia**  
No necesita ambos tipos de etiquetas. Si envuelve las áreas de enfoque`<advpo:optimize>`, todo lo demás se conserva automáticamente. No necesitas añadir `<advpo:exclude>` etiquetas al contenido que deseas conservar. `<advpo:exclude>`Úsalo solo cuando no tengas `<advpo:optimize>` etiquetas. Congela secciones específicas mientras optimiza todo lo demás.

## Ejemplos
<a name="advanced-prompt-optimization-selective-examples"></a>

Los siguientes ejemplos muestran cómo utilizar las `<advpo:exclude>` etiquetas `<advpo:optimize>` y cómo controlar qué secciones de la plantilla de mensajes reescribe el optimizador.

**Example Uso de advpo:optimize para centrarse en una sección**  <a name="advanced-prompt-optimization-selective-ex-optimize"></a>
En este ejemplo, solo se optimizan las instrucciones de respuesta a la queja. El optimizador conserva la declaración de identidad y la restricción de la política exactamente como están escritas.  

```
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 Uso de advpo:exclude para congelar secciones específicas**  <a name="advanced-prompt-optimization-selective-ex-exclude"></a>
En este ejemplo, la declaración de identidad y la restricción de política están inmovilizadas. Todo lo demás (las instrucciones de reclamación-respuesta) está optimizado.  

```
<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 Múltiples bloques de optimización**  <a name="advanced-prompt-optimization-selective-ex-multiple"></a>
Puede marcar varias secciones no contiguas para su optimización. El optimizador puede reescribir algunas o todas ellas.  

```
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 Bloque de optimización vacío para la generación de contenido**  <a name="advanced-prompt-optimization-selective-ex-empty"></a>
Un `<advpo:optimize>` bloque vacío indica al optimizador que genere e inserte nuevo contenido de mensajes en esa ubicación.  

```
You are a helpful assistant that summarizes documents.

{{document}}

<advpo:optimize></advpo:optimize>

Respond in plain English. Keep your summary under 200 words.
```

## Interacción con variables marcadores de posición
<a name="advanced-prompt-optimization-selective-variables"></a>

Las siguientes reglas describen cómo las variables marcadores de posición interactúan con las etiquetas de optimización selectiva.
+ **Variables internas`<advpo:exclude>`:** el tiempo de ejecución sigue sustituyendo variables, como `{{variableName}}` en el tiempo de ejecución. La exclusión se aplica al texto de la plantilla que las rodea: «no reescribas el texto de esta plantilla» no significa «no sustituyas variables».
+ **Variables internas`<advpo:optimize>`:** los marcadores de posición variables se conservan como marcadores de posición. El optimizador reescribe las instrucciones circundantes, pero mantiene las referencias intactas. `{{variableName}}`
+ **Etiquetas dentro de los valores de las variables en tiempo de ejecución:** el optimizador ignora estas etiquetas. El análisis de etiquetas solo se realiza en la plantilla, antes de la sustitución de las variables. Esto evita la inyección de directivas de optimización a través de los valores de entrada proporcionados por el usuario.

## Reglas de validación
<a name="advanced-prompt-optimization-selective-validation"></a>

Las siguientes configuraciones provocan un error de validación.


| Configuración no válida | Error | Resolución | 
| --- | --- | --- | 
| Etiquetas anidadas (por ejemplo`<advpo:exclude>`, `<advpo:optimize>` dentro o al revés) | ValidationException | Elimine el anidado. Utilice solo un tipo de etiqueta en una ubicación determinada de la plantilla. | 
| Etiquetas mal formadas o no cerradas (por ejemplo, `<advpo:optimize>` sin etiqueta de cierre) | ValidationException | Asegúrese de que cada etiqueta de apertura tenga una etiqueta de cierre coincidente. | 
| Etiquetas mal escritas en el espacio de `advpo:` nombres (por ejemplo,) `<advpo:optmize>` | ValidationException | Compruebe la ortografía de y. `optimize` `exclude` La optimización rápida avanzada valida las etiquetas de apertura y cierre. | 

## Comportamiento de salida
<a name="advanced-prompt-optimization-selective-output"></a>

En el mensaje optimizado que aparece al final del trabajo, el optimizador elimina todas las `<advpo:exclude>` etiquetas `<advpo:optimize>` y. Recibirá un mensaje limpio sin ningún tipo de marcado de optimización. El contenido dentro de `<advpo:exclude>` los bloques (y el contenido sin etiquetar en el modo de inclusión explícita) aparece sin cambios. El contenido de los `<advpo:optimize>` bloques contiene la versión reescrita del optimizador.

## Comportamientos adicionales
<a name="advanced-prompt-optimization-selective-edge-cases"></a>

En la siguiente tabla se describe cómo el optimizador gestiona escenarios adicionales.


| Escenario | Comportamiento | 
| --- | --- | 
| Bloques múltiples `<advpo:optimize>` | Todos son aptos para la optimización. El optimizador puede reescribir cualquiera de ellos o todos ellos. | 
| Bloques múltiples `<advpo:exclude>` | Todo el contenido de todas las `<advpo:exclude>` etiquetas está congelado. | 
| `<advpo:optimize>`Bloque vacío | Válido. El optimizador genera e inserta contenido nuevo en esa ubicación. | 
| Whitespace-only `<advpo:optimize>`bloquear | Se trata igual que un bloque vacío. | 
| `<advpo:exclude>`Bloque vacío | Ignorado (no operativo). No hay contenido que congelar. | 
| Las etiquetas dividen una oración a mitad de palabra o a mitad de frase | Permitido. El optimizador funciona con el contenido etiquetado como una unidad. El optimizador puede emitir una advertencia. | 

## Prácticas recomendadas
<a name="advanced-prompt-optimization-selective-best-practices"></a>

Siga estas prácticas recomendadas cuando utilice la optimización selectiva.
+ **Comience con las `<advpo:optimize>` etiquetas.** El modo de inclusión explícita es el más intuitivo: marcas lo que quieres mejorar y todo lo demás permanece igual.
+ **Mantén los bloques optimizados autónomos.** Coloca instrucciones completas o secciones lógicas dentro de cada bloque. Se permite dividir a mitad de la oración, pero puede producir resultados incómodos.
+ **Usa la optimización selectiva cuando tu mensaje ya esté parcialmente ajustado.** Si ya ha ajustado las restricciones de seguridad o las instrucciones de formato de salida, congélelas para que el optimizador se centre en las secciones en las que aún hay que trabajar.
+ **Combínelo con patrones de varios giros.** En un mensaje multifásico monolítico (consulte[Optimización de las indicaciones escalonadas y de varios giros](advanced-prompt-optimization-advanced-topics.md#advanced-prompt-optimization-multi-turn)), utilícelo `<advpo:optimize>` para centrarse únicamente en las instrucciones de fase que necesitan mejorarse y, al mismo tiempo, mantener inalterados los esquemas de manejo de la conversación.