View a markdown version of this page

Optimasi selektif - Amazon Bedrock

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

Optimasi selektif

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

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

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

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

contoh Menggunakan advpo: optimalkan untuk fokus pada satu bagian

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.
contoh Menggunakan advpo: exclude untuk membekukan bagian tertentu

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>
contoh Beberapa blok pengoptimalan

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.
contoh Blok optimasi kosong untuk pembuatan konten

<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

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

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 danexclude. Advanced Prompt Optimization memvalidasi tag pembukaan dan penutupan.

Perilaku keluaran

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

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

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 (lihatMengoptimalkan prompt multi-putaran dan bertahap), gunakan <advpo:optimize> untuk menargetkan hanya instruksi fase yang perlu ditingkatkan sambil menjaga boilerplate penanganan percakapan tetap beku.