

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Optimasi selektif
<a name="advanced-prompt-optimization-selective"></a>

Secara default, Advanced Prompt Optimization menulis ulang bagian mana pun dari seluruh template prompt Anda secara end-to-end. Dengan optimasi selektif, Anda mengontrol dengan tepat bagian mana dari prompt Anda yang dapat dimodifikasi oleh pengoptimal. Gunakan optimasi selektif ketika prompt Anda besar atau kompleks dan beberapa bagian sudah disetel dengan baik. Ini memungkinkan Anda meningkatkan hanya bagian-bagian yang masih perlu dikerjakan.

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

Buat anotasi template prompt Anda dengan XML-style tag yang dicadangkan menggunakan namespace `advpo:` (Advanced Prompt Optimization) untuk mengontrol cakupan pengoptimalan:
+ `<advpo:optimize>...</advpo:optimize>`— Menandai bagian sebagai area fokus untuk optimasi. Pengoptimal menulis ulang konten di dalam tag ini.
+ `<advpo:exclude>...</advpo:exclude>`— Menandai bagian sebagai beku. Pengoptimal tidak mengubah konten di dalam tag ini dalam keadaan apa pun.

Awalan `advpo:` namespace mencegah konflik dengan prompt yang sudah menggunakan XML-like markup untuk tujuan lain.

## Bagaimana pengoptimal menentukan apa yang harus ditulis ulang
<a name="advanced-prompt-optimization-selective-modes"></a>

Perilaku pengoptimal bergantung pada tag mana yang ada di template prompt Anda.


| Tag hadir | Perilaku | Modus | 
| --- | --- | --- | 
| Tidak ada tag | Seluruh prompt dioptimalkan dari ujung ke ujung (sama seperti perilaku saat ini) | Mode warisan | 
| Setidaknya satu `<advpo:optimize>` | Pengoptimal hanya menulis ulang konten di dalam `<advpo:optimize>` blok. Semua konten yang tidak ditandai dipertahankan. | Mode inklusi eksplisit | 
| Hanya `<advpo:exclude>` tag (no`<advpo:optimize>`) | Pengoptimal menulis ulang semua yang tidak ada di dalam blok `<advpo:exclude>` | Exclusion-only modus | 
| Kedua jenis tag hadir | Mode inklusi eksplisit berlaku. Pengoptimal hanya `<advpo:optimize>` menulis ulang konten. Pengoptimal menerima `<advpo:exclude>` tag tetapi memperlakukannya sebagai berlebihan. | Mode inklusi eksplisit | 

**Tip**  
Anda tidak memerlukan kedua jenis tag. Jika Anda membungkus area fokus Anda`<advpo:optimize>`, segala sesuatu yang lain secara otomatis dipertahankan. Anda tidak perlu menambahkan `<advpo:exclude>` tag di sekitar konten yang ingin Anda simpan. Gunakan `<advpo:exclude>` hanya jika Anda tidak memiliki `<advpo:optimize>` tag. Ini membekukan bagian tertentu sambil mengoptimalkan yang lainnya.

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

Contoh berikut menunjukkan cara menggunakan `<advpo:optimize>` dan `<advpo:exclude>` tag untuk mengontrol bagian mana dari template prompt Anda yang ditulis ulang oleh pengoptimal.

**Example Menggunakan advpo: optimalkan untuk fokus pada satu bagian**  <a name="advanced-prompt-optimization-selective-ex-optimize"></a>
Dalam contoh ini, hanya instruksi respons keluhan yang dioptimalkan. Pengoptimal mempertahankan pernyataan identitas dan batasan kebijakan persis seperti yang tertulis.  

```
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 Menggunakan advpo: exclude untuk membekukan bagian tertentu**  <a name="advanced-prompt-optimization-selective-ex-exclude"></a>
Dalam contoh ini, pernyataan identitas dan kendala kebijakan dibekukan. Segala sesuatu yang lain (instruksi respon keluhan) dioptimalkan.  

```
<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 Beberapa blok pengoptimalan**  <a name="advanced-prompt-optimization-selective-ex-multiple"></a>
Anda dapat menandai beberapa bagian yang tidak bersebelahan untuk pengoptimalan. Pengoptimal dapat menulis ulang salah satu atau semuanya.  

