Review PR Otomatis dengan AI
Memasang AI sebagai reviewer otomatis di pull request: setup, prompt review, dan batasannya.
Reviewer yang Tidak Pernah Tidur
Modul review-kode-ai membahas cara MEMINTA AI me-review (manual, kamu yang paste). Modul ini naik level: AI yang otomatis me-review setiap pull request begitu PR dibuka, tanpa diminta. Setiap ada kode baru, dalam 1-2 menit muncul komentar review terstruktur. Ini praktik yang dipakai banyak tim profesional: manusia fokus ke keputusan, AI menangani pemeriksaan rutin.
Bedakan dua mode: (1) bot PR (GitHub Actions + API AI: otomatis, terstandar, butuh setup), dan (2) AI review di platform (fitur bawaan seperti Copilot code review: sekali klik). Modul ini fokus ke konsep + setup sederhana mode 1, karena di sanalah kamu belajar cara kerjanya.
Contoh 1: Cara Kerja Bot Review PR (Konsep + Setup Sederhana)
Alurnya:
- Developer membuka PR.
- GitHub Actions terpicu: mengambil diff PR.
- Diff dikirim ke AI dengan prompt review terstruktur (mirip modul review-kode-ai: 4 sudut + format temuan).
- AI mengembalikan temuan; bot mem-posting sebagai komentar PR.
- Manusia membaca temuan, memutuskan tindak lanjut.
Contoh workflow GitHub Actions (konsep; sesuaikan dengan Actions AI pilihanmu):
name: AI Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Get diff
run: git diff origin/main...HEAD > pr.diff
- name: AI review
run: |
# kirim pr.diff ke API AI dengan prompt review,
# posting hasilnya sebagai komentar PRKunci kualitasnya ada di prompt review-nya (bukan di Actions-nya): prompt yang sama dengan modul review-kode-ai, ditambah konteks repo (bahasa, framework, aturan tim dari AGENTS.md!). Prompt generik = review generik yang diabaikan tim.
Contoh 2: Membuat Review Otomatis yang Tidak Dibenci Tim (Praktik)
Bot review yang buruk = spam komentar yang diabaikan semua orang. Aturan agar bot-mu berguna:
1. Hanya laporkan yang penting. Prompt: "Laporkan HANYA temuan level kritis/sedang. Jangan komentari gaya (itu tugas linter). Maksimal 5 temuan per PR; jika lebih, laporkan 5 teratas saja." Bot yang komentar 30 hal per PR akan di-mute.
2. Beri konteks repo. Sertakan di prompt: bahasa/framework, aturan khusus tim ("kami memakai X, jangan sarankan Y"), dan file AGENTS.md jika ada. Review tanpa konteks = saran generik yang salah sasaran.
3. Bedakan "temuan" vs "pertanyaan". Format: "TEMUAN (kritis): ... | PERTANYAAN: ..." Pertanyaan ("apakah perubahan ini disengaja?") sering lebih berharga daripada vonis, karena bot tidak tahu maksud penulis.
4. Jangan block merge otomatis (awalnya). Biarkan bot sebagai penasihat dulu. Setelah tim percaya akurasinya (evaluasi 1-2 bulan!), baru pertimbangkan menjadikannya required check untuk hal kritis (misal: deteksi secret).
Catatan teknis: Tantangan teknis utama: (1) konteks diff terbatas: PR besar (1000+ baris) melebihi context window efektif; solusinya review per file/commit, atau fokus ke file kritis saja; (2) false positive: bot yang terlalu sensitif = noise; tuning prompt + eval (modul eval-prompting: ukur precision/recall bot terhadap review manusia!); (3) biaya: tiap PR = API call; untuk repo aktif bisa signifikan, pertimbangkan model murah untuk screening + model bagus untuk yang dicurigai; (4) keamanan: bot membaca kode PR dari kontributor eksternal (potensi prompt injection via kode jahat di PR!): jangan beri bot tool berbahaya, dan sanitasi outputnya. Untuk tim kecil/sekolah: mulai dari mode 2 (fitur bawaan platform, sekali klik) sebelum membangun bot sendiri.
Kesalahan Umum
- Langsung ke otomatisasi penuh. Bot yang belum teruji langsung dipasang required = memblokir kerja tim dengan temuan sampah. Mulai sebagai penasihat, naik kelas setelah terbukti.
- Prompt review generik. "Review kode ini." Hasilnya generik dan diabaikan. Investasi di prompt = investasi di adopsi.
- Tidak mengukur. Tidak ada yang tahu apakah bot membantu atau mengganggu. Ukur: berapa temuan yang ditindaklanjuti? Survei singkat ke tim tiap bulan.
- Menggantikan review manusia. Bot menangkap pola; manusia menangkap maksud, konteks bisnis, dan keputusan desain. Bot = lapisan pertama, manusia = keputusan akhir. Selalu.
Rangkuman
Review PR otomatis = bot yang me-review tiap PR dengan prompt terstruktur + konteks repo. Kuncinya: hanya laporkan yang penting, beri konteks, bedakan temuan vs pertanyaan, mulai sebagai penasihat. Ukur efektivitasnya dan jangan pernah menggantikan review manusia. Ini adalah bentuk paling konkret "AI dalam workflow tim profesional".
Tantangan
Simulasi Bot Review Manual
Jadilah 'bot' manual: minta teman (atau dirimu kemarin) membuat PR/diff kecil di proyek latihan. Terapkan prompt review bot: hanya 5 temuan teratas, format TEMUAN vs PERTANYAAN, dengan konteks repo. Minta 'penulis' menilai: berapa temuan yang valid? Berapa yang noise? Apa yang harus diubah dari prompt bot-mu?
Kuis Bab
Uji pemahamanmu: Bab 8: AI untuk Developer
Jawab 5 soal berikut, lalu tekan "Periksa Jawaban".
1.Teknik debugging AI yang paling sistematis adalah...
2.Cara memastikan test buatan AI berkualitas adalah...
3.Komentar kode yang baik menjelaskan...
4.Cara meminta review AI yang tajam adalah...
5.Kelemahan AI sebagai reviewer adalah...