View a markdown version of this page

選擇性最佳化 - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

選擇性最佳化

根據預設,進階提示最佳化會end-to-end重寫整個提示範本的任何部分。透過選擇性最佳化,您可以控制最佳化工具可以修改的提示區段。當您的提示較大或複雜,且部分區段已經過妥善調校時,請使用選擇性最佳化。這可讓您僅改善仍然需要運作的部分。

標籤語法

使用 advpo:(進階提示最佳化) 命名空間以預留 XML 樣式標籤標註您的提示範本,以控制最佳化範圍:

  • <advpo:optimize>...</advpo:optimize> – 將區段標記為要最佳化的焦點區域。最佳化工具會重寫這些標籤內的內容。

  • <advpo:exclude>...</advpo:exclude> – 將區段標記為凍結。最佳化工具在任何情況下都不會修改這些標籤中的內容。

advpo: 命名空間字首可防止與已將類似 XML 的標記用於其他用途的提示發生衝突。

最佳化工具如何決定要重寫的內容

最佳化工具的行為取決於您的提示範本中存在的標籤。

存在的標籤

Behavior (行為)

Mode

無標籤

整個提示是最佳化end-to-end(與目前行為相同)

傳統模式

至少一個 <advpo:optimize>

最佳化工具只會重寫<advpo:optimize>區塊內的內容。所有未標記的內容都會保留。

明確包含模式

僅限<advpo:exclude>標籤 (無 <advpo:optimize>)

最佳化工具會重寫不在<advpo:exclude>區塊內的所有項目

僅限排除模式

兩種標籤類型都存在

套用明確包含模式。最佳化工具只會重寫<advpo:optimize>內容。最佳化工具接受<advpo:exclude>標籤,但將其視為備援。

明確包含模式

提示

您不需要這兩種標籤類型。如果您在 中包裝焦點區域<advpo:optimize>,則會自動保留所有其他項目。您不需要為要保留的內容新增<advpo:exclude>標籤。<advpo:exclude> 僅在沒有<advpo:optimize>標籤時使用 。它會凍結特定區段,同時最佳化其他所有區段。

範例

下列範例示範如何使用 <advpo:optimize><advpo:exclude>標籤來控制最佳化工具重寫的提示範本中的哪些區段。

範例使用 advpo:optimize 以專注於一個區段

在此範例中,只會最佳化投訴-回應指示。最佳化工具會完全按照寫入的方式保留身分陳述式和政策限制。

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.
範例使用 advpo:exclude 凍結特定區段

在此範例中,身分陳述式和政策限制條件會凍結。其他一切 (投訴-回應指示) 都已最佳化。

<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>
範例多個最佳化區塊

您可以標記多個非連續區段以進行最佳化。最佳化工具可以重寫任何或所有。

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.
範例空白最佳化區塊以產生內容

空白<advpo:optimize>區塊會指示最佳化工具在該位置產生和插入新的提示內容。

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

與預留位置變數的互動

下列規則說明預留位置變數如何與選擇性最佳化標籤互動。

  • 內的變數<advpo:exclude>執行時間仍會取代執行時間{{variableName}}的 等變數。排除適用於其周圍的範本文字 –「不重寫此範本文字」不表示「不取代變數」。

  • 內的變數<advpo:optimize>變數預留位置會保留為預留位置。最佳化工具會重寫周圍的指示,但保持{{variableName}}參考完整。

  • 執行時間變數值內的標籤:最佳化工具會忽略這些標籤。在變數替換之前,標籤剖析只會發生在範本上。這可防止透過使用者提供的輸入值注入最佳化指令。

驗證規則

下列組態會導致驗證錯誤。

無效的組態

錯誤

Resolution

巢狀標籤 (例如,在 <advpo:optimize><advpo:exclude>,或反之亦然)

ValidationException

移除巢狀。在範本中的任何指定位置僅使用一種標籤類型。

格式不正確或未關閉的標籤 (例如<advpo:optimize>,沒有關閉標籤)

ValidationException

確保每個開啟標籤都有相符的關閉標籤。

advpo: 命名空間中的錯誤標籤 (例如 <advpo:optmize>)

ValidationException

檢查 optimize和 的拼寫exclude。進階提示最佳化會驗證開啟和關閉標籤。

輸出行為

在任務結束時傳回的最佳化提示中,最佳化工具會分割所有 <advpo:optimize><advpo:exclude> 標籤。您會收到無任何最佳化標記的乾淨提示。<advpo:exclude> 區塊內的內容 (以及明確包含模式中的未標記內容) 會保持不變。<advpo:optimize> 區塊內的內容包含最佳化工具的重寫版本。

其他行為

下表說明最佳化工具如何處理其他案例。

案例

Behavior (行為)

多個<advpo:optimize>區塊

所有 都符合最佳化的資格。最佳化工具可以重寫任何或所有。

多個<advpo:exclude>區塊

所有<advpo:exclude>標籤中的所有內容都會凍結。

空白<advpo:optimize>區塊

有效。最佳化工具會在該位置產生和插入新內容。

僅限空格的<advpo:optimize>區塊

將相同 視為空白區塊。

空白<advpo:exclude>區塊

已忽略 (無操作)。沒有要凍結的內容。

標籤分割句子中字或中字片語

允許。最佳化工具會在已標記的內容上以單位形式運作。最佳化工具可能會發出警告。

最佳實務

使用選擇性最佳化時,請遵循這些最佳實務。

  • <advpo:optimize>標籤開始。明確包含模式是最直覺的 – 您會標記想要改善的項目,其他項目保持不變。

  • 保持最佳化區塊獨立。在每個區塊內放置完整的說明或邏輯區段。允許分割中音,但可能產生尷尬的結果。

  • 當您的提示已進行部分調校時,請使用選擇性最佳化。如果您已調整安全限制條件或輸出格式指示,請將其凍結,讓最佳化工具專注於仍然需要運作的區段。

  • 結合多迴轉模式。在單體多階段提示中 (請參閱最佳化多迴轉和暫存提示),使用 僅<advpo:optimize>鎖定需要改進的階段指示,同時保持對話處理樣板的凍結狀態。