{"content_id":"vduimuvis9","slug":"claude-code-prompt-six-principles-and-templates","locale":"id","schema_type":"HowTo","category":"tutorial","category_name":"Tutorial","title":"6 Prinsip Prompt untuk Meningkatkan Kualitas Hasil Claude Code","summary":"Menjelaskan cara menyampaikan konteks, kontrak output, penanganan pengecualian, dan kriteria verifikasi secara terstruktur, alih-alih sekadar meminta Claude Code membuat kode. Juga menyediakan templat prompt yang dapat langsung diterapkan untuk mengembangkan agen baru, menambahkan fitur, dan memperbaiki kesalahan.","sponsorship_disclosure":null,"author":{"name":"injoys","url":"https://injoys.com/ko/about"},"key_points":["1. Sebelum memulai pekerjaan, rangkum konteks pengguna, masalah yang harus diselesaikan, kriteria keberhasilan, dan batasan teknis dalam satu dokumen.","2. Tetapkan struktur file, format data, cakupan yang diizinkan, dan syarat penyelesaian hasil sebagai kontrak output yang konkret.","3. Tentukan pengecualian yang dapat diperkirakan, seperti kegagalan API eksternal, hasil kosong, data duplikat, dan kesalahan autentikasi, beserta kebijakan penanganannya.","4. Bagi pekerjaan menjadi tahap peninjauan rencana, implementasi fungsi minimum, pengujian otomatis, dan perluasan fitur, lalu periksa hasil pada setiap tahap.","5. Alih-alih meminta pengerjaan ulang secara ambigu, berikan contoh kegagalan dan target perbaikan yang dapat diukur, lalu verifikasi berdasarkan syarat penerimaan akhir."],"content_markdown":"Agen coding seperti Claude Code bukan sekadar alat untuk menghasilkan sepotong kode, melainkan lingkungan kerja yang dapat menjelajahi repositori, mengubah beberapa file, serta menjalankan pengujian dan perintah. Karena itu, kualitas hasil lebih banyak ditentukan oleh **seberapa jelas ruang lingkup pekerjaan dan metode verifikasi didefinisikan** daripada seberapa meyakinkan kalimat yang dihasilkan.\n\nPrompt yang baik bukanlah uraian panjang, melainkan spesifikasi pekerjaan yang dapat dijalankan. Prompt harus menyampaikan bukan hanya apa yang harus dibuat, tetapi juga mengapa hal itu diperlukan, ketentuan apa yang harus dipatuhi, bagaimana menangani kegagalan, dan apa yang harus lolos agar pekerjaan dianggap selesai.\n\n## Hal yang Harus Dibedakan Terlebih Dahulu: Prompt dan Lingkungan Eksekusi\n\nVibe coding adalah metode kolaborasi yang menyampaikan maksud melalui bahasa alami dan menyerahkan implementasinya kepada agen AI. Namun, fakta bahwa permintaan disampaikan dalam bahasa alami tidak menjamin keakuratan kode atau stabilitas operasional.\n\nDalam pekerjaan Claude Code, unsur-unsur berikut bekerja bersama-sama.\n\n| Unsur | Peran | Hal yang perlu diperiksa dalam prompt |\n|---|---|---|\n| Permintaan pengguna | Menyampaikan tujuan dan ruang lingkup perubahan | Tujuan, prioritas, hal yang dilarang |\n| Konteks repositori | Menyediakan struktur dan aturan yang sudah ada | Framework, perintah eksekusi, file terkait |\n| `CLAUDE.md` | Menyediakan panduan proyek yang diterapkan berulang kali | Aturan coding, metode pengujian, konvensi direktori |\n| Izin alat | Mengendalikan cakupan yang diizinkan untuk perubahan file dan eksekusi perintah | Perintah yang boleh dijalankan dan pekerjaan yang memerlukan konfirmasi terlebih dahulu |\n| Koneksi eksternal | Mengakses API, database, server MCP, dan sebagainya | Metode autentikasi, batas kepercayaan, kebijakan kegagalan |\n| Prosedur verifikasi | Menilai apakah hasil memenuhi persyaratan | Pengujian, analisis statis, butir pemeriksaan manual |\n\nMenulis prompt dengan baik saja tidak menyelesaikan semua masalah. Sebagai contoh, Claude Code dapat membuat kode eksekusi terjadwal, tetapi agar pekerjaan tetap berjalan ketika komputer mati, diperlukan server terpisah, layanan CI, atau penjadwal sistem operasi. Pengiriman email juga tidak dapat diselesaikan tanpa informasi autentikasi dan izin pengiriman dari penyedia yang sebenarnya.\n\n## Prinsip 1. Jelaskan Latar Belakang, Tujuan, dan Batasan Terlebih Dahulu\n\nJika hanya menyebutkan nama hasil yang diinginkan seperti `Buatkan agen pengumpul berita`, agen harus menebak pengguna, sumber data, lingkungan eksekusi, dan kriteria keberhasilannya. Meskipun sama-sama berupa pengumpul berita, staf pengembangan bisnis, investor, dan editor surat kabar kampus membutuhkan sumber serta kriteria klasifikasi yang berbeda.\n\n### Permintaan yang Tidak Memadai\n\n```text\nBuatkan agen pengumpul berita AI.\n```\n\n### Permintaan yang Ditingkatkan\n\n```text\nSaya adalah staf pengembangan bisnis di startup TI.\nSetiap hari sebelum mulai bekerja, saya ingin meninjau dengan cepat berita\ndi bidang AI, cloud, dan fintech yang dapat memengaruhi kemitraan bisnis\natau strategi produk.\n\nTujuan:\n- Mengumpulkan kandidat artikel terbaru untuk setiap kata kunci yang ditentukan.\n- Menghapus artikel dengan URL yang sama dan artikel duplikat dengan judul serupa.\n- Mengklasifikasikan dampaknya sebagai tinggi, sedang, atau rendah berdasarkan\n  apakah keputusan produk atau kemitraan diperlukan dalam waktu 3 bulan.\n- Membuat hasilnya menjadi briefing email dalam bahasa Korea.\n\nBatasan:\n- Pertahankan versi Python dan metode pengelolaan paket yang digunakan repositori saat ini.\n- Sebelum menambahkan library baru, jelaskan kebutuhan dan alternatifnya.\n- Jangan mencatat API key dan kata sandi email dalam kode atau log.\n- Sebelum benar-benar mengirim email, hanya buat file pratinjau.\n\nPeriksa terlebih dahulu struktur repositori dan cara menjalankannya,\nlalu usulkan rencana implementasi.\nJangan menebak informasi lingkungan yang tidak diketahui,\ntetapi susun sebagai daftar pertanyaan.\n```\n\nInformasi latar belakang yang baik mencakup empat hal berikut.\n\n1. **Pengguna dan situasi penggunaan:** Siapa yang menggunakannya, kapan, dan untuk keputusan apa\n2. **Tujuan:** Masalah apa yang harus diselesaikan, bukan sekadar menulis kode\n3. **Batasan:** Teknologi apa yang harus dipertahankan serta aturan keamanan, batas biaya, atau batas waktu apa yang berlaku\n4. **Bukan tujuan:** Fitur apa yang secara eksplisit dikecualikan dari perubahan kali ini\n\nMenuliskan hal yang bukan tujuan dapat mencegah ruang lingkup berkembang tanpa batas. Sebagai contoh, dengan menetapkan `Pada tahap ini, eksekusi terjadwal dan pengiriman email sebenarnya dikecualikan`, logika pengumpulan dan klasifikasi dapat diverifikasi terlebih dahulu secara stabil.\n\n## Prinsip 2. Jadikan Format Output yang Diinginkan sebagai Kontrak Output\n\n`Kirimkan melalui email agar enak dilihat` dapat ditafsirkan berbeda oleh setiap orang. Untuk format output, jangan hanya menunjukkan contoh, tetapi definisikan juga field wajib, nilai yang diizinkan, cara menangani data yang tidak tersedia, dan urutan pengurutan.\n\n```text\nSubjek email:\n[Briefing Berita] {YYYY-MM-DD} Berita Utama Hari Ini\n\nFormat artikel dalam isi:\n1. {Judul}\nRingkasan: {1~2 kalimat dalam bahasa Korea}\nDampak: {Tinggi|Sedang|Rendah}\nAlasan penilaian: {1 kalimat}\nSumber: {Nama media}\nTautan: {URL asli}\n\nAturan pengurutan:\n1. Urutkan dari dampak tertinggi\n2. Jika dampaknya sama, urutkan dari waktu publikasi terbaru\n\nStatistik bagian bawah:\n- Jumlah seluruh artikel\n- Jumlah artikel menurut tingkat dampak\n- Kata kunci yang tidak memiliki hasil pencarian\n\nBatasan:\n- Jangan membuat angka atau klaim yang tidak terdapat dalam sumber asli di dalam ringkasan.\n- Jika tanggal tidak dapat diverifikasi, jangan memperkirakannya dan tandai sebagai 'Tidak dapat diverifikasi'.\n- Kecualikan item tanpa tautan dari briefing akhir.\n```\n\nJika hasil harus diteruskan antarprogram, sebaiknya minta skema JSON atau definisi tipe bersama contoh yang dapat dibaca manusia.\n\n```json\n{\n  \"title\": \"string\",\n  \"summary\": \"string\",\n  \"impact\": \"high | medium | low\",\n  \"reason\": \"string\",\n  \"source\": \"string\",\n  \"url\": \"absolute URL\",\n  \"published_at\": \"ISO 8601 string | null\"\n}\n```\n\nKontrak output tidak hanya mencakup format, tetapi juga makna. Jika tidak ada kriteria penilaian mengenai arti `impact: high`, sintaks JSON mungkin benar, tetapi hasil klasifikasinya bisa tidak konsisten.\n\n## Prinsip 3. Nyatakan Situasi Pengecualian dan Kebijakan Pemulihan\n\nKualitas kode operasional terlihat pada jalur kegagalan, bukan pada jalur normal. Prompt harus mencantumkan kegagalan yang dapat diperkirakan, apakah percobaan ulang diperbolehkan, kondisi yang harus diberitahukan kepada pengguna, dan informasi yang tidak boleh dicatat.\n\n| Situasi pengecualian | Contoh kebijakan yang disarankan |\n|---|---|\n| Tidak ada hasil pencarian | Lewati kata kunci tersebut dan catat dalam statistik akhir |\n| Kesalahan jaringan sementara | Coba ulang hanya dalam jumlah terbatas dengan interval tertentu |\n| Kegagalan autentikasi | Jangan mencoba ulang; segera hentikan dan berikan panduan untuk memeriksa konfigurasi |\n| Batas penggunaan API | Patuhi petunjuk waktu tunggu dalam respons dan larang percobaan ulang tanpa batas |\n| Artikel duplikat | Hapus berdasarkan URL yang dinormalisasi dan tingkat kemiripan judul |\n| Data dengan format yang salah | Pertahankan data asli dan isolasi hanya item tersebut |\n| Kegagalan pengiriman email | Jika masih gagal setelah dicoba ulang, catat notifikasi alternatif atau status kegagalan |\n| Keberhasilan sebagian | Laporkan hasil yang berhasil dan item yang gagal secara terpisah |\n\nKebijakan dapat diminta secara spesifik seperti berikut.\n\n```text\nPerlakukan waktu tunggu jaringan yang habis sebagai kesalahan yang dapat dicoba ulang.\nBerikan waktu tunggu di antara setiap percobaan ulang, dan jika jumlah maksimum\nterlampaui, tandai hanya sumber tersebut sebagai gagal.\nKesalahan autentikasi dan permintaan yang salah tidak akan terselesaikan\nmeskipun diulang, jadi segera hentikan.\n\nDalam semua log kesalahan, catat waktu, tahap pekerjaan, sumber, dan jenis kesalahan,\ntetapi jangan mencatat API key, alamat email lengkap, header autentikasi,\natau teks lengkap isi artikel.\nBedakan keberhasilan penuh, keberhasilan sebagian, dan kegagalan penuh\nmelalui status penghentian proses.\n```\n\nNilai seperti `coba ulang tiga kali` atau `tunggu 5 detik` bukanlah jawaban universal. Nilai tersebut harus ditentukan dalam proyek berdasarkan batas resmi layanan eksternal, urgensi pekerjaan, dan risiko eksekusi duplikat. Pekerjaan yang memiliki efek samping seperti pembayaran atau pengiriman pesan dapat diproses secara duplikat jika dicoba ulang secara otomatis tanpa jaminan idempotensi.\n\n## Prinsip 4. Kembangkan Secara Bertahap dalam Urutan Perencanaan, Implementasi Minimum, dan Verifikasi\n\nJika beberapa layanan eksternal dan eksekusi otomatis dihubungkan sekaligus, penyebab kesalahan akan sulit dipisahkan. Dengan membagi implementasi menjadi unit verifikasi kecil, input dan output setiap tahap dapat diperiksa.\n\n### Urutan Proses yang Disarankan\n\n1. Periksa struktur repositori, file terkait, dan perintah eksekusi.\n2. Minta agen menyajikan rencana dan file yang akan terdampak sebelum mengubah kode.\n3. Implementasikan fungsi pengumpulan dengan satu kata kunci dan data sampel tetap.\n4. Uji deduplikasi dan klasifikasi dampak secara terpisah.\n5. Verifikasi email melalui pratinjau lokal, bukan pengiriman sebenarnya.\n6. Setelah pengujian lolos, tambahkan integrasi dengan penyedia sebenarnya dan eksekusi terjadwal.\n\nPermintaan pertama dapat dibatasi sebagai berikut.\n\n```text\nSekarang hanya lakukan tahap 1.\nPeriksa repositori dan laporkan hal-hal berikut.\n- Titik masuk aplikasi saat ini\n- Modul dan file pengujian terkait\n- Metode pengelolaan paket serta perintah pengujian yang digunakan\n- File yang diperkirakan perlu diubah\n- Pertanyaan yang harus diputuskan sebelum implementasi\n\nJangan ubah file apa pun terlebih dahulu.\n```\n\nSetelah meninjau rencana, implementasikan dengan mempersempit ruang lingkup perubahan.\n\n```text\nDari rencana yang telah disetujui, implementasikan hanya pengumpulan berita dan deduplikasi.\nJangan tambahkan klasifikasi, pengiriman email, atau eksekusi terjadwal.\nPastikan dapat dijalankan dengan data pengujian tetap,\ndan pada bagian akhir rangkum file yang diubah serta hasil pengujian yang dijalankan.\n```\n\nJika mode khusus perencanaan tersedia di lingkungan Claude Code, mode tersebut dapat dimanfaatkan pada tahap eksplorasi dan desain. Namun, fakta bahwa rencana terlihat meyakinkan tidak berarti implementasinya akurat, sehingga pengujian sebenarnya dan tinjauan kode tetap harus dilakukan setelahnya.\n\n## Prinsip 5. Sampaikan Umpan Balik melalui Kasus Kegagalan dan Angka\n\n`Hasilnya kurang bagus`, `Kinerjanya lambat`, atau `Klasifikasinya salah` menyulitkan penentuan arah perbaikan. Sampaikan kondisi saat ini, kondisi yang diharapkan, input untuk mereproduksi masalah, dan rentang perubahan yang dapat diterima.\n\n### Permintaan Perubahan Panjang\n\n```text\nSaat ini, isi email yang dihasilkan memiliki panjang sekitar 3.000 karakter.\nSaya ingin menguranginya menjadi maksimal 500 karakter agar dapat dibaca cepat di perangkat seluler.\nBatasi ringkasan setiap artikel menjadi 1~2 kalimat dan pertahankan alasan penilaian.\nHubungkan URL asli pada judul dan hapus baris tautan terpisah.\nPertahankan statistik di bagian bawah.\n```\n\n### Permintaan Perubahan Kriteria Klasifikasi\n\n```text\nDari 10 data pengujian, 8 diklasifikasikan sebagai 'Tinggi'.\nKlasifikasikan prospek teknologi jangka panjang atau pengenalan produk umum sebagai 'Rendah'.\nKlasifikasikan sebagai 'Tinggi' hanya jika terdapat bukti konkret bahwa keputusan\nmengenai harga, roadmap produk, respons terhadap regulasi, atau kemitraan\nharus diubah dalam waktu 3 bulan.\n\nDalam kasus yang dilampirkan, jawaban yang benar adalah A dan B sebagai Tinggi,\nserta C sebagai Rendah.\nPerbaiki aturan klasifikasi dan tambahkan kasus-kasus ini sebagai pengujian regresi.\n```\n\n### Permintaan Perubahan Kinerja\n\n```text\nWaktu eksekusi rata-rata untuk input sampel yang sama saat ini sekitar 45 detik.\nTargetnya adalah maksimal 30 detik dalam lingkungan yang sama.\nPertama-tama, ukur waktu setiap tahap dan tunjukkan bottleneck.\nJangan menghapus akurasi hasil maupun penanganan kesalahan,\nbandingkan dampak dan risiko dari opsi perbaikan,\nlalu terapkan perubahan terkecil terlebih dahulu.\n```\n\nAngka kinerja hanya dapat dibandingkan jika lingkungan pengukuran dan data inputnya sama. Jangan menyimpulkan bahwa kinerja telah meningkat hanya berdasarkan satu hasil eksekusi; metode pengukuran, sampel, dan status cache juga harus ditetapkan bersama.\n\n## Prinsip 6. Gunakan Templat Prompt Berdasarkan Jenis Pekerjaan\n\n### Templat Pembuatan Agen Baru\n\n```text\n[Peran dan situasi]\nSaya adalah {pekerjaan/peran} dan ingin menyelesaikan {situasi masalah}.\nHasil ini akan digunakan oleh {pengguna atau sistem lanjutan}.\n\n[Tujuan]\n{Hasil yang harus dicapai dan kriteria keberhasilan}\n\n[Pemicu eksekusi]\n{Eksekusi manual, peristiwa, waktu terjadwal, dan sebagainya}\n\n[Input]\n- Sumber data: {file/API/database}\n- Field wajib: {daftar field}\n- Metode autentikasi: {variabel lingkungan atau metode pengelolaan rahasia}\n\n[Logika pemrosesan]\n1. {Tahap 1}\n2. {Tahap 2}\n3. {Tahap 3}\n\n[Kontrak output]\n{Format file, skema, templat, aturan pengurutan dan data yang tidak tersedia}\n\n[Penanganan pengecualian]\n{Hasil kosong, waktu habis, kesalahan autentikasi, kebijakan kegagalan sebagian}\n\n[Batasan dan bukan tujuan]\n- Teknologi yang harus dipertahankan: {item}\n- Hal yang dilarang: {item}\n- Fitur yang dikecualikan dari pekerjaan kali ini: {item}\n\n[Verifikasi]\n- Pengujian yang harus lolos: {item}\n- Hal yang harus disertakan dalam laporan penyelesaian:\n  file yang diubah, perintah eksekusi, hasil pengujian, risiko yang tersisa\n\nPeriksa repositori terlebih dahulu dan ajukan rencana implementasi.\nJangan menebak informasi yang tidak diketahui; ajukan pertanyaan.\n```\n\n### Templat Penambahan Fitur yang Sudah Ada\n\n```text\nTambahkan {fitur baru} ke {nama agen atau modul} yang sudah ada.\nFitur baru harus dijalankan setelah {tahap A yang sudah ada}\ndan sebelum {tahap B yang sudah ada}.\n\nLogika terperinci:\n- {Kondisi dan aturan pemrosesan}\n- {Format input dan output}\n- {Tindakan saat terjadi kegagalan}\n\nKetentuan yang harus dipertahankan:\n- Jangan mengubah antarmuka publik dan format konfigurasi yang sudah ada.\n- Pertahankan semua pengujian yang sudah ada.\n- Jangan mengubah file yang tidak terkait.\n\nJelaskan terlebih dahulu cakupan dampak dan risiko regresi,\nlalu tambahkan pengujian yang mempertahankan perilaku lama sebelum mengimplementasikannya.\n```\n\n### Templat Perbaikan Kesalahan\n\n```text\nReproduksi kesalahan berikut dan perbaiki akar penyebabnya.\n\nPesan kesalahan lengkap:\n{Pesan kesalahan dan stack trace setelah informasi rahasia dan data pribadi dihapus}\n\nKondisi terjadinya:\n- Perintah eksekusi: {perintah}\n- Input: {input reproduksi minimum}\n- Lingkungan: {sistem operasi, runtime, versi terkait}\n- Waktu terjadinya: {pada tahap apa}\n\nPerilaku yang diharapkan:\n{Hasil yang seharusnya muncul jika berjalan normal}\n\nPerilaku sebenarnya:\n{Hasil yang diamati saat ini}\n\nPermintaan:\n1. Reproduksi kesalahan terlebih dahulu.\n2. Jelaskan penyebab berdasarkan bukti.\n3. Perbaiki dalam ruang lingkup sekecil mungkin.\n4. Tambahkan pengujian regresi yang mencegah kesalahan yang sama.\n5. Laporkan pengujian yang dijalankan dan risiko yang tersisa.\n```\n\nSaat menempelkan pesan kesalahan, informasi sensitif seperti API key, token sesi, data pelanggan, dan alamat internal harus dihapus.\n\n## Contoh Lengkap: Permintaan Agen Briefing Berita\n\nContoh berikut menggabungkan keenam prinsip dalam satu permintaan.\n\n```text\nSaya adalah staf pengembangan bisnis di startup SaaS.\nSetiap hari, saya hanya ingin memeriksa berita mengenai perubahan pasar AI,\ncloud, dan fintech yang dapat mengubah keputusan produk atau kemitraan\ndalam waktu 3 bulan.\n\nPeriksa repositori saat ini dan rancang alat briefing berita.\nPada tahap pertama, implementasikan hanya fungsi untuk membaca sampel JSON,\nmenghapus duplikat, mengklasifikasikan dampak, lalu membuat file pratinjau HTML.\nPencarian web, pengiriman email sebenarnya, dan eksekusi terjadwal\ndikecualikan dari tahap ini.\n\nField input:\n- title, url, source, published_at, body\n\nAturan pemrosesan:\n- Jika URL yang telah dinormalisasi sama, anggap sebagai duplikat.\n- Meskipun URL berbeda, tandai sebagai kandidat duplikat jika judulnya serupa.\n- Klasifikasikan sebagai dampak 'Tinggi' hanya artikel yang memerlukan perubahan konkret\n  dalam keputusan mengenai harga, respons terhadap regulasi, roadmap produk,\n  atau kemitraan dalam waktu 3 bulan.\n- Jika bukti tidak memadai, jangan menebak peringkat tinggi.\n\nOutput:\n- Tampilkan judul, ringkasan 1~2 kalimat, dampak, alasan penilaian, sumber, dan URL.\n- Urutkan dari dampak tertinggi.\n- Tampilkan jumlah keseluruhan, jumlah duplikat yang dihapus,\n  dan jumlah berdasarkan peringkat di bagian bawah.\n\nPenanganan pengecualian:\n- Jangan mengecualikan item yang tidak memiliki field wajib;\n  catat dalam daftar kesalahan terpisah.\n- Jangan memperkirakan tanggal yang salah dan pertahankan sebagai null.\n- Jangan meninggalkan isi lengkap artikel atau informasi autentikasi dalam log.\n\nVerifikasi:\n- Uji input normal, input kosong, URL duplikat, tanggal yang salah,\n  dan field wajib yang tidak tersedia.\n- Jika terdapat pengujian yang sudah ada, semuanya harus lolos.\n\nUrutan pekerjaan:\n1. Periksa struktur repositori dan file terkait.\n2. Sajikan file yang akan diubah dan rencana pengujian.\n3. Jangan mengubah kode sebelum saya memeriksa rencana tersebut.\n4. Setelah disetujui, implementasikan fungsi minimum dan laporkan hasil pengujian.\n```\n\nPermintaan ini tidak meminta agar semua fungsi yang diperlukan diterapkan sekaligus ke lingkungan operasional. Ruang lingkupnya terbatas, sementara makna output, penanganan kegagalan, dan butir pengujian didefinisikan bersama, sehingga hasilnya mudah dinilai.\n\n## Kriteria Kualitas yang Mudah Terlewat Jika Hanya Mengandalkan Prompt\n\nBanyak panduan vibe coding berfokus pada penulisan instruksi yang lebih terperinci. Namun, unsur tambahan yang menentukan kualitas sebenarnya adalah **kemampuan verifikasi, pengendalian perubahan, observabilitas, dan batas keamanan**.\n\n### 1. Ubah Kriteria Penerimaan Menjadi Pengujian\n\nAlih-alih mengatakan `Buat agar berfungsi dengan baik`, berikan pasangan input dan output yang diharapkan. Simpan kasus klasifikasi penting sebagai pengujian regresi untuk memastikan hasil tetap dipertahankan dalam perubahan berikutnya.\n\n### 2. Jangan Gunakan Penilaian Mandiri Agen sebagai Bukti Akhir\n\nPernyataan agen bahwa pekerjaan `selesai` berbeda dengan pengujian yang telah lolos. Minta agen melaporkan perintah yang dijalankan, hasil pengujian, file yang diubah, dan risiko yang belum terselesaikan, lalu manusia harus meninjau diff.\n\n### 3. Minimalkan Izin dan Informasi Rahasia\n\nJangan memberikan sekaligus akses ke direktori yang tidak diperlukan, database produksi, dan kredensial deployment. Jangan masukkan API key secara langsung ke dalam prompt atau repositori; gunakan variabel lingkungan atau sistem pengelolaan rahasia yang disetujui. Jangan memberikan izin akses ke repositori sensitif kepada server MCP atau skrip yang sumbernya tidak diketahui.\n\n### 4. Minta Kode yang Dapat Diobservasi\n\nDalam pekerjaan otomatis, simpan informasi yang diperlukan untuk menemukan penyebab gangguan, seperti status setiap tahap, kesalahan terstruktur, waktu eksekusi, dan jumlah item yang diproses. Sebaliknya, hapus informasi autentikasi dan data pribadi dari log.\n\n### 5. Buat Perubahan agar Dapat Dikembalikan\n\nJangan mencampurkan refactoring yang tidak terkait dan penambahan fitur dalam satu perubahan. Meninjau diff dalam unit kecil dan mencatatnya dalam version control memudahkan pemisahan serta pengembalian perubahan yang salah.\n\n## Tips Operasional Proyek Claude Code\n\n- Catat aturan proyek yang berulang secara singkat dan spesifik dalam `CLAUDE.md`.\n- Berikan perintah build, pengujian, dan lint dalam bentuk yang benar-benar dapat dijalankan.\n- Jangan masukkan informasi rahasia, log kesalahan sementara, atau dokumen referensi panjang ke dalam `CLAUDE.md`.\n- Sebelum perubahan berskala besar, minta agen memeriksa file terkait dan hubungan dependensinya terlebih dahulu.\n- Saat menambahkan paket baru, tinjau kebutuhan, lisensi, dan risiko pemeliharaannya.\n- Jangan menyetujui secara otomatis perintah berbahaya untuk penghapusan, deployment, atau perubahan data.\n- Sebelum menghubungkan API eksternal atau MCP, periksa ke mana data dikirim.\n- Saat selesai, minta agen merangkum file yang diubah, perintah eksekusi, hasil pengujian, dan batasan yang tersisa.\n\n## Checklist Sebelum Mengirimkan Prompt\n\n- [ ] Apakah pengguna dan situasi penggunaan telah dijelaskan?\n- [ ] Apakah tujuan dan hal yang bukan tujuan telah dipisahkan?\n- [ ] Apakah teknologi yang sudah ada dan ruang lingkup yang dilarang untuk diubah telah dinyatakan?\n- [ ] Apakah data input dan format output telah didefinisikan?\n- [ ] Apakah arti nilai klasifikasi dan nilai status telah dijelaskan?\n- [ ] Apakah tersedia kebijakan untuk hasil kosong, kegagalan autentikasi, waktu habis, dan kegagalan sebagian?\n- [ ] Apakah perencanaan dan implementasi telah dipisahkan per tahap?\n- [ ] Apakah tersedia pengujian untuk kasus normal, kasus batas, dan kasus kegagalan?\n- [ ] Apakah informasi rahasia dan data pribadi dikecualikan dari prompt serta log?\n- [ ] Apakah diff dan bukti eksekusi yang akan ditinjau manusia telah diminta?\n\nInti prompt Claude Code yang baik bukanlah menulis perintah yang panjang. Intinya adalah mengurangi bagian yang harus ditebak oleh agen serta memungkinkan pihak ketiga mereproduksi dan menilai apakah hasilnya benar.","content_html":"\u003cp\u003eAgen coding seperti Claude Code bukan sekadar alat untuk menghasilkan sepotong kode, melainkan lingkungan kerja yang dapat menjelajahi repositori, mengubah beberapa file, serta menjalankan pengujian dan perintah. Karena itu, kualitas hasil lebih banyak ditentukan oleh \u003cstrong\u003eseberapa jelas ruang lingkup pekerjaan dan metode verifikasi didefinisikan\u003c/strong\u003e daripada seberapa meyakinkan kalimat yang dihasilkan.\u003c/p\u003e\n\u003cp\u003ePrompt yang baik bukanlah uraian panjang, melainkan spesifikasi pekerjaan yang dapat dijalankan. Prompt harus menyampaikan bukan hanya apa yang harus dibuat, tetapi juga mengapa hal itu diperlukan, ketentuan apa yang harus dipatuhi, bagaimana menangani kegagalan, dan apa yang harus lolos agar pekerjaan dianggap selesai.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#hal-yang-harus-dibedakan-terlebih-dahulu-prompt-dan-lingkungan-eksekusi\" class=\"anchor\" id=\"hal-yang-harus-dibedakan-terlebih-dahulu-prompt-dan-lingkungan-eksekusi\"\u003e\u003c/a\u003eHal yang Harus Dibedakan Terlebih Dahulu: Prompt dan Lingkungan Eksekusi\u003c/h2\u003e\n\u003cp\u003eVibe coding adalah metode kolaborasi yang menyampaikan maksud melalui bahasa alami dan menyerahkan implementasinya kepada agen AI. Namun, fakta bahwa permintaan disampaikan dalam bahasa alami tidak menjamin keakuratan kode atau stabilitas operasional.\u003c/p\u003e\n\u003cp\u003eDalam pekerjaan Claude Code, unsur-unsur berikut bekerja bersama-sama.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eUnsur\u003c/th\u003e\n\u003cth\u003ePeran\u003c/th\u003e\n\u003cth\u003eHal yang perlu diperiksa dalam prompt\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Unsur\"\u003ePermintaan pengguna\u003c/td\u003e\n\u003ctd data-label=\"Peran\"\u003eMenyampaikan tujuan dan ruang lingkup perubahan\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperiksa dalam prompt\"\u003eTujuan, prioritas, hal yang dilarang\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Unsur\"\u003eKonteks repositori\u003c/td\u003e\n\u003ctd data-label=\"Peran\"\u003eMenyediakan struktur dan aturan yang sudah ada\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperiksa dalam prompt\"\u003eFramework, perintah eksekusi, file terkait\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Unsur\"\u003e\u003ccode\u003eCLAUDE.md\u003c/code\u003e\u003c/td\u003e\n\u003ctd data-label=\"Peran\"\u003eMenyediakan panduan proyek yang diterapkan berulang kali\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperiksa dalam prompt\"\u003eAturan coding, metode pengujian, konvensi direktori\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Unsur\"\u003eIzin alat\u003c/td\u003e\n\u003ctd data-label=\"Peran\"\u003eMengendalikan cakupan yang diizinkan untuk perubahan file dan eksekusi perintah\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperiksa dalam prompt\"\u003ePerintah yang boleh dijalankan dan pekerjaan yang memerlukan konfirmasi terlebih dahulu\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Unsur\"\u003eKoneksi eksternal\u003c/td\u003e\n\u003ctd data-label=\"Peran\"\u003eMengakses API, database, server MCP, dan sebagainya\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperiksa dalam prompt\"\u003eMetode autentikasi, batas kepercayaan, kebijakan kegagalan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Unsur\"\u003eProsedur verifikasi\u003c/td\u003e\n\u003ctd data-label=\"Peran\"\u003eMenilai apakah hasil memenuhi persyaratan\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperiksa dalam prompt\"\u003ePengujian, analisis statis, butir pemeriksaan manual\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eMenulis prompt dengan baik saja tidak menyelesaikan semua masalah. Sebagai contoh, Claude Code dapat membuat kode eksekusi terjadwal, tetapi agar pekerjaan tetap berjalan ketika komputer mati, diperlukan server terpisah, layanan CI, atau penjadwal sistem operasi. Pengiriman email juga tidak dapat diselesaikan tanpa informasi autentikasi dan izin pengiriman dari penyedia yang sebenarnya.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#prinsip-1-jelaskan-latar-belakang-tujuan-dan-batasan-terlebih-dahulu\" class=\"anchor\" id=\"prinsip-1-jelaskan-latar-belakang-tujuan-dan-batasan-terlebih-dahulu\"\u003e\u003c/a\u003ePrinsip 1. Jelaskan Latar Belakang, Tujuan, dan Batasan Terlebih Dahulu\u003c/h2\u003e\n\u003cp\u003eJika hanya menyebutkan nama hasil yang diinginkan seperti \u003ccode\u003eBuatkan agen pengumpul berita\u003c/code\u003e, agen harus menebak pengguna, sumber data, lingkungan eksekusi, dan kriteria keberhasilannya. Meskipun sama-sama berupa pengumpul berita, staf pengembangan bisnis, investor, dan editor surat kabar kampus membutuhkan sumber serta kriteria klasifikasi yang berbeda.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#permintaan-yang-tidak-memadai\" class=\"anchor\" id=\"permintaan-yang-tidak-memadai\"\u003e\u003c/a\u003ePermintaan yang Tidak Memadai\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eBuatkan agen pengumpul berita AI.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003e\n\u003ca href=\"#permintaan-yang-ditingkatkan\" class=\"anchor\" id=\"permintaan-yang-ditingkatkan\"\u003e\u003c/a\u003ePermintaan yang Ditingkatkan\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eSaya adalah staf pengembangan bisnis di startup TI.\n\u003c/span\u003e\u003cspan\u003eSetiap hari sebelum mulai bekerja, saya ingin meninjau dengan cepat berita\n\u003c/span\u003e\u003cspan\u003edi bidang AI, cloud, dan fintech yang dapat memengaruhi kemitraan bisnis\n\u003c/span\u003e\u003cspan\u003eatau strategi produk.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eTujuan:\n\u003c/span\u003e\u003cspan\u003e- Mengumpulkan kandidat artikel terbaru untuk setiap kata kunci yang ditentukan.\n\u003c/span\u003e\u003cspan\u003e- Menghapus artikel dengan URL yang sama dan artikel duplikat dengan judul serupa.\n\u003c/span\u003e\u003cspan\u003e- Mengklasifikasikan dampaknya sebagai tinggi, sedang, atau rendah berdasarkan\n\u003c/span\u003e\u003cspan\u003e  apakah keputusan produk atau kemitraan diperlukan dalam waktu 3 bulan.\n\u003c/span\u003e\u003cspan\u003e- Membuat hasilnya menjadi briefing email dalam bahasa Korea.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eBatasan:\n\u003c/span\u003e\u003cspan\u003e- Pertahankan versi Python dan metode pengelolaan paket yang digunakan repositori saat ini.\n\u003c/span\u003e\u003cspan\u003e- Sebelum menambahkan library baru, jelaskan kebutuhan dan alternatifnya.\n\u003c/span\u003e\u003cspan\u003e- Jangan mencatat API key dan kata sandi email dalam kode atau log.\n\u003c/span\u003e\u003cspan\u003e- Sebelum benar-benar mengirim email, hanya buat file pratinjau.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003ePeriksa terlebih dahulu struktur repositori dan cara menjalankannya,\n\u003c/span\u003e\u003cspan\u003elalu usulkan rencana implementasi.\n\u003c/span\u003e\u003cspan\u003eJangan menebak informasi lingkungan yang tidak diketahui,\n\u003c/span\u003e\u003cspan\u003etetapi susun sebagai daftar pertanyaan.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eInformasi latar belakang yang baik mencakup empat hal berikut.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cstrong\u003ePengguna dan situasi penggunaan:\u003c/strong\u003e Siapa yang menggunakannya, kapan, dan untuk keputusan apa\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTujuan:\u003c/strong\u003e Masalah apa yang harus diselesaikan, bukan sekadar menulis kode\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBatasan:\u003c/strong\u003e Teknologi apa yang harus dipertahankan serta aturan keamanan, batas biaya, atau batas waktu apa yang berlaku\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBukan tujuan:\u003c/strong\u003e Fitur apa yang secara eksplisit dikecualikan dari perubahan kali ini\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eMenuliskan hal yang bukan tujuan dapat mencegah ruang lingkup berkembang tanpa batas. Sebagai contoh, dengan menetapkan \u003ccode\u003ePada tahap ini, eksekusi terjadwal dan pengiriman email sebenarnya dikecualikan\u003c/code\u003e, logika pengumpulan dan klasifikasi dapat diverifikasi terlebih dahulu secara stabil.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#prinsip-2-jadikan-format-output-yang-diinginkan-sebagai-kontrak-output\" class=\"anchor\" id=\"prinsip-2-jadikan-format-output-yang-diinginkan-sebagai-kontrak-output\"\u003e\u003c/a\u003ePrinsip 2. Jadikan Format Output yang Diinginkan sebagai Kontrak Output\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003eKirimkan melalui email agar enak dilihat\u003c/code\u003e dapat ditafsirkan berbeda oleh setiap orang. Untuk format output, jangan hanya menunjukkan contoh, tetapi definisikan juga field wajib, nilai yang diizinkan, cara menangani data yang tidak tersedia, dan urutan pengurutan.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eSubjek email:\n\u003c/span\u003e\u003cspan\u003e[Briefing Berita] {YYYY-MM-DD} Berita Utama Hari Ini\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eFormat artikel dalam isi:\n\u003c/span\u003e\u003cspan\u003e1. {Judul}\n\u003c/span\u003e\u003cspan\u003eRingkasan: {1~2 kalimat dalam bahasa Korea}\n\u003c/span\u003e\u003cspan\u003eDampak: {Tinggi|Sedang|Rendah}\n\u003c/span\u003e\u003cspan\u003eAlasan penilaian: {1 kalimat}\n\u003c/span\u003e\u003cspan\u003eSumber: {Nama media}\n\u003c/span\u003e\u003cspan\u003eTautan: {URL asli}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eAturan pengurutan:\n\u003c/span\u003e\u003cspan\u003e1. Urutkan dari dampak tertinggi\n\u003c/span\u003e\u003cspan\u003e2. Jika dampaknya sama, urutkan dari waktu publikasi terbaru\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eStatistik bagian bawah:\n\u003c/span\u003e\u003cspan\u003e- Jumlah seluruh artikel\n\u003c/span\u003e\u003cspan\u003e- Jumlah artikel menurut tingkat dampak\n\u003c/span\u003e\u003cspan\u003e- Kata kunci yang tidak memiliki hasil pencarian\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eBatasan:\n\u003c/span\u003e\u003cspan\u003e- Jangan membuat angka atau klaim yang tidak terdapat dalam sumber asli di dalam ringkasan.\n\u003c/span\u003e\u003cspan\u003e- Jika tanggal tidak dapat diverifikasi, jangan memperkirakannya dan tandai sebagai 'Tidak dapat diverifikasi'.\n\u003c/span\u003e\u003cspan\u003e- Kecualikan item tanpa tautan dari briefing akhir.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eJika hasil harus diteruskan antarprogram, sebaiknya minta skema JSON atau definisi tipe bersama contoh yang dapat dibaca manusia.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e{\n\u003c/span\u003e\u003cspan\u003e  \"\u003c/span\u003e\u003cspan\u003etitle\u003c/span\u003e\u003cspan\u003e\": \"\u003c/span\u003e\u003cspan\u003estring\u003c/span\u003e\u003cspan\u003e\",\n\u003c/span\u003e\u003cspan\u003e  \"\u003c/span\u003e\u003cspan\u003esummary\u003c/span\u003e\u003cspan\u003e\": \"\u003c/span\u003e\u003cspan\u003estring\u003c/span\u003e\u003cspan\u003e\",\n\u003c/span\u003e\u003cspan\u003e  \"\u003c/span\u003e\u003cspan\u003eimpact\u003c/span\u003e\u003cspan\u003e\": \"\u003c/span\u003e\u003cspan\u003ehigh | medium | low\u003c/span\u003e\u003cspan\u003e\",\n\u003c/span\u003e\u003cspan\u003e  \"\u003c/span\u003e\u003cspan\u003ereason\u003c/span\u003e\u003cspan\u003e\": \"\u003c/span\u003e\u003cspan\u003estring\u003c/span\u003e\u003cspan\u003e\",\n\u003c/span\u003e\u003cspan\u003e  \"\u003c/span\u003e\u003cspan\u003esource\u003c/span\u003e\u003cspan\u003e\": \"\u003c/span\u003e\u003cspan\u003estring\u003c/span\u003e\u003cspan\u003e\",\n\u003c/span\u003e\u003cspan\u003e  \"\u003c/span\u003e\u003cspan\u003eurl\u003c/span\u003e\u003cspan\u003e\": \"\u003c/span\u003e\u003cspan\u003eabsolute URL\u003c/span\u003e\u003cspan\u003e\",\n\u003c/span\u003e\u003cspan\u003e  \"\u003c/span\u003e\u003cspan\u003epublished_at\u003c/span\u003e\u003cspan\u003e\": \"\u003c/span\u003e\u003cspan\u003eISO 8601 string | null\u003c/span\u003e\u003cspan\u003e\"\n\u003c/span\u003e\u003cspan\u003e}\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eKontrak output tidak hanya mencakup format, tetapi juga makna. Jika tidak ada kriteria penilaian mengenai arti \u003ccode\u003eimpact: high\u003c/code\u003e, sintaks JSON mungkin benar, tetapi hasil klasifikasinya bisa tidak konsisten.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#prinsip-3-nyatakan-situasi-pengecualian-dan-kebijakan-pemulihan\" class=\"anchor\" id=\"prinsip-3-nyatakan-situasi-pengecualian-dan-kebijakan-pemulihan\"\u003e\u003c/a\u003ePrinsip 3. Nyatakan Situasi Pengecualian dan Kebijakan Pemulihan\u003c/h2\u003e\n\u003cp\u003eKualitas kode operasional terlihat pada jalur kegagalan, bukan pada jalur normal. Prompt harus mencantumkan kegagalan yang dapat diperkirakan, apakah percobaan ulang diperbolehkan, kondisi yang harus diberitahukan kepada pengguna, dan informasi yang tidak boleh dicatat.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eSituasi pengecualian\u003c/th\u003e\n\u003cth\u003eContoh kebijakan yang disarankan\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Situasi pengecualian\"\u003eTidak ada hasil pencarian\u003c/td\u003e\n\u003ctd data-label=\"Contoh kebijakan yang disarankan\"\u003eLewati kata kunci tersebut dan catat dalam statistik akhir\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Situasi pengecualian\"\u003eKesalahan jaringan sementara\u003c/td\u003e\n\u003ctd data-label=\"Contoh kebijakan yang disarankan\"\u003eCoba ulang hanya dalam jumlah terbatas dengan interval tertentu\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Situasi pengecualian\"\u003eKegagalan autentikasi\u003c/td\u003e\n\u003ctd data-label=\"Contoh kebijakan yang disarankan\"\u003eJangan mencoba ulang; segera hentikan dan berikan panduan untuk memeriksa konfigurasi\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Situasi pengecualian\"\u003eBatas penggunaan API\u003c/td\u003e\n\u003ctd data-label=\"Contoh kebijakan yang disarankan\"\u003ePatuhi petunjuk waktu tunggu dalam respons dan larang percobaan ulang tanpa batas\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Situasi pengecualian\"\u003eArtikel duplikat\u003c/td\u003e\n\u003ctd data-label=\"Contoh kebijakan yang disarankan\"\u003eHapus berdasarkan URL yang dinormalisasi dan tingkat kemiripan judul\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Situasi pengecualian\"\u003eData dengan format yang salah\u003c/td\u003e\n\u003ctd data-label=\"Contoh kebijakan yang disarankan\"\u003ePertahankan data asli dan isolasi hanya item tersebut\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Situasi pengecualian\"\u003eKegagalan pengiriman email\u003c/td\u003e\n\u003ctd data-label=\"Contoh kebijakan yang disarankan\"\u003eJika masih gagal setelah dicoba ulang, catat notifikasi alternatif atau status kegagalan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Situasi pengecualian\"\u003eKeberhasilan sebagian\u003c/td\u003e\n\u003ctd data-label=\"Contoh kebijakan yang disarankan\"\u003eLaporkan hasil yang berhasil dan item yang gagal secara terpisah\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eKebijakan dapat diminta secara spesifik seperti berikut.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003ePerlakukan waktu tunggu jaringan yang habis sebagai kesalahan yang dapat dicoba ulang.\n\u003c/span\u003e\u003cspan\u003eBerikan waktu tunggu di antara setiap percobaan ulang, dan jika jumlah maksimum\n\u003c/span\u003e\u003cspan\u003eterlampaui, tandai hanya sumber tersebut sebagai gagal.\n\u003c/span\u003e\u003cspan\u003eKesalahan autentikasi dan permintaan yang salah tidak akan terselesaikan\n\u003c/span\u003e\u003cspan\u003emeskipun diulang, jadi segera hentikan.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eDalam semua log kesalahan, catat waktu, tahap pekerjaan, sumber, dan jenis kesalahan,\n\u003c/span\u003e\u003cspan\u003etetapi jangan mencatat API key, alamat email lengkap, header autentikasi,\n\u003c/span\u003e\u003cspan\u003eatau teks lengkap isi artikel.\n\u003c/span\u003e\u003cspan\u003eBedakan keberhasilan penuh, keberhasilan sebagian, dan kegagalan penuh\n\u003c/span\u003e\u003cspan\u003emelalui status penghentian proses.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNilai seperti \u003ccode\u003ecoba ulang tiga kali\u003c/code\u003e atau \u003ccode\u003etunggu 5 detik\u003c/code\u003e bukanlah jawaban universal. Nilai tersebut harus ditentukan dalam proyek berdasarkan batas resmi layanan eksternal, urgensi pekerjaan, dan risiko eksekusi duplikat. Pekerjaan yang memiliki efek samping seperti pembayaran atau pengiriman pesan dapat diproses secara duplikat jika dicoba ulang secara otomatis tanpa jaminan idempotensi.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#prinsip-4-kembangkan-secara-bertahap-dalam-urutan-perencanaan-implementasi-minimum-dan-verifikasi\" class=\"anchor\" id=\"prinsip-4-kembangkan-secara-bertahap-dalam-urutan-perencanaan-implementasi-minimum-dan-verifikasi\"\u003e\u003c/a\u003ePrinsip 4. Kembangkan Secara Bertahap dalam Urutan Perencanaan, Implementasi Minimum, dan Verifikasi\u003c/h2\u003e\n\u003cp\u003eJika beberapa layanan eksternal dan eksekusi otomatis dihubungkan sekaligus, penyebab kesalahan akan sulit dipisahkan. Dengan membagi implementasi menjadi unit verifikasi kecil, input dan output setiap tahap dapat diperiksa.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#urutan-proses-yang-disarankan\" class=\"anchor\" id=\"urutan-proses-yang-disarankan\"\u003e\u003c/a\u003eUrutan Proses yang Disarankan\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003ePeriksa struktur repositori, file terkait, dan perintah eksekusi.\u003c/li\u003e\n\u003cli\u003eMinta agen menyajikan rencana dan file yang akan terdampak sebelum mengubah kode.\u003c/li\u003e\n\u003cli\u003eImplementasikan fungsi pengumpulan dengan satu kata kunci dan data sampel tetap.\u003c/li\u003e\n\u003cli\u003eUji deduplikasi dan klasifikasi dampak secara terpisah.\u003c/li\u003e\n\u003cli\u003eVerifikasi email melalui pratinjau lokal, bukan pengiriman sebenarnya.\u003c/li\u003e\n\u003cli\u003eSetelah pengujian lolos, tambahkan integrasi dengan penyedia sebenarnya dan eksekusi terjadwal.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003ePermintaan pertama dapat dibatasi sebagai berikut.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eSekarang hanya lakukan tahap 1.\n\u003c/span\u003e\u003cspan\u003ePeriksa repositori dan laporkan hal-hal berikut.\n\u003c/span\u003e\u003cspan\u003e- Titik masuk aplikasi saat ini\n\u003c/span\u003e\u003cspan\u003e- Modul dan file pengujian terkait\n\u003c/span\u003e\u003cspan\u003e- Metode pengelolaan paket serta perintah pengujian yang digunakan\n\u003c/span\u003e\u003cspan\u003e- File yang diperkirakan perlu diubah\n\u003c/span\u003e\u003cspan\u003e- Pertanyaan yang harus diputuskan sebelum implementasi\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eJangan ubah file apa pun terlebih dahulu.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSetelah meninjau rencana, implementasikan dengan mempersempit ruang lingkup perubahan.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eDari rencana yang telah disetujui, implementasikan hanya pengumpulan berita dan deduplikasi.\n\u003c/span\u003e\u003cspan\u003eJangan tambahkan klasifikasi, pengiriman email, atau eksekusi terjadwal.\n\u003c/span\u003e\u003cspan\u003ePastikan dapat dijalankan dengan data pengujian tetap,\n\u003c/span\u003e\u003cspan\u003edan pada bagian akhir rangkum file yang diubah serta hasil pengujian yang dijalankan.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eJika mode khusus perencanaan tersedia di lingkungan Claude Code, mode tersebut dapat dimanfaatkan pada tahap eksplorasi dan desain. Namun, fakta bahwa rencana terlihat meyakinkan tidak berarti implementasinya akurat, sehingga pengujian sebenarnya dan tinjauan kode tetap harus dilakukan setelahnya.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#prinsip-5-sampaikan-umpan-balik-melalui-kasus-kegagalan-dan-angka\" class=\"anchor\" id=\"prinsip-5-sampaikan-umpan-balik-melalui-kasus-kegagalan-dan-angka\"\u003e\u003c/a\u003ePrinsip 5. Sampaikan Umpan Balik melalui Kasus Kegagalan dan Angka\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003eHasilnya kurang bagus\u003c/code\u003e, \u003ccode\u003eKinerjanya lambat\u003c/code\u003e, atau \u003ccode\u003eKlasifikasinya salah\u003c/code\u003e menyulitkan penentuan arah perbaikan. Sampaikan kondisi saat ini, kondisi yang diharapkan, input untuk mereproduksi masalah, dan rentang perubahan yang dapat diterima.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#permintaan-perubahan-panjang\" class=\"anchor\" id=\"permintaan-perubahan-panjang\"\u003e\u003c/a\u003ePermintaan Perubahan Panjang\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eSaat ini, isi email yang dihasilkan memiliki panjang sekitar 3.000 karakter.\n\u003c/span\u003e\u003cspan\u003eSaya ingin menguranginya menjadi maksimal 500 karakter agar dapat dibaca cepat di perangkat seluler.\n\u003c/span\u003e\u003cspan\u003eBatasi ringkasan setiap artikel menjadi 1~2 kalimat dan pertahankan alasan penilaian.\n\u003c/span\u003e\u003cspan\u003eHubungkan URL asli pada judul dan hapus baris tautan terpisah.\n\u003c/span\u003e\u003cspan\u003ePertahankan statistik di bagian bawah.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003e\n\u003ca href=\"#permintaan-perubahan-kriteria-klasifikasi\" class=\"anchor\" id=\"permintaan-perubahan-kriteria-klasifikasi\"\u003e\u003c/a\u003ePermintaan Perubahan Kriteria Klasifikasi\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eDari 10 data pengujian, 8 diklasifikasikan sebagai 'Tinggi'.\n\u003c/span\u003e\u003cspan\u003eKlasifikasikan prospek teknologi jangka panjang atau pengenalan produk umum sebagai 'Rendah'.\n\u003c/span\u003e\u003cspan\u003eKlasifikasikan sebagai 'Tinggi' hanya jika terdapat bukti konkret bahwa keputusan\n\u003c/span\u003e\u003cspan\u003emengenai harga, roadmap produk, respons terhadap regulasi, atau kemitraan\n\u003c/span\u003e\u003cspan\u003eharus diubah dalam waktu 3 bulan.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eDalam kasus yang dilampirkan, jawaban yang benar adalah A dan B sebagai Tinggi,\n\u003c/span\u003e\u003cspan\u003eserta C sebagai Rendah.\n\u003c/span\u003e\u003cspan\u003ePerbaiki aturan klasifikasi dan tambahkan kasus-kasus ini sebagai pengujian regresi.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003e\n\u003ca href=\"#permintaan-perubahan-kinerja\" class=\"anchor\" id=\"permintaan-perubahan-kinerja\"\u003e\u003c/a\u003ePermintaan Perubahan Kinerja\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eWaktu eksekusi rata-rata untuk input sampel yang sama saat ini sekitar 45 detik.\n\u003c/span\u003e\u003cspan\u003eTargetnya adalah maksimal 30 detik dalam lingkungan yang sama.\n\u003c/span\u003e\u003cspan\u003ePertama-tama, ukur waktu setiap tahap dan tunjukkan bottleneck.\n\u003c/span\u003e\u003cspan\u003eJangan menghapus akurasi hasil maupun penanganan kesalahan,\n\u003c/span\u003e\u003cspan\u003ebandingkan dampak dan risiko dari opsi perbaikan,\n\u003c/span\u003e\u003cspan\u003elalu terapkan perubahan terkecil terlebih dahulu.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAngka kinerja hanya dapat dibandingkan jika lingkungan pengukuran dan data inputnya sama. Jangan menyimpulkan bahwa kinerja telah meningkat hanya berdasarkan satu hasil eksekusi; metode pengukuran, sampel, dan status cache juga harus ditetapkan bersama.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#prinsip-6-gunakan-templat-prompt-berdasarkan-jenis-pekerjaan\" class=\"anchor\" id=\"prinsip-6-gunakan-templat-prompt-berdasarkan-jenis-pekerjaan\"\u003e\u003c/a\u003ePrinsip 6. Gunakan Templat Prompt Berdasarkan Jenis Pekerjaan\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#templat-pembuatan-agen-baru\" class=\"anchor\" id=\"templat-pembuatan-agen-baru\"\u003e\u003c/a\u003eTemplat Pembuatan Agen Baru\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e[Peran dan situasi]\n\u003c/span\u003e\u003cspan\u003eSaya adalah {pekerjaan/peran} dan ingin menyelesaikan {situasi masalah}.\n\u003c/span\u003e\u003cspan\u003eHasil ini akan digunakan oleh {pengguna atau sistem lanjutan}.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e[Tujuan]\n\u003c/span\u003e\u003cspan\u003e{Hasil yang harus dicapai dan kriteria keberhasilan}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e[Pemicu eksekusi]\n\u003c/span\u003e\u003cspan\u003e{Eksekusi manual, peristiwa, waktu terjadwal, dan sebagainya}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e[Input]\n\u003c/span\u003e\u003cspan\u003e- Sumber data: {file/API/database}\n\u003c/span\u003e\u003cspan\u003e- Field wajib: {daftar field}\n\u003c/span\u003e\u003cspan\u003e- Metode autentikasi: {variabel lingkungan atau metode pengelolaan rahasia}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e[Logika pemrosesan]\n\u003c/span\u003e\u003cspan\u003e1. {Tahap 1}\n\u003c/span\u003e\u003cspan\u003e2. {Tahap 2}\n\u003c/span\u003e\u003cspan\u003e3. {Tahap 3}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e[Kontrak output]\n\u003c/span\u003e\u003cspan\u003e{Format file, skema, templat, aturan pengurutan dan data yang tidak tersedia}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e[Penanganan pengecualian]\n\u003c/span\u003e\u003cspan\u003e{Hasil kosong, waktu habis, kesalahan autentikasi, kebijakan kegagalan sebagian}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e[Batasan dan bukan tujuan]\n\u003c/span\u003e\u003cspan\u003e- Teknologi yang harus dipertahankan: {item}\n\u003c/span\u003e\u003cspan\u003e- Hal yang dilarang: {item}\n\u003c/span\u003e\u003cspan\u003e- Fitur yang dikecualikan dari pekerjaan kali ini: {item}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e[Verifikasi]\n\u003c/span\u003e\u003cspan\u003e- Pengujian yang harus lolos: {item}\n\u003c/span\u003e\u003cspan\u003e- Hal yang harus disertakan dalam laporan penyelesaian:\n\u003c/span\u003e\u003cspan\u003e  file yang diubah, perintah eksekusi, hasil pengujian, risiko yang tersisa\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003ePeriksa repositori terlebih dahulu dan ajukan rencana implementasi.\n\u003c/span\u003e\u003cspan\u003eJangan menebak informasi yang tidak diketahui; ajukan pertanyaan.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003e\n\u003ca href=\"#templat-penambahan-fitur-yang-sudah-ada\" class=\"anchor\" id=\"templat-penambahan-fitur-yang-sudah-ada\"\u003e\u003c/a\u003eTemplat Penambahan Fitur yang Sudah Ada\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eTambahkan {fitur baru} ke {nama agen atau modul} yang sudah ada.\n\u003c/span\u003e\u003cspan\u003eFitur baru harus dijalankan setelah {tahap A yang sudah ada}\n\u003c/span\u003e\u003cspan\u003edan sebelum {tahap B yang sudah ada}.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eLogika terperinci:\n\u003c/span\u003e\u003cspan\u003e- {Kondisi dan aturan pemrosesan}\n\u003c/span\u003e\u003cspan\u003e- {Format input dan output}\n\u003c/span\u003e\u003cspan\u003e- {Tindakan saat terjadi kegagalan}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eKetentuan yang harus dipertahankan:\n\u003c/span\u003e\u003cspan\u003e- Jangan mengubah antarmuka publik dan format konfigurasi yang sudah ada.\n\u003c/span\u003e\u003cspan\u003e- Pertahankan semua pengujian yang sudah ada.\n\u003c/span\u003e\u003cspan\u003e- Jangan mengubah file yang tidak terkait.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eJelaskan terlebih dahulu cakupan dampak dan risiko regresi,\n\u003c/span\u003e\u003cspan\u003elalu tambahkan pengujian yang mempertahankan perilaku lama sebelum mengimplementasikannya.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003e\n\u003ca href=\"#templat-perbaikan-kesalahan\" class=\"anchor\" id=\"templat-perbaikan-kesalahan\"\u003e\u003c/a\u003eTemplat Perbaikan Kesalahan\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eReproduksi kesalahan berikut dan perbaiki akar penyebabnya.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003ePesan kesalahan lengkap:\n\u003c/span\u003e\u003cspan\u003e{Pesan kesalahan dan stack trace setelah informasi rahasia dan data pribadi dihapus}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eKondisi terjadinya:\n\u003c/span\u003e\u003cspan\u003e- Perintah eksekusi: {perintah}\n\u003c/span\u003e\u003cspan\u003e- Input: {input reproduksi minimum}\n\u003c/span\u003e\u003cspan\u003e- Lingkungan: {sistem operasi, runtime, versi terkait}\n\u003c/span\u003e\u003cspan\u003e- Waktu terjadinya: {pada tahap apa}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003ePerilaku yang diharapkan:\n\u003c/span\u003e\u003cspan\u003e{Hasil yang seharusnya muncul jika berjalan normal}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003ePerilaku sebenarnya:\n\u003c/span\u003e\u003cspan\u003e{Hasil yang diamati saat ini}\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003ePermintaan:\n\u003c/span\u003e\u003cspan\u003e1. Reproduksi kesalahan terlebih dahulu.\n\u003c/span\u003e\u003cspan\u003e2. Jelaskan penyebab berdasarkan bukti.\n\u003c/span\u003e\u003cspan\u003e3. Perbaiki dalam ruang lingkup sekecil mungkin.\n\u003c/span\u003e\u003cspan\u003e4. Tambahkan pengujian regresi yang mencegah kesalahan yang sama.\n\u003c/span\u003e\u003cspan\u003e5. Laporkan pengujian yang dijalankan dan risiko yang tersisa.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSaat menempelkan pesan kesalahan, informasi sensitif seperti API key, token sesi, data pelanggan, dan alamat internal harus dihapus.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#contoh-lengkap-permintaan-agen-briefing-berita\" class=\"anchor\" id=\"contoh-lengkap-permintaan-agen-briefing-berita\"\u003e\u003c/a\u003eContoh Lengkap: Permintaan Agen Briefing Berita\u003c/h2\u003e\n\u003cp\u003eContoh berikut menggabungkan keenam prinsip dalam satu permintaan.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eSaya adalah staf pengembangan bisnis di startup SaaS.\n\u003c/span\u003e\u003cspan\u003eSetiap hari, saya hanya ingin memeriksa berita mengenai perubahan pasar AI,\n\u003c/span\u003e\u003cspan\u003ecloud, dan fintech yang dapat mengubah keputusan produk atau kemitraan\n\u003c/span\u003e\u003cspan\u003edalam waktu 3 bulan.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003ePeriksa repositori saat ini dan rancang alat briefing berita.\n\u003c/span\u003e\u003cspan\u003ePada tahap pertama, implementasikan hanya fungsi untuk membaca sampel JSON,\n\u003c/span\u003e\u003cspan\u003emenghapus duplikat, mengklasifikasikan dampak, lalu membuat file pratinjau HTML.\n\u003c/span\u003e\u003cspan\u003ePencarian web, pengiriman email sebenarnya, dan eksekusi terjadwal\n\u003c/span\u003e\u003cspan\u003edikecualikan dari tahap ini.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eField input:\n\u003c/span\u003e\u003cspan\u003e- title, url, source, published_at, body\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eAturan pemrosesan:\n\u003c/span\u003e\u003cspan\u003e- Jika URL yang telah dinormalisasi sama, anggap sebagai duplikat.\n\u003c/span\u003e\u003cspan\u003e- Meskipun URL berbeda, tandai sebagai kandidat duplikat jika judulnya serupa.\n\u003c/span\u003e\u003cspan\u003e- Klasifikasikan sebagai dampak 'Tinggi' hanya artikel yang memerlukan perubahan konkret\n\u003c/span\u003e\u003cspan\u003e  dalam keputusan mengenai harga, respons terhadap regulasi, roadmap produk,\n\u003c/span\u003e\u003cspan\u003e  atau kemitraan dalam waktu 3 bulan.\n\u003c/span\u003e\u003cspan\u003e- Jika bukti tidak memadai, jangan menebak peringkat tinggi.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eOutput:\n\u003c/span\u003e\u003cspan\u003e- Tampilkan judul, ringkasan 1~2 kalimat, dampak, alasan penilaian, sumber, dan URL.\n\u003c/span\u003e\u003cspan\u003e- Urutkan dari dampak tertinggi.\n\u003c/span\u003e\u003cspan\u003e- Tampilkan jumlah keseluruhan, jumlah duplikat yang dihapus,\n\u003c/span\u003e\u003cspan\u003e  dan jumlah berdasarkan peringkat di bagian bawah.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003ePenanganan pengecualian:\n\u003c/span\u003e\u003cspan\u003e- Jangan mengecualikan item yang tidak memiliki field wajib;\n\u003c/span\u003e\u003cspan\u003e  catat dalam daftar kesalahan terpisah.\n\u003c/span\u003e\u003cspan\u003e- Jangan memperkirakan tanggal yang salah dan pertahankan sebagai null.\n\u003c/span\u003e\u003cspan\u003e- Jangan meninggalkan isi lengkap artikel atau informasi autentikasi dalam log.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eVerifikasi:\n\u003c/span\u003e\u003cspan\u003e- Uji input normal, input kosong, URL duplikat, tanggal yang salah,\n\u003c/span\u003e\u003cspan\u003e  dan field wajib yang tidak tersedia.\n\u003c/span\u003e\u003cspan\u003e- Jika terdapat pengujian yang sudah ada, semuanya harus lolos.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eUrutan pekerjaan:\n\u003c/span\u003e\u003cspan\u003e1. Periksa struktur repositori dan file terkait.\n\u003c/span\u003e\u003cspan\u003e2. Sajikan file yang akan diubah dan rencana pengujian.\n\u003c/span\u003e\u003cspan\u003e3. Jangan mengubah kode sebelum saya memeriksa rencana tersebut.\n\u003c/span\u003e\u003cspan\u003e4. Setelah disetujui, implementasikan fungsi minimum dan laporkan hasil pengujian.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePermintaan ini tidak meminta agar semua fungsi yang diperlukan diterapkan sekaligus ke lingkungan operasional. Ruang lingkupnya terbatas, sementara makna output, penanganan kegagalan, dan butir pengujian didefinisikan bersama, sehingga hasilnya mudah dinilai.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#kriteria-kualitas-yang-mudah-terlewat-jika-hanya-mengandalkan-prompt\" class=\"anchor\" id=\"kriteria-kualitas-yang-mudah-terlewat-jika-hanya-mengandalkan-prompt\"\u003e\u003c/a\u003eKriteria Kualitas yang Mudah Terlewat Jika Hanya Mengandalkan Prompt\u003c/h2\u003e\n\u003cp\u003eBanyak panduan vibe coding berfokus pada penulisan instruksi yang lebih terperinci. Namun, unsur tambahan yang menentukan kualitas sebenarnya adalah \u003cstrong\u003ekemampuan verifikasi, pengendalian perubahan, observabilitas, dan batas keamanan\u003c/strong\u003e.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#1-ubah-kriteria-penerimaan-menjadi-pengujian\" class=\"anchor\" id=\"1-ubah-kriteria-penerimaan-menjadi-pengujian\"\u003e\u003c/a\u003e1. Ubah Kriteria Penerimaan Menjadi Pengujian\u003c/h3\u003e\n\u003cp\u003eAlih-alih mengatakan \u003ccode\u003eBuat agar berfungsi dengan baik\u003c/code\u003e, berikan pasangan input dan output yang diharapkan. Simpan kasus klasifikasi penting sebagai pengujian regresi untuk memastikan hasil tetap dipertahankan dalam perubahan berikutnya.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#2-jangan-gunakan-penilaian-mandiri-agen-sebagai-bukti-akhir\" class=\"anchor\" id=\"2-jangan-gunakan-penilaian-mandiri-agen-sebagai-bukti-akhir\"\u003e\u003c/a\u003e2. Jangan Gunakan Penilaian Mandiri Agen sebagai Bukti Akhir\u003c/h3\u003e\n\u003cp\u003ePernyataan agen bahwa pekerjaan \u003ccode\u003eselesai\u003c/code\u003e berbeda dengan pengujian yang telah lolos. Minta agen melaporkan perintah yang dijalankan, hasil pengujian, file yang diubah, dan risiko yang belum terselesaikan, lalu manusia harus meninjau diff.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#3-minimalkan-izin-dan-informasi-rahasia\" class=\"anchor\" id=\"3-minimalkan-izin-dan-informasi-rahasia\"\u003e\u003c/a\u003e3. Minimalkan Izin dan Informasi Rahasia\u003c/h3\u003e\n\u003cp\u003eJangan memberikan sekaligus akses ke direktori yang tidak diperlukan, database produksi, dan kredensial deployment. Jangan masukkan API key secara langsung ke dalam prompt atau repositori; gunakan variabel lingkungan atau sistem pengelolaan rahasia yang disetujui. Jangan memberikan izin akses ke repositori sensitif kepada server MCP atau skrip yang sumbernya tidak diketahui.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#4-minta-kode-yang-dapat-diobservasi\" class=\"anchor\" id=\"4-minta-kode-yang-dapat-diobservasi\"\u003e\u003c/a\u003e4. Minta Kode yang Dapat Diobservasi\u003c/h3\u003e\n\u003cp\u003eDalam pekerjaan otomatis, simpan informasi yang diperlukan untuk menemukan penyebab gangguan, seperti status setiap tahap, kesalahan terstruktur, waktu eksekusi, dan jumlah item yang diproses. Sebaliknya, hapus informasi autentikasi dan data pribadi dari log.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#5-buat-perubahan-agar-dapat-dikembalikan\" class=\"anchor\" id=\"5-buat-perubahan-agar-dapat-dikembalikan\"\u003e\u003c/a\u003e5. Buat Perubahan agar Dapat Dikembalikan\u003c/h3\u003e\n\u003cp\u003eJangan mencampurkan refactoring yang tidak terkait dan penambahan fitur dalam satu perubahan. Meninjau diff dalam unit kecil dan mencatatnya dalam version control memudahkan pemisahan serta pengembalian perubahan yang salah.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#tips-operasional-proyek-claude-code\" class=\"anchor\" id=\"tips-operasional-proyek-claude-code\"\u003e\u003c/a\u003eTips Operasional Proyek Claude Code\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCatat aturan proyek yang berulang secara singkat dan spesifik dalam \u003ccode\u003eCLAUDE.md\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBerikan perintah build, pengujian, dan lint dalam bentuk yang benar-benar dapat dijalankan.\u003c/li\u003e\n\u003cli\u003eJangan masukkan informasi rahasia, log kesalahan sementara, atau dokumen referensi panjang ke dalam \u003ccode\u003eCLAUDE.md\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eSebelum perubahan berskala besar, minta agen memeriksa file terkait dan hubungan dependensinya terlebih dahulu.\u003c/li\u003e\n\u003cli\u003eSaat menambahkan paket baru, tinjau kebutuhan, lisensi, dan risiko pemeliharaannya.\u003c/li\u003e\n\u003cli\u003eJangan menyetujui secara otomatis perintah berbahaya untuk penghapusan, deployment, atau perubahan data.\u003c/li\u003e\n\u003cli\u003eSebelum menghubungkan API eksternal atau MCP, periksa ke mana data dikirim.\u003c/li\u003e\n\u003cli\u003eSaat selesai, minta agen merangkum file yang diubah, perintah eksekusi, hasil pengujian, dan batasan yang tersisa.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\n\u003ca href=\"#checklist-sebelum-mengirimkan-prompt\" class=\"anchor\" id=\"checklist-sebelum-mengirimkan-prompt\"\u003e\u003c/a\u003eChecklist Sebelum Mengirimkan Prompt\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e Apakah pengguna dan situasi penggunaan telah dijelaskan?\u003c/li\u003e\n\u003cli\u003e Apakah tujuan dan hal yang bukan tujuan telah dipisahkan?\u003c/li\u003e\n\u003cli\u003e Apakah teknologi yang sudah ada dan ruang lingkup yang dilarang untuk diubah telah dinyatakan?\u003c/li\u003e\n\u003cli\u003e Apakah data input dan format output telah didefinisikan?\u003c/li\u003e\n\u003cli\u003e Apakah arti nilai klasifikasi dan nilai status telah dijelaskan?\u003c/li\u003e\n\u003cli\u003e Apakah tersedia kebijakan untuk hasil kosong, kegagalan autentikasi, waktu habis, dan kegagalan sebagian?\u003c/li\u003e\n\u003cli\u003e Apakah perencanaan dan implementasi telah dipisahkan per tahap?\u003c/li\u003e\n\u003cli\u003e Apakah tersedia pengujian untuk kasus normal, kasus batas, dan kasus kegagalan?\u003c/li\u003e\n\u003cli\u003e Apakah informasi rahasia dan data pribadi dikecualikan dari prompt serta log?\u003c/li\u003e\n\u003cli\u003e Apakah diff dan bukti eksekusi yang akan ditinjau manusia telah diminta?\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInti prompt Claude Code yang baik bukanlah menulis perintah yang panjang. Intinya adalah mengurangi bagian yang harus ditebak oleh agen serta memungkinkan pihak ketiga mereproduksi dan menilai apakah hasilnya benar.\u003c/p\u003e\n","tags":["Rekayasa prompt","Rekayasa harness","Claude Code","Pemrograman AI","Agen pemrograman"],"faqs":[{"question":"Apakah prompt Claude Code semakin panjang semakin baik?","answer":"Yang lebih penting daripada panjangnya adalah apakah informasi yang diperlukan untuk tugas tercantum secara terstruktur. Latar belakang, tujuan, batasan, kontrak keluaran, penanganan pengecualian, dan kriteria penyelesaian sebaiknya ditulis secara spesifik, tetapi penjelasan yang tidak relevan dan instruksi yang berulang sebaiknya dihapus."},{"question":"Apakah tidak boleh meminta pembuatan seluruh program sejak awal?","answer":"Hal itu mungkin untuk alat kecil yang berdiri sendiri, tetapi tugas yang melibatkan API eksternal, basis data, email, dan eksekusi terjadwal sekaligus lebih aman dikembangkan secara bertahap. Dengan terlebih dahulu meninjau pemeriksaan repositori dan rencana, lalu memperluasnya secara berurutan mulai dari fungsi minimum, pengujian, hingga integrasi eksternal, penyebab kegagalan akan lebih mudah dipisahkan."},{"question":"Apakah pengujian boleh dilewati jika menggunakan Plan Mode?","answer":"Tidak. Mode perencanaan berguna untuk meninjau struktur dan pendekatan sebelum melakukan perubahan, tetapi tidak membuktikan keakuratan kode yang sebenarnya. Setelah implementasi, pengujian otomatis, analisis statis, peninjauan riwayat perubahan, dan pemeriksaan manual yang diperlukan harus dilakukan secara terpisah."},{"question":"Apa yang harus ditulis dalam CLAUDE.md?","answer":"Sebaiknya tuliskan instruksi yang berulang dalam berbagai tugas, seperti struktur proyek, aturan penulisan kode, perintah build dan pengujian, serta area yang tidak boleh diubah. Sebaiknya jangan memasukkan kunci API, kata sandi, informasi pribadi, penjelasan tugas sekali pakai, dan materi referensi yang terlalu panjang."},{"question":"Informasi apa yang harus diberikan dalam permintaan perbaikan kesalahan?","answer":"Pesan kesalahan dan pelacakan stack yang telah dibersihkan dari informasi sensitif, perintah eksekusi, input reproduksi minimum, lingkungan terkait, perilaku aktual, dan perilaku yang diharapkan harus diberikan bersama-sama. Sebaiknya minta juga penjelasan penyebab, perbaikan dengan cakupan minimum, pengujian regresi, dan hasil eksekusi."},{"question":"Apakah kunci API boleh diberikan kepada Claude Code melalui prompt?","answer":"Pada prinsipnya, jangan menuliskan kunci API yang sebenarnya secara langsung dalam prompt atau kode sumber. Gunakan variabel lingkungan atau sistem pengelolaan rahasia yang telah disetujui, dan pastikan informasi autentikasi juga tidak terekspos dalam log maupun hasil pengujian."},{"question":"Apakah jumlah percobaan ulang dan waktu tunggu harus selalu dicantumkan dalam prompt?","answer":"Untuk otomatisasi operasional, penting untuk membedakan kesalahan yang dapat dicoba ulang dan kesalahan yang mengharuskan penghentian segera. Namun, jumlah percobaan dan waktu tunggu yang spesifik harus ditentukan setelah memeriksa batasan layanan eksternal, urgensi tugas, dan risiko pemrosesan duplikat, serta tidak semua kesalahan boleh selalu dicoba ulang."},{"question":"Bagaimana cara menentukan apakah kode yang dihasilkan sudah selesai?","answer":"Penentuannya didasarkan pada kriteria penerimaan yang telah ditetapkan sebelumnya. Periksa apakah pengujian fungsi wajib dan kasus pengecualian telah berhasil, perintah yang dijalankan, berkas yang diubah, serta apakah batasan kinerja atau keamanan telah terpenuhi, dan manusia harus meninjau riwayat perubahan kode."}],"sources":[{"url":"https://docs.anthropic.com/en/docs/claude-code/overview","title":"Gambaran umum Claude Code","type":"source"},{"url":"https://www.anthropic.com/engineering/claude-code-best-practices","title":"Claude Code: Praktik terbaik untuk pengodean agentik","type":"source"},{"url":"https://github.com/anthropics/claude-code","title":"Repositori GitHub Anthropic Claude Code","type":"source"}],"images":[{"id":845,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTExNTQsInB1ciI6ImJsb2JfaWQifX0=--9f2d2e2c8a61fc294a6019e4807ece297f36e85a/ai-4caeb237.webp","is_representative":true,"generation_method":"ai_photo","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"코드와 작업 흐름이 표시된 대형 모니터 앞에서 작업하는 개발자","caption":"개발자가 여러 화면의 코드와 문서를 검토하며 작업하고 있다.","description":null},"en":{"alt":"Developer working at a desk with code and a workflow diagram on a large monitor","caption":"A developer reviews code and documentation across multiple screens.","description":null},"ja":{"alt":"コードとワークフロー図を映した大型モニターの前で作業する開発者","caption":"開発者が複数の画面でコードとドキュメントを確認している。","description":null},"es":{"alt":"Desarrollador trabajando frente a un monitor grande con código y un diagrama de flujo","caption":"Un desarrollador revisa código y documentación en varias pantallas.","description":null},"id":{"alt":"Pengembang bekerja di depan monitor besar yang menampilkan kode dan diagram alur kerja","caption":"Seorang pengembang meninjau kode dan dokumentasi di beberapa layar.","description":null},"pt":{"alt":"Desenvolvedor trabalhando diante de um monitor grande com código e diagrama de fluxo","caption":"Um desenvolvedor analisa código e documentação em várias telas.","description":null},"zh-hant":{"alt":"開發人員在顯示程式碼與工作流程圖的大型螢幕前工作","caption":"開發人員正透過多個螢幕檢視程式碼與文件。","description":null},"de":{"alt":"Entwickler vor einem großen Monitor mit Code und einem Ablaufdiagramm","caption":"Ein Entwickler prüft Code und Dokumentation auf mehreren Bildschirmen.","description":null}}},{"id":846,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTExNjAsInB1ciI6ImJsb2JfaWQifX0=--285d7ecdc8209e07e0fc4eb68085cd8a304b9a81/ai-062b34c5.webp","is_representative":false,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"코드 편집기가 열린 노트북과 요구사항, 표, 오류, 버전 관리, 성과 차트를 연결한 개발 워크플로","caption":"체계적인 프롬프트가 코딩 결과물의 검증과 완성도를 높이는 과정을 보여준다.","description":null},"en":{"alt":"Laptop code editor connected to requirements, tables, errors, version control, and performance charts","caption":"The workflow shows how structured prompts support validation and more polished coding results.","description":null},"ja":{"alt":"要件、表、エラー、バージョン管理、成果グラフにつながるコードエディター搭載ノートPC","caption":"構造化されたプロンプトがコードの検証と完成度向上を支える流れを示している。","description":null},"es":{"alt":"Portátil con editor de código conectado a requisitos, tablas, errores, versiones y gráficos de rendimiento","caption":"El flujo muestra cómo los prompts estructurados ayudan a validar y perfeccionar el código.","description":null},"id":{"alt":"Laptop dengan editor kode yang terhubung ke spesifikasi, tabel, galat, kontrol versi, dan grafik kinerja","caption":"Alur ini menunjukkan bagaimana prompt terstruktur membantu validasi dan penyempurnaan hasil kode.","description":null},"pt":{"alt":"Notebook com editor de código ligado a requisitos, tabelas, erros, controle de versão e gráficos de desempenho","caption":"O fluxo mostra como prompts estruturados ajudam a validar e aprimorar os resultados do código.","description":null},"zh-hant":{"alt":"筆電程式碼編輯器連結需求、表格、錯誤、版本控制與成效圖表","caption":"此流程呈現結構化提示如何協助驗證程式碼並提升成果完成度。","description":null},"de":{"alt":"Laptop mit Code-Editor, verbunden mit Anforderungen, Tabellen, Fehlern, Versionskontrolle und Leistungsdiagrammen","caption":"Der Ablauf zeigt, wie strukturierte Prompts die Prüfung und Verfeinerung von Code unterstützen.","description":null}}}],"published_at":"2026-08-23T02:30:01+09:00","updated_at":"2026-08-23T02:30:01+09:00","license":"cc_by","translation_status":"reviewed","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant","de"],"url":"https://injoys.com/en/articles/claude-code-prompt-six-principles-and-templates"}