๐๏ธ ๐ข Ringkasan
Mencegah injeksi prompt bisa sangat sulit, dan hanya ada sedikit pertahanan kuat terhadapnya (@crothers2022machine)(@goodside2021gpt). Namun, ada beberapa solusi yang masuk akal. Misalnya, jika aplikasi Anda tidak perlu menghasilkan teks bebas, jangan izinkan keluaran semacam itu. Ada banyak cara berbeda untuk melindungi sebuah prompt. Kita akan membahas beberapa yang paling umum di sini.
๐๏ธ ๐ข Pertahanan Instruksi
Anda dapat menambahkan instruksi untuk sebuah prompt, yang mendorong model untuk berhati-hati tentang apa yang terjadi selanjutnya dalam prompt. Gunakan prompt ini sebagai contoh:
๐๏ธ ๐ข Penyaringan Kata / Frasa (Filtering)
Filtering adalah teknik umum untuk mencegah peretasan prompt (@kang2023exploiting). Ada beberapa jenis filtrasi, tetapi ide dasarnya adalah memeriksa kata-kata dan frasa dalam prompt awal atau keluaran yang harus diblokir. Anda dapat menggunakan daftar blokir atau daftar izin untuk tujuan ini(@selvi2022exploring). Blocklist adalah daftar kata-kata dan frasa yang harus diblokir, dan allowlist adalah daftar kata-kata dan frasa yang harus diizinkan.
๐๏ธ ๐ข Post-Prompting
Pertahanan post-prompting (@christoph2022talking) hanya meletakkan input pengguna sebelum prompt. Gunakan prompt ini sebagai contoh:
๐๏ธ ๐ข Random Sequence Enclosure
Pertahanan lain adalah menyertakan masukan pengguna di antara dua urutan karakter acak (@armstrong2022using). Gunakan prompt ini sebagai contoh:
๐๏ธ ๐ข Sandwich Defense
Sandwich defense melibatkan tindakan 'sandwiching' masukan pengguna di antara dua prompt. Ambil pernyataan berikut sebagai contoh:
๐๏ธ ๐ข XML Tagging
XML Tagging dapat menjadi pertahanan yang sangat kuat ketika dilakukan dengan benar (terutama dengan XML+escape). Hal ini melibatkan menempatkan masukan pengguna di antara tag XML (misalnya ``). Gunakan petunjuk ini sebagai contoh:
๐๏ธ ๐ข Evaluasi LLM secara Terpisah
LLM yang dipisahkan dapat digunakan untuk menilai apakah sebuah perintah bersifat bermusuhan. Berikut adalah contoh tanda kurung untuk sistem tersebut (@armstrong2022using)). Hal itu cukup berhasil dalam mengidentifikasi prompt yang bersifat adversarial.
๐๏ธ ๐ข Pendekatan Lainnya
Meskipun pendekatan sebelumnya dapat sangat kuat, beberapa pendekatan lain, seperti menggunakan model yang berbeda, termasuk penyetelan yang baik, bimbingan lunak, dan pembatasan panjang, juga dapat efektif.