Prompt Engineering

Prompt Lebih Baik. Kode Lebih Baik.

Kualitas kode yang dihasilkan AI hampir seluruhnya bergantung pada apa yang Anda minta dan bagaimana Anda memintanya. Panduan ini mencakup pola yang secara konsisten menghasilkan hasil lebih baik dengan Claude Code.

Dari pembatasan tugas hingga prompt sistem, dari penyempurnaan iteratif hingga instruksi khusus peran. Teknik praktis yang bisa Anda terapkan di sesi coding berikutnya.

Mengapa Prompt Engineering Penting untuk Kode

Ketika Anda meminta developer manusia untuk 'buat halaman login', mereka mengajukan pertanyaan klarifikasi: provider auth mana? Field apa saja? Haruskah menangani OAuth? Pesan error? Loading state?

AI coding agent akan mencoba menjawab semua pertanyaan itu sendiri. Terkadang mereka menebak dengan benar. Seringkali mereka menebak sesuatu yang masuk akal tapi bukan yang Anda inginkan. Celah antara 'masuk akal' dan 'tepat sesuai harapan' itulah yang ditutup oleh prompt engineering.

Prompt yang baik tidak harus panjang. Mereka perlu spesifik tentang hal-hal yang penting dan diam tentang hal-hal yang tidak penting. Keseimbangan itulah yang dibahas dalam panduan ini.

Lima Prinsip Inti

Pola yang meningkatkan hasil terlepas dari tugasnya.

1

Spesifik tentang Hasil, Bukan Langkah

Alih-alih 'buat komponen React, lalu tambahkan state, lalu tambahkan styling', deskripsikan hasil akhir: 'Buat sidebar yang bisa dilipat yang menampilkan nama proyek, mendukung drag-to-reorder, dan menggunakan tema Tailwind kami yang ada.' Biarkan agent memutuskan cara mencapainya.

Avoid

Buat komponen. Tambahkan useState. Tambahkan tombol toggle. Beri style dengan Tailwind.

Better

