
Contoh system prompt terbaik bukanlah kalimat satu baris "anda adalah asisten yang membantu" dari tutorial. Mereka adalah blok instruksi spesifik yang mencegah aplikasi produksi berjalan kacau pada pukul 2 pagi. Dalam pipeline konten kami sendiri, kami menjalankan lebih dari selusin subagen Claude, masing-masing diarahkan oleh system prompt yang telah kami tulis ulang berulang kali setelah memunculkan bug pada Claude Opus 4.8 atau GPT-5. Postingan ini melewatkan demo mainan. Anda mendapatkan 7 prompt sistem nyata yang siap disalin-tempel, dua di antaranya diambil langsung dari tumpukan produksi tersebut, plus anatomi 6 blok yang mendasari setiap prompt yang andal.
Poin-Poin Utama
- System prompt adalah instruksi persisten (peran, batasan, format keluaran, pagar pembatas) yang ditetapkan sekali sebelum pesan pengguna apa pun.
- Jika konten identik di seluruh 1.000 permintaan, letakkan di system prompt; konten per-permintaan masuk ke giliran pengguna.
- Enam blok membangun prompt yang andal: peran, konteks, batasan, format keluaran, pagar pembatas, contoh.
- Model penalaran (seri-o, GPT-5, Claude Opus 4.5+) menginginkan tujuan tingkat tinggi, bukan frasa agresif "anda HARUS".
Apa Saja Isi System Prompt? 6 Blok Pembangun
System prompt adalah sekumpulan instruksi persisten yang mendefinisikan peran, perilaku, batasan, dan format keluaran model untuk seluruh sesi, ditetapkan sekali sebelum pesan pengguna apa pun. Prompt yang andal memiliki enam blok pembangun: peran, konteks, batasan, format keluaran, pagar pembatas, dan contoh opsional. Susunlah blok-blok tersebut secara berurutan dan Anda telah memiliki versi singkat tentang cara menulis system prompt yang bertahan di lingkungan produksi.
Berikut adalah fungsi masing-masing blok.
| Blok | Fungsinya | Contoh satu baris |
|---|---|---|
| Peran | Menetapkan siapa model itu dan ruang lingkupnya | "Anda adalah agen dukungan untuk tim penagihan Acme." |
| Konteks | Latar belakang stabil yang dibutuhkan setiap giliran | "Pelanggan berada di paket Pro; pengembalian dana diperbolehkan dalam 14 hari." |
| Batasan | Aturan keras dan batas | "Jangan pernah menjanjikan pengembalian dana lebih dari $200 tanpa eskalasi." |
| Format Keluaran | Bentuk respons yang tepat | "Balas dalam kurang dari 120 kata, teks biasa, tanpa markdown." |
| Pagar Pembatas | Perilaku penolakan dan fallback | "Jika diminta nasihat hukum, tolak dan serahkan ke manusia." |
| Contoh | 1-2 sampel jawaban yang baik | Sebuah pertanyaan sampel dengan respons ideal. |

