Wawancara Seri AI 12: Bagaimana Mengoptimalkan Prompt?
Optimasi Prompt (Prompt Engineering/Optimization) adalah keterampilan kunci untuk membuat model bahasa besar "patuh", terutama dalam sistem RAG, yang secara langsung menentukan apakah model bersedia setia pada konten yang diambil, menghindari halusinasi, dan mengikuti format keluaran.
I. Prinsip Inti Optimasi Prompt
- Kejelasan > Kerumitan: Instruksi sederhana dan langsung seringkali lebih efektif daripada rantai pemikiran yang rumit.
- Berikan Kendala yang Cukup: Beri tahu model dengan jelas "apa yang bisa dan tidak bisa dilakukan".
- Berikan Contoh: Few-shot lebih stabil daripada Zero-shot.
- Dapat Diverifikasi: Minta model untuk mengeluarkan referensi atau tingkat kepercayaan, memudahkan penilaian selanjutnya.
- Optimasi Iteratif: Mulai dari basis, ubah hanya satu variabel setiap kali, bandingkan efeknya.
II. Teknik Optimasi Spesifik (dari Mudah ke Sulit)
1. Penetapan Peran (System Prompt)
Kamu adalah asisten layanan pelanggan profesional. Kamu hanya boleh menjawab pertanyaan berdasarkan [Referensi] yang disediakan di bawah ini.
Jika kamu tidak tahu jawabannya, katakan langsung "Tidak ada informasi terkait dalam referensi", jangan membuat-buat sendiri.
- Fungsi: Menetapkan batasan dan nada bicara.
- Titik Optimasi: Nada bicara (profesional/ramah), kekuatan kendala (ketat/longgar).
2. Instruksi yang Jelas
❌ Buruk: "Jawab pertanyaan pengguna."
✅ Baik: "Hanya berdasarkan [Referensi] di bawah ini. Jika referensi tidak mengandung jawaban, jawab 'Saya tidak dapat menjawab pertanyaan ini'."
3. Kontrol Format Keluaran
Harap keluarkan dalam format JSON berikut:
{
"answer": "Jawaban Anda",
"confidence": "Tinggi/Sedang/Rendah",
"sources": [1, 3]
}
- Kegunaan: Memudahkan penguraian, referensi, dan debugging di hilir.
4. Contoh Few-shot (Sangat Efektif)
Contoh 1:
Pertanyaan: Berapa hari cuti tahunan?
Referensi: Aturan cuti tahunan: 1 tahun 5 hari, 10 tahun 10 hari.
Jawaban: 1 tahun 5 hari, 10 tahun 10 hari.
Contoh 2:
Pertanyaan: Bagaimana perhitungan lembur?
Referensi: Lembur hari kerja 1,5 kali, akhir pekan 2 kali.
Jawaban: Hari kerja 1,5 kali, akhir pekan 2 kali.
Sekarang jawab:
Pertanyaan: {pertanyaan pengguna}
Referensi: {konten yang diambil}
Jawaban:
- Tips: Contoh harus mencakup berbagai tingkat kesulitan, sebaiknya sertakan contoh "tidak dapat menjawab".
5. Referensi Wajib
Di akhir jawaban, tandai nomor sumber dengan [citation:X]. Misalnya: "Cuti tahunan adalah 5 hari[citation:1]."
Jika menggabungkan beberapa sumber, tandai masing-masing.
6. Menetapkan Ambang Penolakan
- Kendala Keras: "Jika referensi sama sekali tidak terkait dengan pertanyaan, jawab 'Referensi tidak relevan'."
- Kendala Lunak: Gabungkan skor kepercayaan pengambilan, jika di bawah ambang batas, secara otomatis masuk ke cabang penolakan.
7. Rantai Pemikiran (Chain-of-Thought) untuk Penalaran Multi-Langkah
Pertanyaan: Siapa bos Zhang San?
Langkah: 1. Cari tahu departemen Zhang San. 2. Cari tahu kepala departemen tersebut. 3. Berikan jawaban akhir.
Silakan berpikir langkah demi langkah lalu keluarkan.
8. Instruksi Negatif (Negative Prompting)
Jangan membuat-buat jawaban. Jangan gunakan kata-kata kabur seperti "mungkin" atau "barangkali". Jangan keluarkan angka apa pun di luar referensi.
III. Bagaimana Mengevaluasi Kualitas Prompt?
| Metrik | Arti | Cara Mengukur |
|---|---|---|
| Kesetiaan | Apakah jawaban benar-benar didasarkan pada referensi? | Manual atau Faithfulness dari RAGAS |
| Akurasi Penolakan | Apakah menolak saat seharusnya menolak? | Hitung pada set uji tanpa jawaban |
| Tingkat Kepatuhan Format | Apakah keluaran sesuai JSON/referensi? | Pencocokan regex |
| Kepuasan Pengguna | Apakah jawaban bermanfaat? | Umpan balik online / A/B testing |
Saran: Siapkan set uji kecil (20-50 kasus tepi), jalankan setiap kali mengubah prompt, catat perubahannya.
IV. Jebakan Umum & Arah Optimasi
| Masalah | Kemungkinan Penyebab | Metode Optimasi |
|---|---|---|
| Model mengabaikan referensi, menjawab sendiri | Instruksi tidak cukup kuat | Ubah menjadi "Hanya berdasarkan referensi berikut", dan gunakan few-shot untuk menunjukkan penolakan |
| Model selalu mengatakan "tidak tahu" | Ambang penolakan terlalu tinggi | Turunkan ambang batas atau periksa kualitas pengambilan |
| Format keluaran berantakan, tidak sesuai JSON | Instruksi tidak jelas | Tambahkan contoh format yang ketat, atau gunakan function calling |
| Jawaban terlalu panjang/pendek | Tidak menentukan panjang | "Jawab dalam tidak lebih dari 3 kalimat" |
| Penalaran multi-langkah salah | Kemampuan penalaran model tidak cukup | Minta untuk menunjukkan penalaran langkah demi langkah, atau ganti dengan model yang lebih kuat |
| Muncul angka/tanggal halusinasi | Model bergantung pada pengetahuannya sendiri | Tekankan "jangan gunakan angka apa pun yang Anda ingat, lihat hanya referensi" |
评论
暂无已展示的评论。
发表评论(匿名)