Buat komponen sidebar yang dapat dilipat yang menampilkan proyek berdasarkan nama. Harus mendukung drag-to-reorder dan sesuai tema gelap kami (bg-[#111318], border-[#262b38]). Status yang dilipat harus bertahan saat halaman dimuat ulang.

2

Batasi Pekerjaan dengan Jelas

Agent bekerja paling baik ketika mereka mengetahui batasannya. Tentukan file mana yang boleh disentuh (atau dihindari), pola mana yang harus diikuti, dan apa artinya 'selesai'. Tugas tanpa batas menghasilkan perubahan yang meluas dan sulit ditinjau.

Avoid

Refactor sistem autentikasi.

Better

Refactor login handler di src/api/auth/login.ts untuk menggunakan bcrypt alih-alih sha256 untuk hashing password. Jangan ubah logika JWT atau penanganan session cookie. Perbarui pengujian terkait di tests/auth/.

3

Berikan Konteks yang Penting

Claude Code bisa membaca file proyek Anda, tapi tidak bisa membaca pikiran Anda. Jika ada konvensi yang Anda ikuti, library yang Anda sukai, atau pola yang sudah Anda tetapkan, sebutkan. Ini menghemat pengerjaan ulang.

Avoid

Tambahkan validasi form.

Better

Tambahkan validasi form ke form pendaftaran menggunakan zod (kami sudah menggunakannya untuk form pengaturan di src/forms/settings.ts). Tampilkan pesan error inline di bawah setiap field. Ikuti styling error yang sama seperti form login.

4

Satu Tugas per Prompt

Prompt majemuk ('bangun API, tulis pengujian, perbarui dokumen, dan deploy') memaksa agent untuk memegang terlalu banyak tujuan sekaligus. Pecah pekerjaan kompleks menjadi tugas berurutan yang terfokus. Masing-masing membangun di atas hasil sebelumnya.

Avoid

Buat halaman profil pengguna, tulis endpoint API, tambahkan pengujian, perbarui README, dan perbaiki nav bar sekalian.

Better

Buat endpoint GET /api/user/profile. Kembalikan field id, name, email, dan plan. Gunakan auth middleware yang ada untuk autentikasi.

5

Iterasi, Jangan Mulai Ulang

Jika hasil pertama tidak tepat, sempurnakan prompt daripada memulai ulang. Claude mempertahankan konteks percakapan penuh. Katakan apa yang salah, apa yang harus diubah, dan apa yang harus dipertahankan. Iterasi lebih cepat dari penemuan ulang.

Avoid

Itu salah. Mulai ulang dan buat komponen dengan cara berbeda.

Better

Tata letak sudah baik tapi breakpoint mobile-nya salah. Di bawah 768px, susun kartu secara vertikal alih-alih menggunakan grid. Pertahankan semua yang lain.

Prompt Sistem: Konteks yang Bertahan

Prompt sistem menetapkan perilaku dasar untuk agent sebelum Anda mengatakan apa pun. Ini adalah alat yang paling jarang dimanfaatkan dalam AI coding.

Prompt sistem memberi tahu agent siapa dirinya, apa yang harus difokuskan, dan apa yang harus dihindari. Ini berlaku untuk setiap pesan dalam sesi. Bayangkan sebagai deskripsi pekerjaan agent.

AgentsRoom hadir dengan 14 prompt sistem khusus peran: satu untuk setiap jenis agent. Prompt agent Frontend memintanya untuk fokus pada komponen, aksesibilitas, dan desain responsif. Prompt agent QA memintanya untuk memikirkan kasus tepi dan menulis pengujian yang komprehensif. Anda bisa menyesuaikan ini atau menulis sendiri.

Contoh: Prompt Sistem Agent Frontend

Anda adalah senior frontend developer. Fokus pada komponen React, styling CSS/Tailwind, aksesibilitas (WCAG AA), dan desain responsif. Gunakan component library proyek yang ada sebelum membuat komponen baru. Lebih suka komposisi daripada inheritance. Tulis HTML semantik. Jangan pernah memodifikasi file backend.

Menulis Prompt Sistem yang Efektif

  • โœ“Tentukan peran dan batasannya. Apa yang harus difokuskan agent? Apa yang harus diabaikan?
  • โœ“Sebutkan teknologi dan versi spesifik. 'React 19 dengan Server Components' lebih baik dari 'React modern'.
  • โœ“Rujuk konvensi proyek. 'Gunakan Zustand untuk state' memberi tahu agent untuk tidak menggunakan Redux atau Context.
  • โœ“Tetapkan ekspektasi kualitas. 'Tulis TypeScript dengan strict mode, tanpa tipe any' mencegah jalan pintas.
  • โœ“Sertakan batasan negatif. 'Jangan pernah memodifikasi file di /api/' menjaga agent di jalurnya.

CLAUDE.md: Konteks Tingkat Proyek

Prompt yang paling efektif bukan yang diketik ke dalam chat. Ia hidup di repositori Anda.

CLAUDE.md adalah file markdown di root proyek Anda yang dibaca Claude Code secara otomatis. Ini berisi struktur proyek, konvensi, detail stack, dan panduan yang berlaku untuk setiap sesi agent dalam proyek.

Alih-alih mengulangi 'kami menggunakan Tailwind CSS 4, Prisma ORM, dan Next.js 16' di setiap percakapan, tulis sekali di CLAUDE.md. Setiap agent mewarisi konteks ini. AgentsRoom menyertakan editor bawaan untuk CLAUDE.md sehingga Anda bisa memperbaruinya tanpa meninggalkan aplikasi.

CLAUDE.md yang ditulis dengan baik lebih berharga dari puluhan prompt individual yang dirancang dengan cermat. Ini berlipat ganda: setiap sesi mendapat manfaat darinya.

Bangun Pustaka Prompt

Berhenti menulis ulang instruksi yang sama. Simpan yang berhasil dan gunakan kembali.

Jika Anda mendapati diri menulis jenis permintaan yang sama di berbagai proyek ('tulis unit test untuk file ini', 'refactor ini untuk menggunakan pola repository', 'tambahkan penanganan error ke semua rute API'), simpan sebagai prompt yang dapat digunakan kembali.

AgentsRoom menyertakan fitur pustaka prompt dengan dua level: prompt per proyek untuk tugas khusus proyek, dan prompt global (disinkronkan cloud) untuk pola yang Anda gunakan di mana saja.

Kandidat bagus untuk prompt perpustakaan: checklist code review, template penulisan pengujian, skrip migrasi, instruksi scaffolding komponen, langkah-langkah audit keamanan. Apa pun yang akan Anda masukkan ke wiki tim sebagai prosedur standar.

Contoh Pustaka Prompt

Tulis Unit Test

Tulis unit test untuk [file]. Gunakan vitest. Cakup happy path, kasus tepi (input kosong, null, tipe tidak valid), dan penanganan error. Mock dependensi eksternal. Target >90% cakupan cabang.

Code Review

Tinjau perubahan dalam git diff saat ini. Periksa: impor yang tidak digunakan, penanganan error yang hilang, masalah keamanan tipe, potensi race condition, dan inkonsistensi penamaan. Sarankan perbaikan untuk setiap masalah yang ditemukan.

API Endpoint

Buat endpoint REST untuk [resource]. Sertakan validasi input dengan zod, respons error yang tepat (400, 401, 404, 500), tipe TypeScript untuk request/response, dan komentar JSDoc yang mendeskripsikan endpoint. Ikuti pola yang ada di src/api/.

Pola Lanjutan

Teknik untuk tugas kompleks yang melampaui prompt tunggal.

Prompt Chaining

Pecah tugas besar menjadi langkah-langkah berurutan. Mulai agent pertama dengan langkah pertama, tunggu penyelesaian, lalu mulai agent berikutnya dengan langkah kedua (merujuk pada output langkah pertama). Setiap langkah lebih kecil dan lebih terfokus. Contoh: Agent 1 merancang skema database, Agent 2 menulis API menggunakan skema tersebut, Agent 3 menulis pengujian terhadap API.

Tinjauan Lintas Agent

Setelah satu agent selesai, arahkan agent berbeda ke outputnya. 'Tinjau perubahan yang baru saja dibuat agent frontend di src/components/. Periksa masalah aksesibilitas dan state error yang hilang.' Agent segar dengan peran berbeda menangkap hal-hal yang terlewat oleh agent asli.

Batasan Progresif

Mulai dengan prompt yang longgar untuk melihat bagaimana agent mendekati masalah. Kemudian tambahkan batasan dalam pesan tindak lanjut: 'Struktur yang bagus, tapi gunakan server component alih-alih client component.' 'Pertahankan hook-nya, tapi hapus useEffect dan gunakan React Query mutation sebagai gantinya.' Setiap iterasi menyempit ke solusi yang Anda inginkan.

Implementasi Referensi

Arahkan agent ke kode yang ada: 'Buat halaman pengaturan mengikuti pola yang sama seperti src/pages/profile.tsx. Struktur tata letak yang sama, penanganan form yang sama, tampilan error yang sama.' Ini seringkali lebih efektif daripada mendeskripsikan pola dalam kata-kata.

Kesalahan Umum

Pola yang secara konsisten menghasilkan hasil yang lebih buruk.

Terlalu Merinci Implementasi

Memberi tahu agent persis fungsi mana yang harus ditulis, variabel mana yang harus diberi nama, dan urutan implementasi. Micromanagement ini menghilangkan kemampuan agent untuk menemukan pendekatan yang lebih baik. Deskripsikan hasil, bukan prosedurnya.

Tanpa Batasan Cakupan

Meminta agent untuk 'tingkatkan codebase' tanpa batasan. Tanpa batasan, agent mungkin refactor file yang tidak ingin Anda sentuh, mengubah API yang dibutuhkan kode lain, atau menghabiskan token untuk peningkatan prioritas rendah.

Mengabaikan Kode yang Ada

Tidak menyebutkan bahwa pola, utilitas, atau komponen sudah ada dalam proyek. Agent akan membuat yang baru. Sebuah 'kami sudah memiliki useAuth hook di src/hooks/' yang sederhana menghemat pengerjaan ulang yang signifikan.

Mega-Prompt Majemuk

Memaksakan lima tugas ke dalam satu pesan. Agent akan mencoba semuanya, tapi kualitas menurun saat mengelola tujuan yang bersaing. Pecah menjadi permintaan berurutan yang terfokus.

FAQ

Berapa panjang prompt coding yang seharusnya?+
Kebanyakan prompt coding yang efektif adalah 2 hingga 5 kalimat. Cukup panjang untuk menentukan hasil, cakupan, dan batasan utama. Cukup pendek agar agent tidak tersesat dalam detail. Jika prompt Anda sepanjang satu paragraf penuh, pertimbangkan apakah sebagian konteks itu seharusnya ada di CLAUDE.md atau prompt sistem.
Haruskah saya menulis prompt berbeda untuk Opus vs Sonnet?+
Sedikit. Opus menangani ambiguitas lebih baik dan dapat menyimpulkan niat dari konteks yang lebih sedikit. Sonnet mendapat manfaat dari instruksi yang lebih eksplisit dan batasan cakupan yang lebih jelas. Untuk kedua model, kekhususan tentang hasil yang diharapkan meningkatkan hasil.
Bagaimana AgentsRoom membantu prompt engineering?+
Tiga cara: prompt sistem khusus peran bawaan untuk setiap dari 14 jenis agent, pustaka prompt untuk menyimpan dan menggunakan kembali prompt yang efektif, dan editor CLAUDE.md untuk konteks tingkat proyek. Lapisan-lapisan ini berarti Anda menghabiskan lebih sedikit waktu untuk membuat pesan individual karena konteks dasarnya sudah bagus.
Bisakah saya berbagi prompt di seluruh tim?+
Ya. AgentsRoom menyimpan prompt di dua lokasi: prompt tingkat proyek di .agentsroom/prompts.json (dikontrol versi, dibagikan melalui git) dan prompt personal di prompts-personal.json (gitignored). Prompt global disinkronkan melalui cloud di semua perangkat Anda.
Apa bedanya antara prompt sistem dan CLAUDE.md?+
CLAUDE.md adalah konteks proyek yang dibaca setiap agent secara otomatis: stack, struktur, konvensi. Prompt sistem adalah instruksi perilaku khusus agent: peran, area fokus, batasan. Mereka saling melengkapi. CLAUDE.md mengatakan 'proyek ini menggunakan Next.js 16 dengan Prisma.' Prompt sistem mengatakan 'Anda adalah backend developer yang berfokus pada rute API.'

Tulis Prompt Lebih Baik, Kirimkan Kode Lebih Baik

AgentsRoom memberi Anda prompt sistem, pustaka prompt, dan pengeditan CLAUDE.md yang sudah tertanam. Lebih sedikit waktu membuat prompt, lebih banyak waktu membangun.

GratisUnduh untuk macOS

Aplikasi pendamping: pantau agen Anda saat bepergian

Kompatibel dengan Claude, Codex, OpenCode, Gemini CLI, dan Aider

Dapatkan ekstensi
Chrome Web Store

Kirim bug dan permintaan langsung ke backlog publik Anda.

Beberapa proyek
Multi-penyedia
Beberapa agen
Status langsung
File diff & commit
Pendamping mobile
Pratinjau langsung