View a markdown version of this page

Ottimizzazione selettiva - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ottimizzazione selettiva

Per impostazione predefinita, Advanced Prompt Optimization riscrive qualsiasi parte dell'intero modello di prompt dall'inizio alla fine. Con l'ottimizzazione selettiva, puoi controllare esattamente quali sezioni del prompt possono essere modificate dall'ottimizzatore. Utilizzate l'ottimizzazione selettiva quando il prompt è ampio o complesso e alcune sezioni sono già ottimizzate. Ciò consente di migliorare solo le parti che devono ancora essere lavorate.

Sintassi dei tag

Annota il modello di prompt con XML-style tag riservati utilizzando lo spazio dei nomi advpo: (Advanced Prompt Optimization) per controllare l'ambito di ottimizzazione:

  • <advpo:optimize>...</advpo:optimize>— Contrassegna una sezione come area di interesse per l'ottimizzazione. L'ottimizzatore riscrive il contenuto all'interno di questi tag.

  • <advpo:exclude>...</advpo:exclude>— Contrassegna una sezione come congelata. L'ottimizzatore non modifica il contenuto all'interno di questi tag in nessun caso.

Il prefisso del advpo: namespace previene i conflitti con i prompt che già utilizzano il markup per altri scopi. XML-like

In che modo l'ottimizzatore determina cosa riscrivere

Il comportamento dell'ottimizzatore dipende dai tag presenti nel modello di prompt.

I tag sono presenti

Comportamento

Modalità

Nessun tag

L'intero prompt è ottimizzato dall'inizio alla fine (come avviene attualmente)

Modalità Legacy

Almeno una <advpo:optimize>

L'ottimizzatore riscrive solo il contenuto all'interno <advpo:optimize> dei blocchi. Tutto il contenuto senza tag viene preservato.

Modalità di inclusione esplicita

Solo <advpo:exclude> tag (no<advpo:optimize>)

L'ottimizzatore riscrive tutto ciò che non si trova all'interno dei blocchi <advpo:exclude>

Exclusion-only modalità

Sono presenti entrambi i tipi di tag

Si applica la modalità di inclusione esplicita. L'ottimizzatore riscrive solo il contenuto. <advpo:optimize> L'ottimizzatore accetta i <advpo:exclude> tag ma li considera ridondanti.

Modalità di inclusione esplicita

Suggerimento

Non sono necessari entrambi i tipi di tag. Se includi le aree di interesse<advpo:optimize>, tutto il resto viene automaticamente preservato. Non è necessario aggiungere <advpo:exclude> tag ai contenuti che desideri conservare. Usali <advpo:exclude> solo quando non hai <advpo:optimize> tag. Blocca sezioni specifiche ottimizzando tutto il resto.

Esempi

Gli esempi seguenti mostrano come utilizzare <advpo:optimize> i <advpo:exclude> tag per controllare quali sezioni del modello di prompt vengono riscritte dall'ottimizzatore.

Esempio Usare advpo:optimize per concentrarsi su una sezione

In questo esempio, solo le istruzioni per la risposta ai reclami sono ottimizzate. L'ottimizzatore conserva la dichiarazione di identità e il vincolo di policy esattamente come sono scritti.

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.
Esempio Usare advpo:exclude per bloccare sezioni specifiche

In questo esempio, la dichiarazione di identità e il vincolo di policy sono bloccati. Tutto il resto (le istruzioni per la risposta ai reclami) è ottimizzato.

<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>
Esempio Blocchi di ottimizzazione multipli

Puoi contrassegnare più sezioni non contigue per l'ottimizzazione. L'ottimizzatore può riscriverle tutte o alcune di esse.

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.
Esempio Blocco di ottimizzazione vuoto per la generazione di contenuti

Un <advpo:optimize> blocco vuoto indica all'ottimizzatore di generare e inserire nuovi contenuti prompt in quella posizione.

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

Interazione con le variabili segnaposto

