本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
選擇性最佳化
根據預設,進階提示最佳化會end-to-end重寫整個提示範本的任何部分。透過選擇性最佳化,您可以控制最佳化工具可以修改的提示區段。當您的提示較大或複雜,且部分區段已經過妥善調校時,請使用選擇性最佳化。這可讓您僅改善仍然需要運作的部分。
標籤語法
使用 advpo:(進階提示最佳化) 命名空間以預留 XML 樣式標籤標註您的提示範本,以控制最佳化範圍:
<advpo:optimize>...</advpo:optimize>– 將區段標記為要最佳化的焦點區域。最佳化工具會重寫這些標籤內的內容。<advpo:exclude>...</advpo:exclude>– 將區段標記為凍結。最佳化工具在任何情況下都不會修改這些標籤中的內容。
advpo: 命名空間字首可防止與已將類似 XML 的標記用於其他用途的提示發生衝突。
最佳化工具如何決定要重寫的內容
最佳化工具的行為取決於您的提示範本中存在的標籤。
存在的標籤 | Behavior (行為) | Mode |
|---|---|---|
無標籤 |
整個提示是最佳化end-to-end(與目前行為相同) |
傳統模式 |
至少一個 |
最佳化工具只會重寫 |
明確包含模式 |
僅限 |
最佳化工具會重寫不在 |
僅限排除模式 |
兩種標籤類型都存在 |
套用明確包含模式。最佳化工具只會重寫 |
明確包含模式 |
提示
您不需要這兩種標籤類型。如果您在 中包裝焦點區域<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 |
|---|---|---|
巢狀標籤 (例如,在 |
ValidationException |
移除巢狀。在範本中的任何指定位置僅使用一種標籤類型。 |
格式不正確或未關閉的標籤 (例如 |
ValidationException |
確保每個開啟標籤都有相符的關閉標籤。 |
|
ValidationException |
檢查 |
輸出行為
在任務結束時傳回的最佳化提示中,最佳化工具會分割所有 <advpo:optimize>和 <advpo:exclude> 標籤。您會收到無任何最佳化標記的乾淨提示。<advpo:exclude> 區塊內的內容 (以及明確包含模式中的未標記內容) 會保持不變。<advpo:optimize> 區塊內的內容包含最佳化工具的重寫版本。
其他行為
下表說明最佳化工具如何處理其他案例。
案例 | Behavior (行為) |
|---|---|
多個 |
所有 都符合最佳化的資格。最佳化工具可以重寫任何或所有。 |
多個 |
所有 |
空白 |
有效。最佳化工具會在該位置產生和插入新內容。 |
僅限空格的 |
將相同 視為空白區塊。 |
空白 |
已忽略 (無操作)。沒有要凍結的內容。 |
標籤分割句子中字或中字片語 |
允許。最佳化工具會在已標記的內容上以單位形式運作。最佳化工具可能會發出警告。 |
最佳實務
使用選擇性最佳化時,請遵循這些最佳實務。
從
<advpo:optimize>標籤開始。明確包含模式是最直覺的 – 您會標記想要改善的項目,其他項目保持不變。保持最佳化區塊獨立。在每個區塊內放置完整的說明或邏輯區段。允許分割中音,但可能產生尷尬的結果。
當您的提示已進行部分調校時,請使用選擇性最佳化。如果您已調整安全限制條件或輸出格式指示,請將其凍結,讓最佳化工具專注於仍然需要運作的區段。
結合多迴轉模式。在單體多階段提示中 (請參閱最佳化多迴轉和暫存提示),使用 僅
<advpo:optimize>鎖定需要改進的階段指示,同時保持對話處理樣板的凍結狀態。