
Prompt Engineering untuk Coding: 7 Pola yang Kami Gunakan Setiap Hari di Claude Code dan Cursor (2026)
Prompt engineering untuk coding adalah perbedaan antara agen yang berhasil mengirimkan pull request yang berfungsi dan agen yang secara diam-diam merusak sesuatu di produksi. Kami mempelajarinya dengan cara yang mahal: satu instruksi yang ambigu dalam pipeline kami sendiri pernah menciptakan 54 halaman live duplikat sebelum ada yang menyadarinya. Saat ini, pengaturan Claude Code dengan 16 agen menulis, menerjemahkan, dan memublikasikan konten kami, dan prompt yang menggerakkannya sama sekali tidak mirip dengan daftar 50 templat yang ada di halaman pertama Google. Berikut adalah 7 pola yang kami ketik setiap hari, masing-masing dengan contoh nyata sebelum dan sesudahnya.
Jawaban singkat: Prompt coding yang baik memiliki satu bentuk umum. Anda menyatakan tujuan dan definisi "selesai", menyebutkan file-file yang tepat dalam cakupan, memaksa adanya rencana sebelum pengeditan apa pun, menyerahkan tes, dan menuntut bukti alih-alih sekadar "terlihat bagus". Lakukan itu dan agen modern (Claude Code, Cursor, GitHub Copilot) akan lebih sering menulis kode yang lolos tinjauan sejak pertama kali. Lewatkan itu dan Anda akan mendapatkan hasil yang meyakinkan namun berantakan.
7 pola tersebut, dalam urutan yang biasanya kami gunakan:
- Pembingkaian tugas: tujuan, batasan, dan definisi "selesai" di awal
- Seleksi konteks: sebutkan filenya, batasi sisanya
- Rencana dulu: buat ia mengusulkan sebelum mengedit
- Tes dulu: masukkan tes penerimaan ke dalam prompt
- Debugging: error plus reproduksi plus harapan, akar masalah sebelum perbaikan
- Refaktor: ubah struktur, pertahankan perilaku, tampilkan diff
- Tinjauan: daftar periksa untuk dicocokkan, plus bukti
Prompt Engineering untuk Coding vs File Konfigurasi: Apa Masuk Ke Mana
File konfigurasi dan prompt per-tugas melakukan pekerjaan yang berbeda, dan mencampuradukkannya adalah kesalahan paling umum di bidang ini. File CLAUDE.md atau .cursor/rules adalah kebijakan tetap yang dibaca agen setiap sesi: stack teknologi Anda, konvensi penamaan, perintah tes Anda. Prompt adalah tugas spesifik yang Anda berikan kepadanya saat ini. Aturan yang tahan lama masuk ke konfigurasi; tugas masuk ke prompt.
Sebagian besar ringkasan "prompt coding" mengaburkan hal ini dan menyarankan Anda menempelkan prompt persona raksasa ke dalam .cursorrules. Hal itu membengkakkan konfigurasi yang dimuat agen pada setiap tugas tunggal dan tetap gagal membingkai satu tugas yang ada di depannya. Pisahkan keduanya:
| File konfigurasi (CLAUDE.md, .cursor/rules) | Prompt per-tugas | |
|---|---|---|
| Berisi | Aturan tetap: stack, gaya, perintah tes, pagar pembatas | Tugas spesifik: apa yang akan dibangun atau diperbaiki, saat ini |
| Dimuat | Secara otomatis, setiap sesi | Sekali, saat Anda mengetiknya |
| Perubahan | Jarang, ditinjau seperti kode | Setiap tugas |
| Contoh | "Jalankan pnpm test sebelum mengklaim selesai" | "Perbaiki pembulatan pajak di cart.ts untuk pesanan di atas $1.000" |
Jika Anda ingin sisi konfigurasi dilakukan dengan baik, kami membahasnya secara mendalam dalam praktik terbaik CLAUDE.md dan panduan aturan Cursor. Artikel ini adalah setengah lainnya: prompt yang Anda ketik baru setiap kali. Keduanya berada di bawah panduan prompt engineering kami yang lebih luas jika Anda ingin memahami dasar-dasarnya terlebih dahulu.
Prompt Engineering untuk Coding: 7 Pola yang Kami Gunakan Setiap Hari
Setiap pola di bawah ini memiliki versi lemah yang sebenarnya diketik orang dan versi kuat yang menghasilkan kode yang berfungsi. Kesenjangan dari lemah ke kuat hampir selalu merupakan langkah yang sama: ganti keinginan dengan spesifikasi.
1. Pembingkaian Tugas: Nyatakan Tujuan, Batasan, dan "Selesai"
Pembingkaian tugas berarti menulis tujuan, batasan, dan seperti apa tampilan "selesai" sebelum agen menyentuh satu baris pun. Agen mengoptimalkan apa pun yang Anda minta secara harfiah, sehingga permintaan yang kabur menghasilkan patch yang kabur. Sebutkan file, perilaku yang Anda inginkan, pemeriksaan penerimaan, dan hal-hal yang tidak boleh diubah.
Ini adalah pola yang membuat kami kehilangan 54 halaman. Instruksi terjemahan lama kami pada dasarnya hanyalah sebuah keinginan:
Weak: Re-translate this post into German and keep the brand names.Tidak ada di sana yang mengatakan apa yang boleh dilakukan oleh slug. Jadi pada eksekusi ulang, agen "meningkatkan" slug URL, dan karena slug baru berarti dokumen baru, kami berakhir dengan dua halaman Jerman live untuk postingan yang sama. Kalikan dengan bahasa dan postingan lama, dan Anda mendapatkan 54 duplikat serta tumpukan pengecualian konten duplikat. Perbaikannya adalah spesifikasi, bukan keinginan yang lebih halus:
Strong: Re-translate this post into German.
- If a German file already exists, copy its existing slug verbatim. Never
re-derive or "improve" it.
- Before creating any document, look up the existing one by its canonical
reference and reuse that record.
- If the slug you would generate differs from the live one, STOP and tell me.
A changed slug creates a second live URL for the same page.Prompt yang kuat menyebutkan mode kegagalan secara eksplisit. Satu kebiasaan itu, mengatakan apa yang tidak boleh terjadi dan mengapa, adalah perubahan paling berharga yang dapat dilakukan sebagian besar tim. Kami juga mengakhiri setiap prompt tugas dengan kontrak output eksplisit ("pesan akhir Anda harus melaporkan jumlah kata, skor validasi, dan file apa pun yang disentuh") sehingga agen tahu apa yang dihasilkan oleh "selesai", bukan hanya apa yang harus dilakukan.
2. Seleksi Konteks: Sebutkan File, Batasi Sisanya
Seleksi konteks berarti memberi tahu agen secara tepat file mana yang harus dibaca dan mana yang dibiarkan saja, alih-alih membiarkannya mencari-cari dan memenuhi jendela konteksnya dengan noise. Panduan Anthropic sendiri sangat tegas tentang alasannya: jendela konteks cepat penuh dan kualitas menurun saat terisi, sehingga sebagian besar praktik terbaik ada untuk melindunginya (praktik terbaik Claude Code).
Weak: Fix the bug in the checkout flow.
Strong: Read only src/checkout/cart.ts and src/checkout/tax.ts. The tax
rounding is wrong for orders over $1,000 (it rounds each line item instead
of the order total). Fix the rounding. Do not touch anything outside
src/checkout/.Kami membatasi dengan keras. Sebuah kalimat nyata dari prompt agen kami berbunyi: "jangan menulis ke url-mapping.json, pipeline.md, atau config.json, dan jangan pernah menyentuh file apa pun di luar direktori scratchpad Anda." Satu kalimat itu telah mencegah lebih banyak kerusakan tidak disengaja daripada sejumlah pembersihan setelah fakta. Ketika tugas benar-benar membutuhkan dokumen live atau alat tambahan, kami menambahkannya dengan sengaja melalui server MCP daripada berharap agen menemukan file yang tepat. Dan jika ada konteks yang berasal dari luar repo Anda, anggap itu tidak tepercaya: lihat catatan kami tentang pencegahan injeksi prompt sebelum Anda menempelkan halaman yang di-scrape ke dalam agen coding.
3. Rencana Dulu: Buat Ia Mengusulkan Sebelum Mengedit
Prompting rencana-dulu membuat agen memberikan pendekatan kepada Anda sebelum mengedit apa pun. Di Claude Code, Mode Rencana adalah keadaan baca-saja yang keras dan ditegakkan, bukan sekadar "berpikir dulu" yang sopan yang bisa dilewati model, sehingga ia secara harfiah tidak dapat menulis sampai Anda menyetujui rencananya. Memisahkan penelitian dan perencanaan dari eksekusi adalah satu-satunya praktik yang paling diandalkan Anthropic untuk menghindari penyelesaian masalah yang salah.
Weak: Add rate limiting to the API.
Strong: Before writing any code, give me a numbered plan: which middleware,
where the counters live, how you handle the 429 response and headers, and
which tests you'll add. Wait for my approval before editing.Mengapa ini berhasil: rencana murah untuk dibaca dan murah untuk dikoreksi. Memperbaiki rencana yang salah hanya membutuhkan satu kalimat; memperbaiki kode yang salah membutuhkan siklus tinjauan. Ini berpasangan secara alami dengan meminta model untuk bernalar langkah demi langkah terlebih dahulu (lihat prompting chain-of-thought), dan ini adalah tulang punggung dari alur kerja Claude Code multi-langkah yang kami jalankan untuk apa pun yang tidak sepele.
4. Tes Dulu: Masukkan Tes Penerimaan ke Dalam Prompt
Prompting tes-dulu memasukkan kriteria penerimaan ke dalam prompt sebagai input dan output konkret, sehingga agen menulis kode terhadap target yang Anda tentukan daripada yang ditebaknya. Tempelkan tes yang gagal, atau tabel kecil hasil yang diharapkan, dan katakan "buat ini lulus tanpa mengedit tes."
Weak: Write a function to parse ISO 8601 dates.
Strong: Make this failing test pass without changing the test:
parseIso("2026-07-20T15:00:00Z") -> Date at that exact UTC instant
parseIso("2026-07-20") -> Date at 2026-07-20T00:00:00Z
parseIso("not-a-date") -> throws RangeError
parseIso("") -> throws RangeError
Return only the function and its imports.Contoh konkret selalu mengalahkan kata sifat. "Menangani kasus tepi" adalah harapan; empat baris input-ke-output adalah spesifikasi yang benar-benar dapat dipenuhi model, dan Anda dapat menjalankannya segera setelah kode mendarat.
5. Debugging: Error, Reproduksi, Harapan, Akar Masalah Sebelum Perbaikan
Prompt debugging memberi agen teks error, input yang memicu itu, dan apa yang Anda harapkan, lalu meminta penyebab sebelum perbaikan apa pun. Lewati itu dan agen menambal gejalanya, sehingga bug hanya pindah ke tempat yang lebih sunyi.
Weak: This is throwing an error, fix it.
Strong: This throws on checkout. Here's the stack trace: [paste]. It happens
only when the cart has a discount code AND a gift card (repro: add both, then
check out). Expected: both apply, gift card last. Find the root cause and
explain it in one sentence before you change anything. Do not wrap it in a
try/catch that hides the error.Kalimat "jelaskan penyebabnya dalam satu kalimat terlebih dahulu" melakukan pekerjaan nyata. Itu memaksa model untuk berkomitmen pada diagnosis yang dapat Anda periksa kewarasannya, alih-alih mengirimkan perbaikan yang logikanya tidak pernah Anda lihat. Kalimat "jangan sembunyikan dalam try/catch" menutup jalan keluar paling umum.
6. Refaktor: Ubah Struktur, Pertahankan Perilaku, Tampilkan Diff
Prompt refaktor membatasi cakupan dengan keras: ubah struktur, pertahankan perilaku identik, dan tampilkan diff. Tanpa pagar pembatas, agen "merapikan" hal-hal yang tidak pernah Anda minta, dan Anda kehilangan kemampuan untuk meninjau perubahan yang penting.
Weak: Clean up this file.
Strong: Extract the validation logic from submitOrder() into a pure function
validateOrder(). Keep every public signature and all behavior identical.
Change nothing else in this file. Show me a before/after diff and one line
on why each change is behavior-preserving.Ini adalah sisi lain dari pemisahan konfigurasi-vs-prompt dari sebelumnya: aturan gaya tetap Anda hidup di aturan Cursor, tetapi cakupan refaktor ini milik prompt. "Jangan ubah hal lain" adalah frasa yang menjaga refaktor agar dapat ditinjau.
7. Tinjauan: Daftar Periksa untuk Dicocokkan, Plus Bukti
Prompt tinjauan memberikan agen daftar periksa untuk dicocokkan dan menuntut bukti, bukan vonis. "Terlihat bagus" tidak bernilai; perintah yang dijalankan dan output yang didapat tidaklah demikian. Anthropic menyatakan ini dengan jelas: suruh agen menunjukkan bukti (output tes, perintah dan hasilnya) alih-alih menegaskan keberhasilan, karena membaca bukti lebih cepat daripada memverifikasi ulang sendiri.
Weak: Review my PR.
Strong: Check this diff against exactly these five items:
1. No secrets or API keys added
2. Every new function has a test
3. No behavior change outside src/checkout/
4. Error paths return typed errors, not strings
5. No console.log left behind
For each item, quote the line that satisfies or violates it. Then run the
test suite and paste the output. Do not say "done"; show me.Gerbang tinjauan kami sendiri dibangun persis seperti ini. Sebelum agen diizinkan melaporkan postingan sebagai diterbitkan, ia mencocokkan draf dengan daftar kata terlarang (pemblokir keras, toleransi nol) dan menjalankan kueri untuk memastikan badan dokumen tidak kosong. Agen tidak boleh mengklaim keberhasilan; ia harus menghasilkan output pemeriksaan. Untuk peran peninjau yang sering Anda gunakan ulang, promosikan daftar periksa menjadi persona yang disimpan, di mana contoh system prompt berperan.
Claude Code vs. Cursor vs. Copilot: Di Mana Setiap Pola Hidup
Ketiga agen utama tahun 2026 mendukung setiap pola di atas, tetapi permukaannya berbeda. Claude Code mengandalkan Mode Rencana dan subagen, Cursor pada Mode Agen dan jendela Agennya, dan GitHub Copilot pada mode agen plus file instruksi. Pilih alat yang digunakan tim Anda; polanya dapat dipindahkan dengan bersih.
| Pola | Claude Code | Cursor | GitHub Copilot |
|---|---|---|---|
| Aturan tetap | CLAUDE.md | .cursor/rules | .github/copilot-instructions.md, AGENTS.md |
| Rencana dulu | Mode Rencana (baca-saja ditegakkan) | Langkah Rencana dalam Mode Agen | Pratinjau rencana sebelum diterapkan |
| Pekerjaan tercakup/paralel | Subagen, konteks sendiri masing-masing | Jendela Agen, worktree per agen | Tugas agen cloud |
| Aturan tercakup jalur | CLAUDE.md bersarang per direktori | Globs aturan | .instructions.md dengan applyTo |
Beberapa detail terkini yang patut diketahui. Mode Rencana Claude Code adalah kunci baca-saja yang sesungguhnya, dan subagennya masing-masing berjalan dalam konteks terisolasi dengan alat mereka sendiri (dokumen subagen). Lini produk Cursor 2026 menambahkan jendela Agen yang meluncurkan agen paralel, masing-masing dalam git worktree sendiri (Cursor 2.0). Mode agen GitHub Copilot membaca instruksi kustom dari .github/copilot-instructions.md, plus file .instructions.md tercakup jalur dengan bidang applyTo (instruksi kustom Copilot). Jika Cursor adalah driver harian Anda, lihat postingan kami tentang menggunakan Cursor lebih efisien.
Bagaimana Kami Mem-prompt Agen Coding Kami di Techsy
Kami menjalankan pipeline konten sebagai tim yang terdiri dari 16 agen Claude Code: seorang peneliti, penulis brief, penulis konten, sembilan penerjemah, validator, dan publisher, dikoordinasikan melalui pesan tugas. Dua konvensi dari sistem itu berlaku untuk tim coding mana pun.
Pertama, setiap prompt tugas diakhiri dengan kontrak output. Baris terakhir selalu berupa beberapa versi dari "pesan akhir Anda harus melaporkan X, Y, dan Z." Agen yang tahu bentuk pasti dari "selesai" cenderung berkeliaran jauh lebih sedikit daripada agen yang hanya diberi tahu apa yang harus dimulai.
Kedua, kami tidak pernah membiarkan agen menilai pekerjaan rumahnya sendiri dalam bentuk prosa. Generasi dan verifikasi adalah langkah terpisah, dan verifikasi adalah perintah dengan output, bukan opini. Pemisahan antara build dan check ini adalah inti dari bagaimana Anthropic membingkai membangun agen yang andal, dan inilah alasan gerbang tinjauan kami melakukan pencocokan dan kueri alih-alih memercayai "terlihat bagus."
Ini juga merupakan pekerjaan sehari-hari. Di Techsy kami membangun agen AI dan otomasi untuk tim B2B, dan disiplin prompt seperti ini adalah sebagian besar dari apa yang membedakan demo dari sesuatu yang dapat Anda hadapkan kepada klien. Jika Anda ingin alur kerja coding atau agen diatur dengan benar, layanan integrasi AI kami adalah tempat kami melakukan tepatnya itu, dan Anda dapat memesan konsultasi gratis untuk mendiskusikan stack teknologi Anda.
Templat Prompt Salin-Tempel yang Dapat Anda Adaptasi
Berikut adalah kerangka dasar yang kami mulai untuk setiap tugas coding yang tidak sepele. Hapus bagian yang tidak Anda butuhkan, tetapi pertahankan urutannya, karena itu mencerminkan tujuh pola.
GOAL
One sentence: what should be true when you're done.
CONTEXT
Read only: <exact files>. Ignore everything else.
Relevant facts: <constraints, versions, the bug's trigger>.
PLAN FIRST
Before editing, give me a numbered plan and wait for approval.
TESTS / DONE
Done means: <paste failing test or input->output rows>.
Don't change the tests.
CONSTRAINTS
Keep all public signatures and behavior identical unless stated.
Do not touch <files/areas>. Name any assumption you make.
OUTPUT
Show a before/after diff, run the tests, and paste the output.
Don't say "done"; show the evidence.Simpan sebagai snippet, atau lebih baik lagi, pisahkan: batasan tetap masuk ke file konfigurasi Anda, dan tujuan, konteks, serta tes masuk ke prompt. Pemisahan itulah intinya.
Tentang Penulis
Mert Batur Gurbuz adalah Co-Founder Techsy.io, di mana timnya mengirimkan agen AI, sistem otomasi, dan pipeline voice/SDR untuk klien B2B. Ia belajar di University of Birmingham dan menulis tentang stack alat LLM yang benar-benar digunakan tim Techsy dalam produksi.
Kredensial: Co-Founder, Techsy.io, University of Birmingham. Terhubung di LinkedIn.
Pertanyaan yang Sering Diajukan
Apa itu prompt engineering untuk coding?
Prompt engineering untuk coding adalah praktik menulis instruksi yang membuat agen AI menghasilkan kode yang benar dan dapat ditinjau. Dalam praktiknya, ini berarti menyatakan tujuan dan definisi "selesai", menyebutkan file dalam cakupan, memaksa adanya rencana sebelum pengeditan, menyediakan tes, dan menuntut bukti. Ini lebih dekat dengan menulis spesifikasi daripada menulis kalimat yang cerdas.
Bagaimana bedanya dengan menulis file CLAUDE.md atau .cursor/rules?
File konfigurasi berisi kebijakan tetap yang dibaca agen setiap sesi: stack, konvensi, dan perintah tes Anda. Prompt per-tugas adalah pekerjaan spesifik yang Anda berikan kepadanya saat ini. Masukkan aturan tahan lama ke konfigurasi dan tugas ke prompt. Menempelkan seluruh prompt tugas ke dalam file konfigurasi membengkakkan setiap sesi dan tetap gagal membingkai tugas individu.
Apa struktur prompt terbaik untuk agen coding AI?
Gunakan bagian berlabel alih-alih satu paragraf: TUJUAN, KONTEKS, RENCANA, TES, BATASAN, dan OUTPUT. Agen mengurai prompt terstruktur dengan lebih andal daripada tembok teks. Nyatakan kriteria keberhasilan di awal, berikan satu hingga tiga contoh konkret alih-alih kata sifat, dan tentukan format output tepat yang Anda inginkan kembali.
Bagaimana cara menulis prompt debugging yang baik?
Berikan agen empat hal: error atau stack trace yang tepat, input yang mereproduksinya, apa yang Anda harapkan, dan permintaan untuk akar masalah sebelum perbaikan apa pun. Tambahkan "jelaskan penyebabnya dalam satu kalimat sebelum mengubah apa pun" sehingga Anda dapat memeriksa diagnosis, dan "jangan sembunyikan dalam try/catch" sehingga ia memperbaiki alih-alih menutupi bug.
Haruskah saya menyertakan tes dalam prompt coding saya?
Ya, kapan pun memungkinkan. Menempelkan tes yang gagal atau tabel kecil baris input-ke-output mengubah permintaan yang kabur menjadi target yang benar-benar dapat dicapai model, dan Anda dapat langsung menjalankan hasilnya. Suruh agen membuat tes lulus tanpa mengeditnya, sehingga ia tidak dapat memindahkan tiang gawang agar kodenya sendiri terlihat benar.
Apakah prompt ini bekerja di Cursor dan GitHub Copilot juga?
Ya. Polanya bersifat agnostik terhadap alat. Claude Code mengeksposnya melalui Mode Rencana dan subagen, Cursor melalui Mode Agen dan jendela Agennya dengan worktree per agen, dan GitHub Copilot melalui mode agen plus .github/copilot-instructions.md. Permukaannya berubah; pembingkaian tugas, seleksi konteks, rencana-dulu, dan tinjauan berbasis bukti tidak berubah.
Seberapa panjang seharusnya prompt coding?
Cukup panjang untuk menjadi spesifikasi, cukup pendek untuk tetap fokus. Kualitas penalaran menurun saat konteks terisi, jadi utamakan struktur daripada volume: prompt berlabel 150 hingga 300 kata dengan file dan tes yang tepat mengalahkan prompt yang bertele-tele. Pindahkan apa pun yang berlaku untuk setiap tugas ke file konfigurasi Anda alih-alih mengulanginya.
Bagaimana cara menghentikan agen AI dari mengubah kode yang tidak saya minta?
Batasi cakupan dalam prompt. Katakan secara tepat file mana yang boleh diedit, tambahkan "jangan ubah hal lain," dan minta "pertahankan semua tanda tangan publik dan perilaku identik kecuali saya mengatakan sebaliknya." Untuk refaktor, minta diff sebelum/sesudah dengan satu baris tentang mengapa setiap perubahan mempertahankan perilaku, sehingga setiap pengeditan yang tidak diminta menjadi jelas dalam tinjauan.
Apakah perpustakaan prompt salin-tempel worth it?
Sebagai titik awal, terkadang. Sebagai alat jadi, jarang. Perpustakaan 50 prompt memberi Anda frasa, tetapi tidak dapat mengetahui file, tes, atau batasan Anda, yang merupakan tempat kebenaran sebenarnya berada. Pelajari polanya, simpan satu templat yang dapat disesuaikan, dan isi detail spesifik dari tugas yang ada di depan Anda.