

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Otimização seletiva
<a name="advanced-prompt-optimization-selective"></a>

Por padrão, o Advanced Prompt Optimization reescreve qualquer parte de todo o seu modelo de prompt de ponta a ponta. Com a otimização seletiva, você controla exatamente quais seções do seu prompt o otimizador pode modificar. Use a otimização seletiva quando sua solicitação for grande ou complexa e algumas seções já estiverem bem ajustadas. Isso permite que você melhore somente as partes que ainda precisam ser trabalhadas.

## Sintaxe da tag
<a name="advanced-prompt-optimization-selective-tags"></a>

Anote seu modelo de prompt com XML-style tags reservadas usando o namespace `advpo:` (Advanced Prompt Optimization) para controlar o escopo da otimização:
+ `<advpo:optimize>...</advpo:optimize>`— Marca uma seção como a área de foco para otimização. O otimizador reescreve o conteúdo dentro dessas tags.
+ `<advpo:exclude>...</advpo:exclude>`— Marca uma seção como congelada. O otimizador não modifica o conteúdo dentro dessas tags sob nenhuma circunstância.

O prefixo do `advpo:` namespace evita conflitos com solicitações que já usam XML-like marcação para outras finalidades.

## Como o otimizador determina o que reescrever
<a name="advanced-prompt-optimization-selective-modes"></a>

O comportamento do otimizador depende de quais tags estão presentes no seu modelo de prompt.


| Etiquetas presentes | Comportamento | Modo | 
| --- | --- | --- | 
| Sem tags | Todo o prompt é otimizado de ponta a ponta (o mesmo que o comportamento atual) | Modo legado | 
| Pelo menos um `<advpo:optimize>` | O otimizador reescreve somente o conteúdo dentro `<advpo:optimize>` dos blocos. Todo o conteúdo não marcado é preservado. | Modo de inclusão explícita | 
| Somente `<advpo:exclude>` tags (não`<advpo:optimize>`) | O otimizador reescreve tudo o que não está dentro dos blocos `<advpo:exclude>` | Exclusion-only modo | 
| Ambos os tipos de tag estão presentes | O modo de inclusão explícita se aplica. O otimizador reescreve somente `<advpo:optimize>` o conteúdo. O otimizador aceita `<advpo:exclude>` tags, mas as trata como redundantes. | Modo de inclusão explícita | 

**dica**  
Você não precisa dos dois tipos de tag. Se você envolver suas áreas de foco`<advpo:optimize>`, todo o resto será preservado automaticamente. Você não precisa adicionar `<advpo:exclude>` tags ao conteúdo que deseja manter. Use `<advpo:exclude>` somente quando você não tiver `<advpo:optimize>` etiquetas. Ele congela seções específicas enquanto otimiza todo o resto.

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

Os exemplos a seguir mostram como usar `<advpo:optimize>` `<advpo:exclude>` tags para controlar quais seções do seu modelo de prompt o otimizador reescreve.

**Example Usando advpo:optimize para focar em uma seção**  <a name="advanced-prompt-optimization-selective-ex-optimize"></a>
Neste exemplo, somente as instruções de resposta à reclamação são otimizadas. O otimizador preserva a declaração de identidade e a restrição da política exatamente como estão 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 Usando advpo:exclude para congelar seções específicas**  <a name="advanced-prompt-optimization-selective-ex-exclude"></a>
Neste exemplo, a declaração de identidade e a restrição de política estão congeladas. Todo o resto (as instruções de resposta à reclamação) é otimizado.  

```
<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 Vários blocos de otimização**  <a name="advanced-prompt-optimization-selective-ex-multiple"></a>
Você pode marcar várias seções não contíguas para otimização. O otimizador pode reescrever qualquer um deles ou todos eles.  

```
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 Bloco de otimização vazio para geração de conteúdo**  <a name="advanced-prompt-optimization-selective-ex-empty"></a>
Um `<advpo:optimize>` bloco vazio diz ao otimizador que gere e insira um novo conteúdo de prompt nesse local.  

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

{{document}}

<advpo:optimize></advpo:optimize>

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

## Interação com variáveis de espaço reservado
<a name="advanced-prompt-optimization-selective-variables"></a>

