Agen coding
Meninjau dan Menguji Kode
Agen coding dapat menghasilkan banyak kode, dan itu juga berarti mereka dapat menambah tech debt dengan cepat jika Anda tidak berhati-hati.
Kode yang dihasilkan AI bisa tampak benar tetapi ternyata salah secara halus. Kode tersebut mungkin memenuhi requirement saat ini, tetapi tidak konsisten dengan pola codebase yang ada, atau melewatkan edge case yang penting.
Inilah mengapa code review sangat penting.
Tinjau sendiri
Anda sebaiknya meninjau kode Anda sebelum meminta orang lain untuk melihatnya.
Perhatikan cara agen bekerja. Jika Anda melihat agen bergerak ke arah yang salah, tekan Esc dua kali untuk menginterupsinya dan mengarahkan ulang, alih-alih membiarkannya terus melakukan perubahan yang perlu dibatalkan.
Minta agen meninjau semua perubahan sekaligus. Tambahkan referensi branch di prompt Anda untuk memberi agen diff lengkap dari branch Anda saat ini:
Review the changes I've made to the discount code feature. Look for bugs, missing error handling, and anything inconsistent with our existing patterns in `src/services/PricingService.ts`
What questions will reviewers have about these changes? What context should I include in the PR description?
Persiapkan untuk peer review
Agen dapat menghasilkan banyak perubahan kode sekaligus. Ini bisa berakhir sebagai satu commit besar yang sulit untuk di-review.
Kami menyarankan menggunakan commit kecil dan semantik dengan deskripsi yang jelas. Setiap commit mewakili satu unit kerja yang logis sehingga reviewer dapat memahami apa yang berubah dan mengapa.
Pekerjaan membereskan commit ini membosankan jika dilakukan secara manual, tetapi agen dapat melakukannya untuk Anda:
- Bangun fitur dengan bebas.
- Setelah semuanya berfungsi, minta agen untuk menyusun ulang riwayat commit menjadi bagian-bagian yang dapat di-review.
- Agen melakukan reset ke
main, membaca semua perubahan, dan merencanakan urutan logis untuk membuat commit. - Agen memvalidasi bahwa diff final identik dengan yang asli.
Tujuan yang dapat diverifikasi
Untuk membantu memastikan kebenaran kode Anda, Anda perlu memberikan sinyal yang jelas kepada agen tentang apakah kodenya benar atau tidak:
- Pengujian mendeteksi regresi perilaku
- Type checking mendeteksi kesalahan struktural
- Linting mendeteksi pelanggaran gaya dan pola
Semakin banyak pemeriksaan seperti ini yang Anda miliki, semakin percaya diri Anda dapat mendelegasikan pekerjaan kepada agen.
Biarkan agen menulis test Anda
Dulu, membangun cakupan test yang menyeluruh butuh usaha besar. Agen membuat penulisan test jadi jauh lebih mudah didekati.
Anda bisa meminta agen menulis test dari perspektif apapun—unit test, integration test, bahkan e2e test:
Tulis integration test untuk endpoint API kode diskon dan e2e test untuk alur diskon saat checkout. Ikuti infrastruktur test yang ada di `src/__tests__/`
Contoh prompt yang bagus untuk membuat test:
- “Rencanakan cara mendapatkan cakupan e2e untuk alur checkout kami. Skenario apa saja yang harus kami cover?”
- “Siapkan integration test untuk payments API. Gunakan infrastruktur test kami yang sudah ada.”
- “Edge case apa yang belum tercakup oleh test kami saat ini untuk fitur diskon?”
- “Tulis regression test untuk bug yang kami perbaiki di
PaymentService.ts.”
Percepat feedback loop Anda
Saat Anda mulai bekerja dengan lebih banyak coding agen, bottleneck akan bergeser ke bagian paling lambat dari siklus development Anda—build, test, dan type check.
Setiap percakapan dengan agen menanggung biaya-biaya ini. Jika tes Anda membutuhkan waktu 10 menit untuk dijalankan, agen Anda baru bisa memverifikasi kodenya setelah 10 menit.
Beberapa cara untuk mempercepatnya:
- Mempercepat test suite Anda
- Memangkas dependency tree Anda
- Mengoptimalkan pipeline CI Anda
- Mengurangi waktu build Anda
Pola kegagalan umum
Pengujian yang lulus tidak menjamin kode berfungsi dengan benar. Ada kemungkinan pengujian memeriksa hal yang salah, atau implementasi melakukan hal yang salah dengan cara yang kebetulan membuat pengujian lulus.
Penting bagi Anda untuk memahami perubahan pada kode. Jika perubahan tersebut terlalu besar untuk dipahami sekaligus, pecah menjadi bagian-bagian yang lebih kecil dan tinjau setiap bagian secara terpisah.
Langkah selanjutnya
Sekarang Anda memahami cara melakukan deployment fitur baru, melakukan debug ketika terjadi masalah, dan memvalidasi perubahan melalui code review dan testing. Di bab berikutnya, Anda akan mempelajari cara menyesuaikan agen agar sesuai dengan workflow dan konvensi tim Anda.
Anda telah menyelesaikan bab ini
Terus belajar