Menu

Cara Menulis Prompt AI: 6 Bagian dan Contohnya

Prompt yang bagus adalah arahan singkat: peran, tugas, konteks yang tidak bisa ditebak model, materi yang akan diolah, bentuk jawabannya, dan batasannya. Setiap bagian memperbaiki satu cara jawaban bisa melenceng.

Setiap prompt di bawah bisa diedit: ubah, lalu buka di ChatGPT, Claude, atau aplikasi AI lain.

Prompt adalah sebuah arahan. Model hanya membaca apa yang kamu tulis, jadi setiap fakta yang dibutuhkannya dan setiap preferensi yang kamu punya harus tertulis di sana. Ketika jawaban yang kembali terasa umum, penyebabnya hampir selalu sesuatu yang tidak dicantumkan prompt, bukan sesuatu yang ditulis dengan buruk.

Kebanyakan prompt yang berguna dibangun dari enam bagian yang sama. Blok di bawah ini berisi keenamnya. Matikan beberapa bagian untuk melihat prompt tanpa bagian itu, isi bahasa pemrogramanmu sendiri, lalu buka hasilnya di ChatGPT atau Claude dan bandingkan.

Menjelaskan pesan error
Fill in
Parts
Kamu adalah tutor pemrograman yang sabar untuk orang-orang di bulan pertama mereka belajar coding.
Jelaskan apa arti error Python ini dan cara memperbaikinya.
Aku sedang mengikuti kursus untuk pemula. Aku sudah paham variabel, string, list, dan for loop. Aku belum belajar class atau exception.
Kodeku:age = 30 print("Age: " + age)Error-nya:TypeError: can only concatenate str (not "int") to str
Jawab dalam tiga bagian pendek dengan label tebal: apa arti error-nya, kenapa kodeku menyebabkannya, dan kode yang sudah diperbaiki.
Pakai kata-kata sederhana dan jangan pakai konsep yang belum aku pelajari. Seluruh jawaban jangan lebih dari 120 kata.
Try it
Example replyReplies vary between models and runs.

Artinya: + bisa menggabungkan dua string, atau menjumlahkan dua angka, tapi tidak bisa menggabungkan string dengan angka. Python tidak menebak mana yang kamu maksud, jadi program berhenti.

Kenapa kodemu menyebabkannya: "Age: " adalah string dan age menyimpan angka 30. Baris itu meminta Python merekatkan keduanya dengan +.

Kode yang sudah diperbaiki: ubah dulu angkanya menjadi teks dengan str():

age = 30
print("Age: " + str(age))

Kode ini mencetak Age: 30.

Enam bagian prompt

Peran memberi tahu model suara dan penilaian siapa yang dipakai. "Tutor yang sabar untuk pemula" dan "senior engineer yang me-review kode produksi" memberikan jawaban yang sangat berbeda untuk pertanyaan yang sama. Peran paling berguna ketika peran itu menyiratkan siapa pembacanya dan standar apa yang dipakai; lihat role prompting untuk tahu kapan peran membantu dan kapan tidak.

Tugas adalah satu kalimat yang menyatakan apa yang harus dilakukan. Awali dengan kata kerja: jelaskan, tulis ulang, bandingkan, daftarkan, perbaiki, ringkas. Kalau kamu tidak bisa menulis tugasnya dalam satu kalimat, prompt itu mungkin berisi dua tugas, dan salah satunya biasanya mendapat jawaban yang lebih tipis.

Konteks adalah semua yang tidak bisa ditebak model: siapa kamu, apa yang sudah kamu ketahui, untuk apa hasilnya, dan apa yang sudah kamu coba. Dalam contoh di atas, "Aku belum belajar class atau exception" adalah baris yang mencegah model menjawab dengan try dan except.

Input adalah materi yang akan diolah: kodenya, email-nya, tabelnya, error-nya. Tempel secara utuh. Ringkasan kodemu adalah deskripsi tentang apa yang kamu kira dilakukan kode itu, dan bug-nya biasanya bersembunyi di celah antara keduanya.

Format menyebutkan seperti apa jawabannya: daftar, tabel, tiga bagian berlabel, JSON, satu baris saja. Tanpa format, model memilihkan bentuknya untukmu, dan model chat cenderung memilih yang panjang. Output terstruktur membahas lebih jauh untuk kasus ketika jawabannya harus dibaca oleh program.

Batasan adalah aturan pembatasnya: panjang, kosakata, hal yang harus dihindari, hal yang tidak boleh diubah. Angka ("kurang dari 120 kata") lebih efektif daripada kata sifat ("pendek"), karena "pendek" punya arti berbeda bagi pembaca yang berbeda, dan model adalah salah satu pembaca itu.

Samar dan spesifik

Ini permintaan yang sama yang ditulis dengan dua cara. Pindah-pindah tab dan bandingkan balasannya.

Tulis fungsi yang mengurutkan list.
Try it
Example replyReplies vary between models and runs.

Ini fungsi pengurutan sederhana di Python:

def sort_list(items):
    return sorted(items)

Kamu bisa memanggilnya seperti sort_list([3, 1, 2]), yang mengembalikan [1, 2, 3].