Blok peran lebih penting daripada kelihatannya. Dokumentasi Anthropic menyatakan dengan jelas: menetapkan peran dalam system prompt memfokuskan perilaku dan nada model, dan "bahkan satu kalimat pun membuat perbedaan". Untuk blok pagar pembatas, aturan penolakan dan keamanan layak mendapat pertimbangan serius; kami membahas hal-hal tersebut secara mendalam dalam panduan pagar pembatas kami. Dan jika Anda menghubungkan Claude, Anthropic merekomendasikan tag XML (<instructions>, <context>, <input>) untuk memisahkan setiap jenis konten agar model tidak mencampurnya.
Berikut adalah kerangka kerja siap tempel yang menyatukan keenam blok tersebut menjadi satu templat:
# ROLE
You are a {role} for {audience}. Your scope is {narrow scope}.
# CONTEXT
{Stable facts the model needs on every request.}
# CONSTRAINTS
- {Hard rule 1}
- {Hard rule 2}
- Do not {forbidden action}.
# OUTPUT FORMAT
{Exact structure: length, format, JSON schema.}
# GUARDRAILS
- If {edge case}, then {fallback or escalate to a human}.
- If you are unsure, say so instead of guessing.
# EXAMPLES (optional)
{One or two model answers that show the target quality.}Enam blok mengubah suasana menjadi spesifikasi. Ini hanyalah lapisan system-prompt. Untuk teknik yang lebih luas (few-shot, chain-of-thought, rantai prompt), lihat panduan rekayasa prompt kami, dan jangan masukkan teknik-teknik tersebut ke dalam system prompt itu sendiri. System prompt sesi juga berbeda dari file tingkat repositori berisi instruksi persisten tingkat proyek seperti CLAUDE.md, yang mengatur seluruh basis kode daripada satu sesi API.
7 Contoh System Prompt Produksi (Siap Salin-Tempel)
Berikut adalah 7 contoh system prompt yang dapat Anda tempelkan ke parameter system atau pesan developer Anda hari ini. Masing-masing menargetkan pekerjaan nyata (agen, RAG, dukungan, pengodean, JSON, QA konten, terjemahan), dan masing-masing menunjukkan mengapa blok kuncinya ada. Dua yang terakhir berjalan di pipeline kami sendiri. Repositori yang membocorkan prompt Cursor dan Devin membuktikan adanya permintaan; yang tidak dipublikasikan siapa pun adalah anotasi yang menjelaskan mengapa setiap blok ada di sana.
1. Agen Otonom
Batasi peran secara sempit, jelaskan aturan alat, dan berikan kondisi berhenti agar tidak berputar selamanya.
You are a research agent. Your only job is to answer the user's
question using the provided tools.
TOOLS: web_search, read_url, calculator.
RULES
- Plan first: list the steps before calling any tool.
- Call one tool at a time and check the result before the next call.
- Never invent a URL or a fact. If a tool fails twice, stop.
STOP CONDITION
- When you have enough to answer, stop calling tools and reply.
- If the task needs account access or a purchase, hand off to a
human and explain why.Mengapa ini berhasil: peran yang sempit ditambah kondisi berhenti eksplisit adalah perbedaan antara agen yang menyelesaikan tugas dan agen yang membakar token dalam loop. Ini adalah inti dari praktik terbaik system prompt untuk agen.
2. RAG / Tanya Jawab Pengambilan
Seluruh permainan dengan pengambilan adalah menghentikan model dari menjawab berdasarkan memorinya sendiri. Satu aturan sudah cukup.
You answer questions using ONLY the context provided below.
CONTEXT
{retrieved_chunks}
RULES
- If the answer is not in the context, say: "I don't have that
in my sources." Do not use outside knowledge.
- Cite the source after each claim using [chunk_id].
OUTPUT
Two to four sentences, plain text, with citations.Mengapa ini berhasil: "hanya dari konteks" ditambah format kutipan adalah penjaga halusinasi termurah yang dapat Anda tulis untuk system prompt RAG.
3. Bot Dukungan Pelanggan
Nada, jalur eskalasi, dan aturan uang yang ketat menjaga bot dukungan tetap membantu tanpa membiarkannya menjanjikan hal-hal yang tidak bisa dilakukannya.
You are a support agent for Northwind's billing team. Be warm,
brief, and factual.
CONTEXT
- Customers are on Free, Pro, or Enterprise plans.
- Refunds are allowed within 14 days of a charge.
CONSTRAINTS
- Never promise a refund above $200 without escalation.
- Do not give tax or legal advice.
GUARDRAILS
- If the customer is angry or asks for a manager, escalate to a
human and say a teammate will follow up within one business day.
- If you are unsure of a policy, say you'll check rather than guess.Mengapa ini berhasil: pagar pembatas pengembalian dana dan fallback eskalasi menghentikan dua mode kegagalan yang menyebabkan bot dukungan ditarik dari produksi.
4. Asisten Pengodean
Batasi format keluaran dan versi, serta buat model menjelaskan sebelum mengedit.
You are a coding assistant for a Next.js 15 + TypeScript codebase.
RULES
- Explain your plan in two sentences before writing any code.
- Output changes as a unified diff, not full files.
- Match the existing style. Do not add dependencies without asking.
- Target Node 20. Do not use APIs newer than that.
If a request is ambiguous, ask one clarifying question before editing.Mengapa ini berhasil: "diff, bukan file penuh" ditambah batas versi menjaga asisten tetap berada dalam tumpukan teknologi Anda. Desain prompt untuk agen pengodean cukup mendalam sehingga memerlukan panduannya sendiri, jadi kami menjaga contoh ini tetap ringkas.
5. Ekstraksi Data Terstruktur / JSON
Letakkan skema di blok format keluaran dan larang prosa. Itulah pola untuk keluaran terstruktur yang andal.
You extract structured data from raw text. Return ONLY valid JSON,
no prose, no markdown fences.
SCHEMA
{
"company": "string",
"amount_usd": "number",
"date": "YYYY-MM-DD",
"confidence": "low | medium | high"
}
RULES
- If a field is missing from the text, use null.
- Never guess a value to fill a field.
- Output must parse with JSON.parse on the first try.Mengapa ini berhasil: skema literal ditambah "hanya JSON valid" selalu mengalahkan format yang hanya dijelaskan. Untuk pola penegakan di luar prompt (validasi skema JSON, ekstraksi berbasis alat), lihat panduan keluaran terstruktur kami.
6. Agen QA Konten / Validator (dari pipeline produksi kami)
Yang satu ini berjalan di tumpukan kami sendiri. System prompt validator kami adalah contoh batasan negatif: ia memberitahu model secara tepat apa yang TIDAK BOLEH ditulis, lalu skrip memeriksa aturan tersebut secara harfiah.
You are a content QA agent. You check one blog draft against a
fixed style contract.
BANNED VOCABULARY (auto-fail on any hit)
delve, leverage, robust, seamless, tapestry, pivotal, elevate,
harness, foster, bolster, paramount, intricate, "in today's",
"when it comes to", "it's worth noting", "game-changer"
FORMAT LIMITS
- Em-dashes: max 3 per 1,000 words of body.
- Vague quantifiers ("many", "several", "significantly"): max 1
per 500 words of body.
ENFORCEMENT
- Do not "write naturally." Check every rule literally.
- A deterministic script (ai_slop_check.py) greps the draft and
exits non-zero on any hit. If it fails, the post does not publish.Mengapa ini berhasil: daftar larangan yang terenumerasi plus grep dapat ditegakkan dengan cara yang tidak mungkin dilakukan oleh "hindari kata-kata klise". Model dapat berdebat dengan suasana; model tidak dapat berdebat dengan kode keluar non-nol.
7. Agen Terjemahan (dari pipeline produksi kami)
Juga milik kami. Prompt penerjemah adalah kontrak format keluaran dan kelengkapan dengan pemeriksaan mandiri yang dijalankan model pada keluarannya sendiri.
You are an expert translator. You translate ONE blog post into ONE
target language.
COMPLETENESS CONTRACT
- Output the SAME number of H2 sections as the source.
- Line count must land within 80-120% of the source.
- Translate the FAQ fully. Never submit a partial draft.
DIACRITICS SELF-CHECK
- Keep native characters. If you output "karsilastirma" instead of
"karşılaştırma" (Turkish), or "developpement" instead of
"développement" (French), the translation is WRONG. Re-do it.
If you cannot meet the contract, report the problem. Do not ship a
truncated post.Mengapa ini berhasil: kontrak kelengkapan plus contoh keluaran salah yang konkret menangkap kegagalan diam-diam yang dilewatkan oleh baris "terjemahkan secara akurat" yang samar.
Apa Yang Kami Pelajari Saat Menjalankan System Prompt di Produksi
Tiga bug system prompt di pipeline kami sendiri mengajarkan kami lebih banyak daripada halaman dokumentasi mana pun. Ketiganya berasal dari instruksi yang terdengar baik-baik saja tetapi tidak spesifik atau dapat diverifikasi. Berikut adalah apa yang rusak di seluruh 16+ subagen Claude kami, dan perbaikan tepat yang berhasil setiap saat. Polanya sama setiap waktu: aturan lunak diabaikan, aturan spesifik dan diperiksa secara eksternal bertahan.
Bug kosakata terlarang. Selama berminggu-minggu model terus menyelipkan kata leverage dan robust kembali ke draf tidak peduli seberapa sopan kami meminta. Baris "hindari kata-kata klise" yang lunak tidak melakukan apa-apa. Perbaikannya adalah Contoh #6: daftar larangan terenumerasi di dalam prompt plus skrip yang melakukan grep pada keluaran dan keluar dengan kode non-nol jika ditemukan, dengan batas tanda pisah em-dash sebanyak 3 per 1.000 kata. Pelajarannya: batasan samar diabaikan; batasan terenumerasi dan diverifikasi secara eksternal bertahan.
Bug diakritik. Penerjemah kami secara diam-diam mengeluarkan ASCII untuk bahasa Turki, Prancis, dan Spanyol. karşılaştırma keluar sebagai karsilastirma, dan tidak ada yang menyadari sampai pembaca asli menandainya. Perbaikannya adalah tabel karakter asli dalam prompt, contoh keluaran salah yang eksplisit, dan grep pasca-jalankan (nol karakter asli berarti terjemahkan ulang). Pelajarannya: berikan model contoh konkret dari kegagalan, bukan hanya aturan.
Bug ID stabil. Ini yang mahal. System prompt yang menurunkan ulang slug yang dilokalisasi pada setiap terjemahan ulang membuat penerbit mencetak dokumen live kedua per postingan. Kami merilis 54 dokumen live duplikat pada 2026-06-13 dan tidak menariknya hingga 2026-07-05, tiga minggu pembagian ekuitas tautan dan flag konten duplikat. Perbaikannya: tetapkan identitas secara eksplisit dan gunakan kembali ID yang ada secara verbatim. System prompt yang menghasilkan kembali pengenalnya sendiri secara nondeterministik merilis duplikat; ours mencetak 54 dokumen live sebelum kami mematok ID.
Apa Kesalahan System Prompt yang Paling Umum?
Kesalahan system prompt yang paling umum adalah instruksi dinding teks, aturan yang bertentangan, frasa hanya negatif, membuang konteks per-permintaan ke dalam prompt statis, dan melewatkan fallback. Pada model 2026 ada yang baru: huruf KAPITAL agresif dan frasa "anda HARUS" sekarang terlalu memicu Claude Opus 4.5+.
Berikut adalah daftar perbaikan cepat:
- Dinding teks. Perbaikan: pecah menjadi enam blok dan letakkan konten stabil di awal.
- Instruksi yang bertentangan. Perbaikan: satu aturan per baris; selesaikan konflik sebelum merilis.
- Frasa hanya negatif. Perbaikan: katakan apa yang harus dilakukan, bukan hanya apa yang harus dihindari.
- Kelebihan KAPITAL dan "HARUS". Pada model Anthropic yang lebih baru, ini menjadi bumerang. Dokumentasi mereka sekarang mengatakan bahwa di mana Anda mungkin menulis "KRITIS: Anda HARUS menggunakan alat ini", Anda dapat menggunakan frasa normal seperti "Gunakan alat ini ketika." Saran tahun 2025 sekarang menjadi kesalahan.
- Konteks dinamis dalam prompt statis. Simpan data per-permintaan di giliran pengguna. Apa yang termasuk di mana adalah disiplin tersendiri; panduan rekayasa konteks kami membahasnya.
- Tidak ada fallback. Selalu definisikan penolakan dan jalur eskalasi.
- Mengabaikan panjang dan biaya. Prompt yang lebih panjang menambah latensi dan biaya token pada setiap panggilan; pangkas hingga hanya yang pantas ada.
Untuk dasar-dasar kejelasan instruksi yang sederhana, artikel praktik terbaik OpenAI masih merupakan daftar periksa yang solid.
Bagaimana Cara Menguji dan Mengulangi System Prompt?
Uji system prompt seperti Anda menguji kode. Bangun set emas kecil dari input dengan keluaran yang diharapkan, lalu tegaskan respons model terhadapnya pada setiap perubahan. A/B uji dua versi prompt pada input yang sama dan pertahankan yang lulus lebih banyak pemeriksaan. Penegasan mengalahkan pemeriksaan visual setiap saat.
Loop eval minimal terlihat seperti ini:
# pseudo eval loop
for case in golden_set:
out = model(system=PROMPT, user=case.input)
assert is_valid_json(out) # format check
assert case.expected_field in out # content check
if case.no_context:
assert "I don't have that" in out # refusal check
# ship the prompt version that passes the most casesGrep dalam Contoh #6 adalah penegasan termurah yang dapat Anda jalankan: biayanya nol dan tidak pernah lelah. Saat perpustakaan prompt Anda tumbuh melebihi beberapa buah, versi dan uji prompt Anda dengan alat manajemen prompt nyata alih-alih menyalin-tempel antar file. Intinya sama pada skala apa pun: jangan pernah mengubah prompt produksi tanpa pemeriksaan yang memberitahu Anda apakah Anda membuatnya lebih baik atau lebih buruk.
System Prompt vs User Prompt vs Pesan Developer
System prompt menetapkan perilaku tetap; user prompt membawa tugas per-permintaan; pesan developer adalah peran model penalaran OpenAI yang memegang instruksi tingkat aplikasi yang diperingkat di atas pesan pengguna dalam rantai komando. Anthropic menggunakan parameter system tingkat atas alih-alih pesan role: "system". Berikut adalah pembagian tiga arah yang sering dilewatkan pesaing.
| Lapisan | Ditetapkan oleh | Berubah per permintaan? | Mekanisme OpenAI | Mekanisme Anthropic |
|---|---|---|---|---|
| System prompt | Pengembang aplikasi | Tidak, stabil | role "system" dalam pesan | parameter system tingkat atas |
| Pesan developer | Pengembang aplikasi | Jarang | role "developer" pada model penalaran | digabungkan ke dalam parameter system |
| User prompt | Pengguna akhir | Ya, setiap giliran | role "user" dalam pesan | role "user" dalam pesan |
OpenAI secara eksplisit tentang peringkat: "pesan developer adalah instruksi yang diberikan oleh pengembang aplikasi, diprioritaskan di depan pesan pengguna". Jadi jika pengguna mencoba mengganti aturan aplikasi Anda, pesan developer memenangkan rantai komando.
Apakah Model Penalaran Memerlukan System Prompt yang Berbeda? (2026)
Ya. Model penalaran seperti seri-o OpenAI, GPT-5, dan Claude Opus 4.5+ menginginkan tujuan tingkat tinggi, bukan skrip langkah demi langkah. OpenAI membandingkan model penalaran dengan rekan kerja senior yang Anda percayai dengan detailnya, dibandingkan dengan model GPT yang berperilaku seperti junior yang membutuhkan instruksi eksplisit.
Pembingkaian itu mengubah cara Anda menulis prompt. Untuk model penalaran, nyatakan tujuan dan batasan serta "percayai mereka untuk menyelesaikan detailnya"; untuk model GPT, jabarkan langkah-langkahnya. Menspesifikasikan berlebihan model penalaran sering kali membuatnya lebih buruk, bukan lebih baik.
Sisi Claude memiliki pergeseran 2026-nya sendiri. Karena Opus 4.5+ lebih responsif terhadap system prompt, kebiasaan lama menumpuk CRITICAL: dan MUST sekarang terlalu memicunya. Kurangi bahasa tersebut menjadi frasa normal. Satu catatan biaya: letakkan konten stabil yang digunakan ulang di awal prompt agar caching prompt dapat bekerja dan mengurangi latensi pada panggilan berulang. Dan jika model penalaran Anda melakukan pekerjaan langkah demi langkah, prompting chain-of-thought adalah topik tersendiri dengan panduannya sendiri, jadi kami tidak akan mengajarkannya lagi di sini.
Bagaimana Techsy Mendekati Ini
Di Techsy kami membangun sistem agen untuk klien B2B, dan prompt validator serta penerjemah di atas berjalan di tumpukan produksi tersebut. Kami memperlakukan setiap system prompt seperti kode: beri versi, uji terhadap set emas, dan tegakkan aturan yang tidak bisa ditawar dengan skrip alih-alih harapan. Jika Anda memindahkan fitur LLM dari demo ke produksi dan membutuhkan bantuan dengan pekerjaan integrasi AI, dapatkan konsultasi gratis.
Tentang Penulis
Mert Batur Gurbuz adalah Co-Founder Techsy.io, di mana timnya merilis agen AI, sistem otomatisasi, dan pipeline voice/SDR untuk klien B2B. Ia belajar di University of Birmingham dan menulis tentang tumpukan alat LLM yang benar-benar digunakan tim Techsy dalam produksi.
Co-Founder, Techsy.io, University of Birmingham · LinkedIn
Pertanyaan yang Sering Diajukan
Apa itu system prompt?
System prompt adalah sekumpulan instruksi persisten yang ditetapkan sekali, sebelum pesan pengguna apa pun, yang mendefinisikan peran, perilaku, batasan, dan format keluaran model untuk seluruh sesi. Ini adalah lapisan "bagaimana perilakunya" yang tetap, dan tetap identik sementara pesan per-permintaan pengguna berubah pada setiap giliran.
Apa perbedaan antara system prompt dan user prompt?
System prompt adalah "bagaimana perilakunya" yang tetap, identik di setiap permintaan; user prompt adalah "apa yang harus dilakukan" per-permintaan. Aturan praktis sederhana: jika kontennya akan identik di seluruh 1.000 permintaan, itu milik system prompt, dan apa pun yang berubah per panggilan masuk ke giliran pengguna.
Apa itu pesan developer vs system prompt?
Model penalaran OpenAI (seri-o, GPT-5) mengambil pesan developer alih-alih pesan system. Ini membawa instruksi tingkat aplikasi yang diperingkat di atas pesan pengguna dalam rantai komando, sehingga menang jika pengguna mencoba mengganti aturan Anda. Anthropic mempertahankan satu parameter system tingkat atas alih-alih pesan berbasis peran.
Seberapa panjang seharusnya system prompt?
Sependek mungkin sambil tetap mencakup peran, batasan, format keluaran, dan pagar pembatas. Prompt yang terlalu panjang menambah biaya token dan latensi pada setiap panggilan dan dapat terlalu memicu penalaran ekstra pada Claude Opus 4.5+. Jika prompt stabil harus panjang, letakkan konten yang digunakan ulang di awal agar caching prompt mengimbangi biaya.
Apakah system prompt bekerja sama di ChatGPT/GPT dan Claude?
Konsep sama, mekanisme berbeda. OpenAI menggunakan peran system atau developer di dalam array pesan, sementara Anthropic menggunakan parameter system tingkat atas yang terpisah dan mendukung tag XML untuk memisahkan instruksi, konteks, dan contoh. Instruksinya dapat ditransfer antar penyedia; kabel dan konvensi pemformatannya tidak.
Bisakah Anda mengubah system prompt di tengah percakapan?
Melalui API Anda mengirim ulang muatan pesan lengkap pada setiap panggilan, jadi secara teknis Anda dapat menukar system prompt antar giliran. Namun, mengubahnya di tengah percakapan dapat merusak kontinuitas dan membingungkan model tentang aturannya sendiri. Lebih baik menetapkannya sekali, atau ganti dengan sengaja untuk prompt khusus tugas yang berbeda.
Haruskah saya menggunakan tag XML atau markdown dalam system prompt?
Anthropic merekomendasikan tag XML untuk Claude untuk memisahkan instruksi, konteks, dan contoh agar model tidak mencampurnya. Model OpenAI menangani markdown dan judul biasa dengan baik. Sesuaikan dengan konvensi penyedia alih-alih memaksakan satu gaya untuk keduanya, dan jaga konsistensi pilihan Anda dalam satu prompt.
Apakah model penalaran memerlukan system prompt yang berbeda?
Ya. Model penalaran menginginkan tujuan tingkat tinggi, seperti memberi briefing kepada rekan kerja senior, bukan mikromanajemen langkah demi langkah. Hapus bahasa KAPITAL agresif dan "anda HARUS" yang terlalu memicu model baru seperti Claude Opus 4.5+, nyatakan tujuan dan pagar pembatas, dan biarkan model merencanakan jalan untuk mencapainya.
Apa saja bagian dari system prompt yang baik?
Enam blok: peran, konteks, batasan, format keluaran, pagar pembatas atau fallback, dan opsional beberapa contoh. Peran dan batasan melakukan sebagian besar pekerjaan; blok format keluaran adalah yang membuat respons dapat diurai; pagar pembatas mendefinisikan apa yang terjadi di tepi. Contoh layak ditambahkan hanya ketika kualitas target sulit dijelaskan dengan kata-kata.