BAB 19
Sumber: Disusun berdasarkan dokumentasi Anthropic, OpenAI, dan praktik terbaik industri Estimasi Waktu: 35-45 menit Prasyarat: Pelajaran 08-09 (Description dan Prompting)
Materi ini membahas System Prompt - instruksi tersembunyi yang mengarahkan perilaku AI secara konsisten. Memahami system prompt adalah kunci untuk membangun interaksi AI yang dapat diandalkan, baik untuk penggunaan personal maupun saat membangun aplikasi berbasis AI.
Setelah mempelajari materi ini, kamu akan mampu:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STRUKTUR PESAN KE AI β
β β
β 1. SYSTEM MESSAGE (System Prompt) β
β β Instruksi "di balik layar" β
β β Mengatur perilaku, kepribadian, batasan β
β β Tidak terlihat oleh user akhir β
β β Konsisten sepanjang percakapan β
β β
β 2. USER MESSAGE β
β β Input dari pengguna β
β β Pertanyaan, perintah, data β
β β Bisa berupa teks, gambar, dll β
β β
β 3. ASSISTANT MESSAGE β
β β Respons dari AI β
β β Menjadi bagian dari percakapan berikutnya β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
System: Kamu adalah asisten customer service untuk toko online
"TokoKu". Jawab dengan ramah, profesional, dan bahasa
Indonesia. Jika ada pertanyaan tentang pesanan, minta
nomor order terlebih dahulu.
User: Halo, pesanan saya belum sampai!
Assistant: Halo! Saya senang bisa membantu. Untuk mengecek
status pesanan Anda, boleh saya minta nomor order-nya?
## IDENTITAS
Kamu adalah [peran], yang [deskripsi singkat kepakaran].
## TUJUAN
Tugasmu adalah [tugas utama].
## CARA BEKERJA
1. [Langkah/langkah pendekatan]
2. [Metodologi]
3. [Framework yang digunakan]
## BATASAN
- KAMU TIDAK BOLEH [batasan kritis 1]
- KAMU TIDAK BOLEH [batasan kritis 2]
- Jika [kondisi], maka [tindakan]
## FORMAT OUTPUT
- [Format yang diharapkan]
- [Panjang/ketebalan]
- [Struktur]
## GAYA KOMUNIKASI
- [Tone of voice]
- [Level detail]
- [Bahasa]
## PENANGANAN KASUS KHUSUS
- Jika user bertanya di luar topik: [tindakan]
- Jika informasi tidak cukup: [tindakan]
- Jika ada potensi bahaya: [tindakan]
## IDENTITAS
Kamu adalah tutor pemrograman senior yang mengajar mahasiswa
pemula hingga menengah. Kamu menguasai Python, JavaScript,
dan konsep computer science fundamental.
## TUJUAN
Membantu mahasiswa memahami konsep pemrograman dan menyelesaikan
masalah kode mereka SENDIRI - bukan menyelesaikan kodenya untuk mereka.
## CARA BEKERJA
1. Pahami dulu MASALAH yang dihadapi mahasiswa
2. Identifikasi konsep apa yang belum dipahami
3. Jelaskan konsep dengan analogi kehidupan sehari-hari
4. Berikan CONTOH KODE SEDERHANA yang mendemonstrasikan konsep
5. Biarkan mahasiswa menerapkan konsep ke masalahnya
6. Review dan berikan feedback
## BATASAN
- KAMU TIDAK BOLEH memberikan jawaban lengkap untuk tugas/assignment
- KAMU TIDAK BOLEH menulis kode yang menyelesaikan masalah langsung
- Berikan HINTS dan ARAHAN, bukan solusi lengkap
- Jika mahasiswa minta jawaban langsung, arahkan kembali ke proses belajar
## FORMAT OUTPUT
- Gunakan blok kode dengan syntax highlighting
- Jelaskan KENAPA sebelum menunjukkan BAGAIMANA
- Sertakan komentar di kode contoh
## GAYA KOMUNIKASI
- Ramah dan mendorong
- Sabar - mahasiswa bisa saja sangat pemula
- Celebrate progress, tidak hanya correctness
- Gunakan bahasa Indonesia, istilah teknis boleh bahasa Inggris
## PENANGANAN KASUS KHUSUS
- Jika pertanyaan di luar pemrograman: arahkan kembali ke topik
- Jika kode mahasiswa berbahaya (malware, dsb): tolak dan jelaskan mengapa
- Jika mahasiswa frustrasi: validasi perasaan, ingatkan bahwa coding itu memang challenging
Temperature 0.0 Temperature 0.5 Temperature 1.0
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β Deterministicβ β Balanced β β Creative β
β Konsisten β β Fleksibel β β Variatif β
β Faktual β β Natural β β Eksploratif β
β "Aman" β β β β Berisiko β
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
Gunakan untuk: Gunakan untuk: Gunakan untuk:
- Code generation - Chatbot - Brainstorming
- Data extraction - Writing assistance - Creative writing
- Factual Q&A - Translation - Ideation
- Classification - Summarization - Role-playing
Max tokens = batas panjang output AI
Tips:
- Set ke nilai yang cukup, tapi tidak berlebihan
- Terlalu pendek β output terpotong
- Terlalu panjang β pemborosan biaya dan waktu
- Perkirakan: 1 token β 0.75 kata (bahasa Inggris)
- Bahasa Indonesia: 1 token β 0.5-0.6 kata
Top-P mengontrol keragaman kata yang dipertimbangkan AI
Top-P 0.1 β Hanya kata paling probable β Deterministic
Top-P 0.5 β Kata probable + moderate β Balanced
Top-P 0.9 β Banyak opsi dipertimbangkan β Creative
Tip: Biasanya cukup atur temperature SAJA.
Jika perlu kontrol lebih, gunakan Top-P, bukan keduanya.
Top-K membatasi jumlah kata kandidat di setiap langkah
Top-K 1 β Selalu pilih kata paling probable
Top-K 50 β Pilih dari 50 kata teratas
Top-K 0 β Tidak ada batasan
Tip: Jarang perlu diubah. Default biasanya sudah optimal.
Frequency Penalty β Mengurangi pengulangan kata yang sudah sering muncul
Presence Penalty β Mendorong penggunaan topik/kata baru
Gunakan untuk:
- Mengurangi output yang repetitif
- Mendorong respons yang lebih beragam
- Long-form writing yang perlu variasi
Context Window = "Memori jangka pendek" AI
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CONTEXT WINDOW β
β (Total token yang bisa diproses dalam 1 percakapan) β
β β
β ββββββββββββ¬βββββββββββββββββββββββββ¬βββββββββββββββ β
β β System β Percakapan β Space untuk β β
β β Prompt β (User + Assistant) β Output β β
β ββββββββββββ΄βββββββββββββββββββββββββ΄βββββββββββββββ β
β β
β Total: tergantung model (100K - 200K tokens) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Model | Context Window | Keterangan |
|---|---|---|
| Claude 4 Sonnet | 200K tokens (~150K kata) | Sangat besar |
| Claude 4 Opus | 200K tokens (~150K kata) | Sangat besar |
| GPT-4o | 128K tokens (~96K kata) | Besar |
| GPT-4 Turbo | 128K tokens (~96K kata) | Besar |
| Gemini 1.5 Pro | 1M tokens (~750K kata) | Terbesar |
| Gemini 1.5 Flash | 1M tokens (~750K kata) | Terbesar |
Ketika percakapan mulai panjang:
"Ringkas diskusi kita sejauh ini dalam 3-4 poin kunci,
lalu kita lanjutkan dari sana."
Jangan campur terlalu banyak topik dalam satu percakapan.
Setiap topik baru β percakapan baru.
Ini menjaga konteks tetap fokus dan relevan.
Informasi penting di awal:
1. System prompt (selalu di paling awal)
2. Konteks/instruksi utama
3. Data pendukung
4. Pertanyaan spesifik
Buruk: Menyalin ulang dokumen yang sama berkali-kali
Baik: "Merujuk pada data yang sudah saya bagikan sebelumnya tentang X..."
Kamu bisa βmenyisipkanβ awal respons AI untuk mengarahkan format:
System: Kamu adalah ahli matematika yang selalu menunjukkan langkah kerja.
User: Hitung luas segitiga dengan alas 8 cm dan tinggi 5 cm.
Assistant (pre-fill): Mari kita hitung langkah demi langkah.
AI melanjutkan:
β Langkah 1: Rumus luas segitiga = 1/2 Γ alas Γ tinggi
β Langkah 2: Substitusi: 1/2 Γ 8 Γ 5
β Langkah 3: = 20 cmΒ²
Claude (dan beberapa model lain) merespons baik terhadap XML tags untuk memisahkan bagian-bagian prompt:
<role>
Kamu adalah data analyst senior.
</role>
<task>
Analisis dataset berikut dan temukan insight utama.
</task>
<data>
[Dataset dalam format CSV atau JSON]
</data>
<constraints>
- Fokus pada 3 insight terpenting
- Sertakan visualisasi yang direkomendasikan
- Gunakan bahasa non-teknis untuk kesimpulan
</constraints>
<output_format>
## Insight 1: [Judul]
- Data: ...
- Interpretasi: ...
- Rekomendasi: ...
</output_format>
Buat system prompt lengkap untuk salah satu use case berikut:
AI yang membantu mahasiswa melakukan riset: mencari paper, meringkas, mengidentifikasi gap, dan menyusun literature review.
AI yang me-review pull request: memeriksa bug, security issues, best practices, dan memberikan feedback konstruktif.
AI yang membantu merencanakan konten media sosial: ide konten, caption, hashtag, scheduling, dan analisis performa.
Gunakan template di atas dan pastikan mencakup semua bagian: identitas, tujuan, cara kerja, batasan, format output, gaya komunikasi, dan penanganan kasus khusus.