Prompt yang samar mendapat jawaban yang benar untuk pertanyaan yang tidak pernah ditanyakan siapa pun. Model harus menebak bahasanya, datanya, urutannya, dan apakah input boleh diubah, dan setiap kali model menebak kasus yang paling umum. Prompt yang spesifik sudah menjawab keempatnya di awal, jadi tidak ada lagi yang perlu ditebak.

Kebiasaan yang membuat prompt lebih baik

  • Sebutkan tugasnya di awal, dan ulangi setelah materi yang panjang. Di prompt yang pendek, awali dengan tugas supaya latar belakang yang menyusul terbaca dengan tujuan yang jelas. Kalau kamu menempel dokumen yang panjang, taruh dokumennya lebih dulu dan pertanyaannya di akhir, sambil mengulang batasan-batasan utamanya di sana, supaya instruksinya berada dekat dengan titik di mana model mulai menulis.
  • Sebutkan apa yang harus dilakukan, bukan hanya apa yang harus dihindari. "Tulis dengan bahasa sederhana untuk anak umur 12 tahun" memberi model target yang jelas. "Jangan terlalu teknis" hanya menutup satu arah dan membiarkan arah lainnya terbuka.
  • Pisahkan instruksi dari materi. Kalau kamu menempel email atau file, tandai di mana awal dan akhirnya supaya model tidak salah mengira kalimat di dalamnya sebagai instruksi. Delimiter dan tag XML membahas pilihan-pilihannya.
  • Tunjukkan satu contoh output ketika formatnya tidak biasa. Contoh menunjukkan bentuknya lebih cepat daripada satu paragraf penjelasan. Inilah yang disebut few-shot prompting.
  • Perbaiki promptnya, bukan percakapannya. Kalau jawaban pertama salah, cari konteks atau batasan yang kurang, perbaiki promptnya, lalu jalankan lagi. Rangkaian koreksi yang panjang di chat memang bisa berhasil, tapi hasilnya kamu dapat tanpa prompt yang bisa dipakai ulang.

Daftar periksa sebelum mengirim

  1. Bisakah aku menyatakan tugasnya dalam satu kalimat yang diawali kata kerja?
  2. Apakah orang asing akan tahu untuk siapa jawabannya dan apa yang sudah aku ketahui?
  3. Apakah aku menempel materi aslinya, bukan deskripsinya?
  4. Apakah aku sudah menyebutkan seberapa panjang jawabannya dan seperti apa bentuknya?
  5. Apakah ada hal yang tidak boleh diubah atau tidak boleh dipakai dalam jawabannya?

Lima jawaban "ya" tidak menjamin balasan yang sempurna, tapi satu jawaban "tidak" adalah alasan paling mungkin untuk balasan yang buruk.

Pertanyaan yang sering diajukan

Apa yang membuat prompt AI bagus?

Prompt yang bagus menyatakan tugasnya dalam satu kalimat yang jelas, memberikan konteks yang tidak bisa ditebak model (siapa kamu, apa yang sudah kamu ketahui, untuk apa hasilnya), menyertakan materi yang akan diolah, dan menyebutkan seperti apa jawabannya: panjang, struktur, dan nada. Kebanyakan prompt yang lemah gagal di konteks dan format, bukan di pilihan kata.

Seberapa panjang sebuah prompt sebaiknya?

Sepanjang yang dibutuhkan pekerjaannya, tidak lebih. Pertanyaan satu baris cukup untuk jawaban satu baris. Tugas dengan pembaca, input, dan bentuk output yang spesifik biasanya butuh empat sampai delapan kalimat. Panjang yang mengulang instruksi yang sama tiga kali tidak membantu; panjang yang menambahkan konteks yang kurang justru membantu.

Apakah perlu bersikap sopan kepada ChatGPT atau Claude?

Kata-kata sopan tidak banyak membantu, tapi juga tidak merugikan. Yang mengubah jawaban adalah informasi: tujuan, pembaca, batasan, dan contoh output yang kamu inginkan. Tulislah seperti saat kamu memberi arahan kepada rekan kerja yang cakap tapi belum pernah melihat proyekmu.

Apakah ada template untuk menulis prompt?

Urutan yang bisa diandalkan adalah peran, tugas, konteks, input, format, batasan. Tidak setiap prompt butuh keenamnya. Mulailah dengan tugas, tambahkan konteks yang tidak bisa ditebak model, lalu tambahkan format dan batasan ketika jawaban pertama terlalu panjang, terlalu samar, atau bentuknya salah. Lihat template prompt untuk versi siap pakai dengan bagian kosong yang tinggal diisi.

Kenapa prompt yang sama memberikan jawaban yang berbeda setiap kali?

Model chat memilih setiap kata berikutnya dengan mengambil sampel dari sebuah distribusi peluang, jadi dua percobaan bisa berbeda hasilnya. Prompt yang lebih spesifik mempersempit ruang jawaban yang bagus, sehingga hasil tiap percobaan lebih mirip. Pengaturan temperature mengatur seberapa banyak keacakan yang dipakai dalam sampling itu.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai