Role prompting berarti memberi tahu model harus menjadi siapa sebelum kamu memberi tahu apa yang harus dilakukannya: "Kamu adalah tutor matematika yang sabar", "Berperanlah sebagai hiring manager untuk lowongan junior developer". Peran itu mengubah untuk siapa jawaban ditulis, kata-kata apa yang dipakai, seberapa dalam pembahasannya, dan apa yang diperhatikannya. Peran tidak memberi model pengetahuan yang belum dimilikinya: peran adalah cara mengarahkan jawaban, bukan cara menambahkan fakta.
Apa yang diubah oleh sebuah peran
Peran adalah cara ringkas untuk menetapkan beberapa hal sekaligus:
- Pembaca dan kosakata. Tutor untuk pemula mendefinisikan istilah dan memakai analogi; senior engineer yang menulis untuk sesama engineer melewatkan keduanya.
- Standar. Editor yang ketat menandai kalimat yang akan dibiarkan lolos oleh pembaca yang ramah. Peran menentukan apa yang dianggap masalah.
- Fokus. Reviewer keamanan dan reviewer performa membaca fungsi yang sama tapi memperhatikan hal yang berbeda.
- Perilaku. Pewawancara bertanya lalu menunggu; tutor bisa diminta memberi petunjuk alih-alih jawaban.
Pindah-pindah di antara tiga tab di bawah ini. Tugasnya sama persis di setiap tab; hanya perannya yang berubah.
API (Application Programming Interface) adalah sekumpulan aturan yang memungkinkan satu software berkomunikasi dengan software lain. API menentukan permintaan apa yang bisa kamu buat, bagaimana membuatnya, dan apa yang kamu dapatkan kembali. Misalnya, aplikasi cuaca memakai API dari layanan cuaca untuk mengambil prakiraan. API memungkinkan developer memakai fitur dan data dari sistem lain tanpa perlu tahu cara kerja sistem itu di dalamnya.
"Kamu adalah seorang ahli" nyaris tidak mengubah jawabannya: bentuknya tetap umum dan hanya ditambah istilah teknis, karena "ahli" tidak mengatakan apa pun tentang siapa pembacanya. Peran yang spesifik mengubah kosakata, contoh, dan titik acuannya, karena peran itu menyebut pembacanya dan sesuatu yang sudah diketahui pembaca itu.
Apa yang tidak diubah oleh sebuah peran
Peran tidak bisa menambah pengetahuan. "Kamu adalah pengacara pajak kelas dunia" tidak memberi model aturan pajak tahun ini kalau model tidak pernah mempelajarinya, dan persona yang percaya diri bisa membuat jawaban yang salah terdengar lebih berwibawa, bukan sebaliknya. Jangan mengandalkan label ahli untuk meningkatkan akurasi. Kalau kebenarannya penting, berikan fakta atau dokumen yang dibutuhkan model dan minta model mengatakannya kalau ragu; halusinasi AI membahas prompt-prompt yang membantu.
Hal yang sama berlaku untuk orang sungguhan. "Jawablah seperti seorang programmer terkenal" memberimu tiruan gaya publik orang itu. Model tidak tahu pendapat pribadinya, jadi apa pun yang dikatakannya dengan suara orang itu tentang pertanyaan baru adalah karangan.
Tulis peran yang spesifik
Peran yang berguna biasanya menyebut empat hal: pekerjaannya, pembacanya, tujuannya, dan standarnya. Bandingkan:
- "Kamu adalah penulis" menjadi "Kamu adalah editor di sebuah blog teknologi yang memotong setiap kalimat yang tidak membantu pemula mengikuti langkah-langkahnya."
- "Kamu adalah programmer" menjadi "Kamu adalah senior Python developer yang me-review pull request rekan juniornya. Tunjukkan bug lebih dulu, lalu keterbacaan, dan jelaskan setiap poin supaya dia bisa belajar darinya." Lihat prompt untuk code review untuk prompt review yang lengkap.
- "Berperanlah sebagai guru" menjadi "Berperanlah sebagai guru kimia yang menyiapkan anak umur 15 tahun untuk ujian. Ajukan pertanyaan kepadaku alih-alih memberi jawaban, dan beri petunjuk kalau jawabanku salah."
Peran adalah satu bagian dari prompt, bukan seluruh prompt. Peran bekerja bersama tugas yang jelas, konteks yang tidak bisa ditebak model, dan bentuk jawaban yang kamu inginkan; panduan menulis prompt membahas bagian-bagian lainnya. Kalau peran dan tugasnya menarik ke arah yang berbeda, seperti "reviewer yang ketat" yang diminta "menenangkan penulisnya", balasannya mencoba melakukan keduanya dan sering kali tidak berhasil di keduanya.
Prompt "act as" untuk berlatih
Bentuk "act as" (berperanlah sebagai) menjadi populer lewat kumpulan prompt yang dibagikan orang, di mana model memerankan pewawancara kerja, teman berlatih bahasa, atau bahkan terminal Linux. Bermain peran berguna untuk apa pun yang ingin kamu latih: wawancara, percakapan yang sulit, presentasi, bahasa baru.
Perbedaan antara permainan peran yang berhasil dan yang berantakan ada di aturannya. Beri tahu peran itu apa yang harus dilakukan di setiap giliran, kapan harus menunggumu, dan kapan harus berhenti. Tanpa aturan itu, model bisa menjalankan seluruh sesi dalam satu balasan: lima pertanyaan sekaligus, atau satu pertanyaan yang langsung diikuti contoh jawabannya.
Baik, mari kita mulai. Aku akan mulai dengan pertanyaan dasar.
Pertanyaan 1: Di JavaScript, apa bedanya let, const, dan var?
Santai saja dan jawablah seperti di wawancara sungguhan.
Ganti posisi dan topiknya untuk berlatih wawancaramu sendiri. Baris "tunggu jawabanku" yang membuat model hanya mengajukan satu pertanyaan per giliran, dan "setelah lima pertanyaan, berhenti" memberi sesinya akhir dan ringkasan.
Di mana peran ditaruh
Peran yang kamu inginkan di setiap balasan tempatnya di prompt sistem: kolom system di API, atau instruksi kustom dan instruksi proyek di aplikasi chat. Di sana, peran berlaku untuk seluruh percakapan tanpa perlu diulang. Untuk permintaan sekali pakai, taruh perannya di kalimat pertama pesanmu, sebelum tugasnya.
import anthropic
client = anthropic.Anthropic()
MODEL = "your-model-id" # e.g. from your provider's model list
message = client.messages.create(
model=MODEL,
max_tokens=500,
system="You are a patient programming tutor for adults in their first month of coding. Give hints before full solutions.",
messages=[{"role": "user", "content": "Why does my loop print the last item twice?"}],
)
print(message.content[0].text)
Peran juga bisa dipakai di tengah percakapan. Setelah model membuat draf, memintanya "sekarang berperanlah sebagai reviewer yang skeptis terhadap draf di atas dan sebutkan tiga titik terlemahnya" sering memunculkan masalah yang terlewat di putaran pertama, karena peran yang baru mengubah apa yang dicari model.
Pertanyaan yang sering diajukan
Apa itu role prompting?
Role prompting adalah memberi tahu model harus menjadi siapa sebelum memberi tahu apa yang harus dilakukan, misalnya "Kamu adalah tutor matematika yang sabar untuk anak umur 12 tahun" atau "Berperanlah sebagai pewawancara untuk lowongan junior developer." Peran itu membentuk pembaca, kosakata, kedalaman, dan fokus balasannya, dan dalam percakapan bisa mengubah cara model berperilaku, misalnya bertanya alih-alih menjawab.
Apakah memberi tahu AI bahwa dia seorang ahli membuatnya lebih akurat?
Jangan mengandalkannya. Label seperti "Kamu adalah ahli kelas dunia" tidak memberi model pengetahuan yang tidak dimilikinya, dan bisa membuat jawaban yang salah terdengar lebih meyakinkan. Untuk meningkatkan akurasi, berikan fakta atau sumber yang dibutuhkan model, minta model mengatakannya kalau ragu, lalu cek hasilnya.
Di mana sebaiknya peran ditaruh?
Untuk peran yang harus bertahan sepanjang percakapan, taruh di prompt sistem: kolom system di API, atau instruksi kustom dan instruksi proyek di aplikasi chat. Untuk permintaan sekali pakai, taruh di kalimat pertama pesanmu, sebelum tugasnya.
Apa itu prompt "act as"?
Ini adalah prompt yang diawali "Act as" (berperanlah sebagai) dan memberi model sebuah peran untuk dimainkan: pewawancara, teman berlatih bahasa, terminal Linux, pemandu wisata. Kumpulan prompt yang dibagikan orang membuat pola ini populer. Prompt seperti ini paling berhasil kalau juga menyebutkan apa yang harus dilakukan peran itu di setiap giliran dan kapan harus berhenti.
Apa yang membuat role prompt bagus?
Kespesifikan. Sebutkan pekerjaannya, pembacanya, tujuannya, dan standarnya: "senior Python developer yang me-review pull request rekan juniornya, bug dulu, lalu keterbacaan" memberi model jauh lebih banyak bahan daripada "seorang ahli." Lalu tulis sisa prompt seperti biasa: tugas, konteks, dan format.