Le seguenti regole descrivono come le variabili segnaposto interagiscono con i tag di ottimizzazione selettiva.

  • Variabili interne<advpo:exclude>: il runtime sostituisce ancora le variabili come in fase di esecuzione. {{variableName}} L'esclusione si applica al testo del modello che le circonda: «non riscrivere questo testo del modello» non significa «non sostituire le variabili».

  • Variabili interne<advpo:optimize>: i segnaposto variabili vengono conservati come segnaposto. L'ottimizzatore riscrive le istruzioni circostanti ma mantiene intatti i riferimenti. {{variableName}}

  • Tag all'interno di valori variabili in fase di esecuzione: l'ottimizzatore ignora questi tag. L'analisi dei tag avviene solo sul modello, prima della sostituzione delle variabili. Ciò impedisce l'inserimento di direttive di ottimizzazione tramite valori di input forniti dall'utente.

Regole di convalida

Le seguenti configurazioni causano un errore di convalida.

Configurazione non valida

Errore

Risoluzione

Tag annidati (ad esempio<advpo:exclude>, <advpo:optimize> all'interno o viceversa)

ValidationException

Rimuovi la nidificazione. Usa un solo tipo di tag in una determinata posizione del modello.

Tag non validi o non chiusi (ad esempio, senza tag <advpo:optimize> di chiusura)

ValidationException

Assicurati che ogni tag di apertura abbia un tag di chiusura corrispondente.

Tag con errori di ortografia nel advpo: namespace (ad esempio,) <advpo:optmize>

ValidationException

Controlla l'ortografia di and. optimize exclude Advanced Prompt Optimization convalida sia i tag di apertura che quelli di chiusura.

Comportamento dell'output

Nel prompt ottimizzato restituito alla fine del lavoro, l'ottimizzatore rimuove tutti <advpo:optimize> i <advpo:exclude> tag. Riceverai un prompt pulito senza alcun markup di ottimizzazione. Il contenuto all'interno dei <advpo:exclude> blocchi (e il contenuto senza tag in modalità di inclusione esplicita) appare invariato. Il contenuto all'interno dei <advpo:optimize> blocchi contiene la versione riscritta dell'ottimizzatore.

Comportamenti aggiuntivi

La tabella seguente descrive come l'ottimizzatore gestisce scenari aggiuntivi.

Scenario

Comportamento

Blocchi multipli <advpo:optimize>

Tutti sono idonei all'ottimizzazione. L'ottimizzatore può riscriverli tutti o alcuni.

Blocchi multipli <advpo:exclude>

Tutto il contenuto all'interno di tutti i <advpo:exclude> tag è bloccato.

<advpo:optimize>Blocco vuoto

Valido L'ottimizzatore genera e inserisce nuovi contenuti in quella posizione.

Whitespace-only <advpo:optimize>bloccare

Considerato come un blocco vuoto.

<advpo:exclude>Blocco vuoto

Ignorato (no-op). Nessun contenuto da bloccare.

I tag dividono una frase a metà o a metà frase

Consentito. L'ottimizzatore funziona sul contenuto taggato come un'unità. L'ottimizzatore potrebbe emettere un avviso.

Best practice

Segui queste best practice quando utilizzi l'ottimizzazione selettiva.

  • Inizia con i <advpo:optimize> tag. La modalità di inclusione esplicita è la più intuitiva: contrassegni ciò che desideri migliorare e tutto il resto rimane invariato.

  • Mantieni i blocchi di ottimizzazione autonomi. Inserisci istruzioni complete o sezioni logiche all'interno di ogni blocco. La suddivisione a metà frase è consentita, ma può produrre risultati scomodi.

  • Usa l'ottimizzazione selettiva quando il prompt è già parzialmente ottimizzato. Se hai già regolato i vincoli di sicurezza o le istruzioni sul formato di output, bloccali in modo che l'ottimizzatore si concentri sulle sezioni che devono ancora essere modificate.

  • Combinalo con modelli a più turni. In un prompt monolitico multifase (vediOttimizzazione dei prompt a turni multipli e in fasi), utilizzatelo <advpo:optimize> per indirizzare solo le istruzioni relative alle fasi che necessitano di miglioramento, mantenendo allo stesso tempo congelata la gestione della conversazione.