Meskipun tidak ada cara yang benar atau salah untuk mendesain perintah, ada strategi umum yang dapat Anda gunakan untuk memengaruhi respons model. Pengujian dan evaluasi yang ketat tetap penting untuk mengoptimalkan performa model.
Model bahasa besar (LLM) dilatih pada data teks dalam jumlah besar untuk mempelajari pola dan hubungan antar-unit bahasa. Jika diberi beberapa teks (prompt), model bahasa dapat memprediksi hal yang mungkin akan terjadi berikutnya, seperti alat pelengkapan otomatis yang canggih. Oleh karena itu, saat mendesain perintah, pertimbangkan berbagai faktor yang dapat memengaruhi prediksi model berikutnya.
Alur kerja rekayasa perintah
Rekayasa perintah adalah proses iteratif dan berbasis pengujian yang dapat meningkatkan performa model. Saat membuat perintah, penting untuk menentukan tujuan dan hasil yang diharapkan untuk setiap perintah dengan jelas dan mengujinya secara sistematis untuk mengidentifikasi area peningkatan.
Diagram berikut menunjukkan alur kerja rekayasa perintah:
Cara membuat perintah yang efektif
Ada dua aspek perintah yang pada akhirnya memengaruhi efektivitasnya: konten dan struktur.
- Konten:
Untuk menyelesaikan tugas, model memerlukan semua informasi relevan yang terkait dengan tugas tersebut. Informasi ini dapat mencakup petunjuk, contoh, informasi kontekstual, dan sebagainya. Untuk mengetahui detailnya, lihat Komponen perintah.
- Struktur:
Meskipun semua informasi yang diperlukan diberikan dalam perintah, memberikan struktur informasi akan membantu model mengurai informasi. Hal-hal seperti pengurutan, pemberian label, dan penggunaan pemisah dapat memengaruhi kualitas respons. Untuk contoh struktur perintah, lihat Contoh template perintah.
Komponen perintah
Tabel berikut menampilkan komponen penting dan opsional dari perintah:
Komponen | Deskripsi | Contoh |
---|---|---|
Tujuan | Hal yang ingin dicapai model. Berikan informasi yang spesifik dan sertakan tujuan menyeluruh. Juga disebut "misi" atau "sasaran". | Tujuan Anda adalah membantu siswa dalam memecahkan soal matematika tanpa langsung memberi mereka jawaban. |
Petunjuk | Petunjuk langkah demi langkah tentang cara melakukan tugas yang sedang dihadapi. Juga disebut "tugas", "langkah", atau "petunjuk". |
|
Komponen opsional | ||
Petunjuk sistem | Perintah teknis atau lingkungan yang mungkin melibatkan kontrol atau perubahan perilaku model di seluruh kumpulan tugas. Untuk banyak API model, petunjuk sistem ditentukan dalam parameter khusus. Petunjuk sistem hanya tersedia di Gemini 1.5 Pro. |
Anda adalah pakar coding yang berspesialisasi dalam merender kode untuk antarmuka frontend. Saat saya menjelaskan komponen situs yang ingin saya buat, harap tampilkan HTML dan CSS yang diperlukan untuk melakukannya. Jangan berikan penjelasan untuk kode ini. Juga menawarkan beberapa saran desain UI. |
Persona | Siapa atau apa yang menjadi peran model. Juga disebut "peran" atau "visi". | Anda adalah tutor matematika yang membantu siswa mengerjakan pekerjaan rumah matematika mereka. |
Batasan | Pembatasan pada hal yang harus dipatuhi model saat membuat respons, termasuk hal yang dapat dan tidak dapat dilakukan model. Juga disebut "pembatasan", "batas", atau "kontrol". | Jangan memberikan jawaban kepada siswa secara langsung. Sebagai gantinya, berikan petunjuk tentang langkah berikutnya untuk memecahkan masalah. Jika siswa benar-benar tidak tahu apa yang harus dilakukan, berikan langkah-langkah terperinci untuk menyelesaikan masalah tersebut. |
Konteks | Nuansa respons. Anda juga dapat memengaruhi gaya dan nuansa dengan menentukan persona. Juga disebut "gaya", "suara", atau "suasana hati". | Tanggapi dengan cara yang santai dan teknis. |
Konteks | Informasi apa pun yang perlu dirujuk oleh model untuk melakukan tugas yang sedang dihadapi. Juga disebut "latar belakang", "dokumen", atau "data input". | Salinan rencana pelajaran siswa untuk matematika. |
Contoh few-shot | Contoh tampilan respons untuk perintah tertentu. Juga disebut "contoh" atau "sampel". | input: Saya mencoba menghitung jumlah bola golf yang dapat dimasukkan ke dalam kotak yang
memiliki volume satu meter kubik. Saya telah mengonversi satu meter kubik menjadi sentimeter kubik dan
membaginya dengan volume bola golf dalam sentimeter kubik, tetapi sistem mengatakan bahwa jawaban saya
salah.output: Bola golf berbentuk bulat dan tidak dapat dikemas ke dalam ruang dengan
efisiensi yang sempurna. Penghitungan Anda memperhitungkan efisiensi pengepakan maksimum bola. |
Langkah-langkah penalaran | Beri tahu model untuk menjelaskan penalarannya. Hal ini terkadang dapat meningkatkan kemampuan penalaran model. Juga disebut "langkah-langkah berpikir". | Jelaskan alasan Anda langkah demi langkah. |
Format respons | Format yang Anda inginkan untuk respons. Misalnya, Anda dapat memberi tahu model untuk menghasilkan respons dalam JSON, tabel, Markdown, paragraf, daftar berbutir, kata kunci, presentasi singkat, dan sebagainya. Juga disebut "struktur", "presentasi", atau "tata letak". | Format respons Anda dalam Markdown. |
Rangkuman | Pengulangan ringkas poin-poin penting perintah, terutama batasan dan format respons, di akhir perintah. | Jangan memberikan jawaban dan berikan petunjuk. Selalu format respons Anda dalam format Markdown. |
Perlindungan | Mendasari pertanyaan pada misi bot. Juga disebut "aturan keselamatan". | T/A |
Bergantung pada tugas tertentu yang sedang ditangani, Anda dapat memilih untuk menyertakan atau mengecualikan beberapa komponen opsional. Anda juga dapat menyesuaikan pengurutan komponen dan memeriksa pengaruhnya terhadap respons.
Contoh template perintah
Template perintah berikut menunjukkan contoh tampilan perintah yang terstruktur dengan baik:
<OBJECTIVE_AND_PERSONA> You are a [insert a persona, such as a "math teacher" or "automotive expert"]. Your task is to... </OBJECTIVE_AND_PERSONA> <INSTRUCTIONS> To complete the task, you need to follow these steps: 1. 2. ... </INSTRUCTIONS> ------------- Optional Components ------------ <CONSTRAINTS> Dos and don'ts for the following aspects 1. Dos 2. Don'ts </CONSTRAINTS> <CONTEXT> The provided context </CONTEXT> <OUTPUT_FORMAT> The output format must be 1. 2. ... </OUTPUT_FORMAT> <FEW_SHOT_EXAMPLES> Here we provide some examples: 1. Example #1 Input: Thoughts: Output: ... </FEW_SHOT_EXAMPLES> <RECAP> Re-emphasize the key aspects of the prompt, especially the constraints, output format, etc. </RECAP> |
Praktik terbaik
Praktik terbaik desain perintah mencakup hal berikut:
- Berikan petunjuk yang jelas dan spesifik
- Menyertakan contoh few-shot
- Menetapkan peran
- Menambahkan informasi kontekstual
- Menggunakan petunjuk sistem
- Perintah struktur
- Meminta model untuk menjelaskan penalarannya
- Membagi tugas yang kompleks
- Bereksperimen dengan parameter value
- Strategi iterasi prompt
Langkah selanjutnya
- Pelajari contoh perintah di Galeri perintah.
- Pelajari cara mengoptimalkan perintah untuk digunakan dengan model Google menggunakan pengoptimal perintah Vertex AI (Pratinjau).
- Pelajari praktik terbaik responsible AI dan filter keamanan Vertex AI.