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
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
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
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 |
O otimizador reescreve somente o conteúdo dentro |
Modo de inclusão explícita |
Somente |
O otimizador reescreve tudo o que não está dentro dos blocos |
Exclusion-only modo |
Ambos os tipos de tag estão presentes |
O modo de inclusão explícita se aplica. O otimizador reescreve somente |
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
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.
exemplo Usando advpo:optimize para focar em uma seção
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.
exemplo Usando advpo:exclude para congelar seções específicas
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>
exemplo Vários blocos de otimização
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.
exemplo Bloco de otimização vazio para geração de conteúdo
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
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
As configurações a seguir causam um erro de validação.
Configuração inválida | Erro | Resolução |
|---|---|---|
Tags aninhadas (por exemplo |
ValidationException |
Remova o aninhamento. Use somente um tipo de tag em qualquer local em seu modelo. |
Tags malformadas ou não fechadas (por exemplo, |
ValidationException |
Certifique-se de que cada etiqueta de abertura tenha uma etiqueta de fechamento correspondente. |
Tags com erros ortográficos no |
ValidationException |
Verifique a ortografia de |
Comportamento de saída
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 tabela a seguir descreve como o otimizador lida com cenários adicionais.
Cenário | Comportamento |
|---|---|
Vários |
Todos são elegíveis para otimização. O otimizador pode reescrever qualquer um deles ou todos eles. |
Vários |
Todo o conteúdo dentro de todas as |
|
Válido. O otimizador gera e insere novos conteúdos nesse local. |
Whitespace-only |
Tratada da mesma forma que um 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
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 (consulteOtimizando solicitações em vários turnos e em etapas), use
<advpo:optimize>para direcionar somente as instruções de fase que precisam ser aprimoradas, mantendo o padrão de tratamento de conversas congelado.