```
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 Blok optimasi kosong untuk pembuatan konten**  <a name="advanced-prompt-optimization-selective-ex-empty"></a>
`<advpo:optimize>`Blok kosong memberi tahu pengoptimal untuk menghasilkan dan menyisipkan konten prompt baru di lokasi tersebut.  

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

{{document}}

<advpo:optimize></advpo:optimize>

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

## Interaksi dengan variabel placeholder
<a name="advanced-prompt-optimization-selective-variables"></a>

Aturan berikut menjelaskan bagaimana variabel placeholder berinteraksi dengan tag optimasi selektif.
+ **Variabel di dalam`<advpo:exclude>`:** Runtime masih menggantikan variabel seperti `{{variableName}}` saat runtime. Pengecualian berlaku untuk teks template di sekitar mereka — “jangan menulis ulang teks template ini” tidak berarti “jangan mengganti variabel.”
+ **Variabel di dalam`<advpo:optimize>`:** Placeholder variabel dipertahankan sebagai placeholder. Pengoptimal menulis ulang instruksi di sekitarnya tetapi menjaga `{{variableName}}` referensi tetap utuh.
+ **Tag di dalam nilai variabel saat runtime:** Pengoptimal mengabaikan tag ini. Penguraian tag terjadi pada template saja, sebelum substitusi variabel. Ini mencegah injeksi arahan pengoptimalan melalui nilai input yang disediakan pengguna.

## Aturan validasi
<a name="advanced-prompt-optimization-selective-validation"></a>

Konfigurasi berikut menyebabkan kesalahan validasi.


| Konfigurasi tidak valid | Kesalahan | Resolusi | 
| --- | --- | --- | 
| Tag bersarang (misalnya, `<advpo:optimize>` di dalam`<advpo:exclude>`, atau sebaliknya) | ValidationException | Hapus sarangnya. Gunakan hanya satu jenis tag di lokasi tertentu di template Anda. | 
| Tag cacat atau tidak tertutup (misalnya, tanpa tag `<advpo:optimize>` penutup) | ValidationException | Pastikan setiap tag pembuka memiliki tag penutup yang cocok. | 
| Tag yang salah eja di `advpo:` namespace (misalnya,) `<advpo:optmize>` | ValidationException | Periksa ejaan `optimize` dan`exclude`. Advanced Prompt Optimization memvalidasi tag pembukaan dan penutupan. | 

## Perilaku keluaran
<a name="advanced-prompt-optimization-selective-output"></a>

Dalam prompt yang dioptimalkan yang dikembalikan di akhir pekerjaan, pengoptimal menghapus semua `<advpo:optimize>` dan `<advpo:exclude>` tag. Anda menerima prompt bersih tanpa markup pengoptimalan apa pun. Konten di dalam `<advpo:exclude>` blok (dan konten yang tidak ditandai dalam mode inklusi eksplisit) tampak tidak berubah. Konten di dalam `<advpo:optimize>` blok berisi versi ditulis ulang pengoptimal.

## Perilaku tambahan
<a name="advanced-prompt-optimization-selective-edge-cases"></a>

Tabel berikut menjelaskan bagaimana pengoptimal menangani skenario tambahan.


| Skenario | Perilaku | 
| --- | --- | 
| Beberapa `<advpo:optimize>` blok | Semua memenuhi syarat untuk optimasi. Pengoptimal dapat menulis ulang salah satu atau semuanya. | 
| Beberapa `<advpo:exclude>` blok | Semua konten di dalam semua `<advpo:exclude>` tag dibekukan. | 
| `<advpo:optimize>`Blok kosong | Berlaku. Pengoptimal menghasilkan dan menyisipkan konten baru di lokasi itu. | 
| Whitespace-only `<advpo:optimize>`blok | Diperlakukan sama seperti blok kosong. | 
| `<advpo:exclude>`Blok kosong | Diabaikan (no-op). Tidak ada konten untuk dibekukan. | 
| Tag membagi kalimat tengah kata atau frase tengah | Diizinkan. Pengoptimal beroperasi pada konten yang ditandai sebagai satu unit. Pengoptimal mungkin mengeluarkan peringatan. | 

## Praktik terbaik
<a name="advanced-prompt-optimization-selective-best-practices"></a>

Ikuti praktik terbaik ini saat menggunakan optimasi selektif.
+ **Mulailah dengan `<advpo:optimize>` tag.** Mode inklusi eksplisit adalah yang paling intuitif — Anda menandai apa yang ingin Anda tingkatkan, dan yang lainnya tetap sama.
+ **Tetap optimalkan blok mandiri.** Tempatkan instruksi lengkap atau bagian logis di dalam setiap blok. Memisahkan kalimat tengah diperbolehkan tetapi dapat menghasilkan hasil yang canggung.
+ **Gunakan optimasi selektif saat prompt Anda sudah disetel sebagian.** Jika Anda telah menyetel batasan keselamatan atau instruksi format keluaran, bekukan sehingga pengoptimal berfokus pada bagian yang masih perlu dikerjakan.
+ **Kombinasikan dengan pola multi-putaran.** Dalam prompt multi-fase monolitik (lihat[Mengoptimalkan prompt multi-putaran dan bertahap](advanced-prompt-optimization-advanced-topics.md#advanced-prompt-optimization-multi-turn)), gunakan `<advpo:optimize>` untuk menargetkan hanya instruksi fase yang perlu ditingkatkan sambil menjaga boilerplate penanganan percakapan tetap beku.