Berikan Konteks Sebelum Memberikan Tugas
AI tidak bisa melihat proyek Anda seperti Anda melihatnya. AI tidak tahu versi Anda, struktur file Anda, atau konvensi yang sudah Anda tetapkan. Ketika Anda melewatkan hal ini, AI akan menebak — dan menebak dengan buruk. Lebih buruk lagi, AI menebak dengan percaya diri, sehingga hasilnya terlihat masuk akal sampai bertabrakan dengan basis kode Anda yang sebenarnya.
Bandingkan dua berikut untuk permintaan yang sama.
Add a function to validate emails.
This is a TypeScript backend using Express and Zod for validation.
We already validate inputs with Zod schemas in src/schemas/.
Add an email validation schema in that style. Emails must be
lowercase, max 254 chars, and reject disposable domains from
the existing BLOCKED_DOMAINS list in src/config.ts.
Prompt pertama menghasilkan kode generik yang mungkin memakai regex yang tidak Anda inginkan, dengan gaya yang tidak cocok dengan basis kode Anda. Prompt kedua menghasilkan kode yang bisa langsung Anda tempelkan. Aturannya: sebutkan stack teknologi, konvensi, dan bagian yang sudah ada yang harus dipakai ulang oleh AI.
Prompt yang baik menyusun bagian-bagian ini secara berurutan, dari dasar ke atas — konteks di bagian bawah, permintaan yang sebenarnya di bagian atas:
┌──────────────────────────────┐
│ EXAMPLES │ one input → output
├──────────────────────────────┤
│ CONSTRAINTS │ what NOT to do
├──────────────────────────────┤
│ EDGE CASES │ empty, invalid, errors
├──────────────────────────────┤
│ INPUTS / OUTPUTS │ types and shapes
├──────────────────────────────┤
│ GOAL │ one clear task
├──────────────────────────────┤
│ CONTEXT │ stack, files, patterns
└──────────────────────────────┘
foundation first ▲
Daftar periksa mental yang berguna sebelum Anda menekan enter: bahasa dan framework (beserta versinya jika itu penting), file atau modul yang relevan, pola-pola yang sudah ada di proyek, dan library mana yang harus lebih diutamakan atau dihindari oleh AI. Anda tidak perlu menyertakan keempatnya setiap saat — tapi jika jawabannya akan berubah tergantung salah satunya, sebutkan itu. Jika ragu, tempelkan langsung signature (tanda tangan fungsi), tipe data, atau konfigurasi yang harus dicocokkan oleh kode baru. Beberapa baris kode yang sudah ada mengajarkan lebih banyak tentang konvensi Anda kepada AI dibanding satu paragraf deskripsi.