As regras a seguir descrevem como as variáveis de espaço reservado interagem com as tags de otimização seletiva.
+ **Variáveis internas`<advpo:exclude>`:** o tempo de execução ainda substitui as variáveis, como `{{variableName}}` no tempo de execução. A exclusão se aplica ao texto do modelo em torno deles — “não reescreva esse texto modelo” não significa “não substitua variáveis”.
+ **Variáveis internas`<advpo:optimize>`:** os espaços reservados variáveis são preservados como espaços reservados. O otimizador reescreve as instruções ao redor, mas mantém as `{{variableName}}` referências intactas.
+ **Tags dentro de valores variáveis em tempo de execução:** o otimizador ignora essas tags. A análise de tags ocorre somente no modelo, antes da substituição da variável. Isso evita a injeção de diretivas de otimização por meio de valores de entrada fornecidos pelo usuário.

## Regras de validação
<a name="advanced-prompt-optimization-selective-validation"></a>

As configurações a seguir causam um erro de validação.


| Configuração inválida | Erro | Resolução | 
| --- | --- | --- | 
| Tags aninhadas (por exemplo`<advpo:exclude>`, `<advpo:optimize>` internas ou vice-versa) | ValidationException | Remova o aninhamento. Use somente um tipo de tag em qualquer local em seu modelo. | 
| Tags malformadas ou não fechadas (por exemplo, `<advpo:optimize>` sem tag de fechamento) | ValidationException | Certifique-se de que cada etiqueta de abertura tenha uma etiqueta de fechamento correspondente. | 
| Tags com erros ortográficos no `advpo:` namespace (por exemplo,) `<advpo:optmize>` | ValidationException | Verifique a ortografia de `optimize` e. `exclude` A Otimização Avançada de Prompt valida as tags de abertura e fechamento. | 

## Comportamento de saída
<a name="advanced-prompt-optimization-selective-output"></a>

Na solicitação otimizada retornada no final do trabalho, o otimizador remove todas `<advpo:optimize>` as `<advpo:exclude>` etiquetas. Você recebe um aviso limpo sem nenhuma marcação de otimização. O conteúdo dentro dos `<advpo:exclude>` blocos (e o conteúdo não marcado no modo de inclusão explícita) parece inalterado. O conteúdo dentro dos `<advpo:optimize>` blocos contém a versão reescrita do otimizador.

## Comportamentos adicionais
<a name="advanced-prompt-optimization-selective-edge-cases"></a>

A tabela a seguir descreve como o otimizador lida com cenários adicionais.


| Cenário | Comportamento | 
| --- | --- | 
| Vários `<advpo:optimize>` blocos | Todos são elegíveis para otimização. O otimizador pode reescrever qualquer um deles ou todos eles. | 
| Vários `<advpo:exclude>` blocos | Todo o conteúdo dentro de todas as `<advpo:exclude>` tags está congelado. | 
| `<advpo:optimize>`Bloco vazio | Válido. O otimizador gera e insere novos conteúdos nesse local. | 
| Whitespace-only `<advpo:optimize>`bloquear | Tratada da mesma forma que um bloco vazio. | 
| `<advpo:exclude>`Bloco vazio | Ignorado (sem operação). Não há conteúdo para congelar. | 
| Tags dividem uma frase no meio da palavra ou no meio da frase | Permitido. O otimizador opera no conteúdo marcado como uma unidade. O otimizador pode emitir um aviso. | 

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

Siga essas melhores práticas ao usar a otimização seletiva.
+ **Comece com `<advpo:optimize>` tags.** O modo de inclusão explícita é o mais intuitivo: você marca o que deseja melhorar e todo o resto permanece o mesmo.
+ **Mantenha os blocos de otimização independentes.** Coloque instruções completas ou seções lógicas dentro de cada bloco. A divisão no meio da frase é permitida, mas pode produzir resultados embaraçosos.
+ **Use a otimização seletiva quando seu prompt já estiver parcialmente ajustado.** Se você já ajustou suas restrições de segurança ou instruções de formato de saída, congele-as para que o otimizador se concentre nas seções que ainda precisam ser trabalhadas.
+ **Combine com padrões de várias voltas.** Em um prompt monolítico multifásico (consulte[Otimizando solicitações em vários turnos e em etapas](advanced-prompt-optimization-advanced-topics.md#advanced-prompt-optimization-multi-turn)), use `<advpo:optimize>` para direcionar somente as instruções de fase que precisam ser aprimoradas, mantendo o padrão de tratamento de conversas congelado.