1 poin oleh bangdori1 2 jam lalu | Belum ada komentar. | Bagikan ke WhatsApp

Sambil mengoperasikan alat review AI internal, saya membagikan proses bagaimana kami mengukur dan meningkatkan kualitas secara kuantitatif untuk menjawab pertanyaan seperti, "Bisakah kita mempercayai review AI?" dan "Apakah ini benar-benar memverifikasi dengan baik?"

Latar belakang

  • Kode yang dihasilkan AI memiliki 1,7x lebih banyak isu per PR dan 75% lebih banyak error logika dibanding kode manusia (CodeRabbit)
  • Setelah gangguan akibat kode AI, Amazon mewajibkan persetujuan PR oleh senior, dan Shopify melarang auto-merge untuk PR AI
  • Dalam situasi seperti ini, review AI diperkenalkan sebagai salah satu sarana verifikasi untuk menemukan isu dan error lebih awal
  • Namun, karena review AI sendiri bersifat non-deterministik, tahap untuk mengukur "apakah sarana verifikasi ini benar-benar memverifikasi dengan baik" harus didahulukan

Membangun benchmark sendiri

  • Hotfix PR → menelusuri balik PR asli untuk mengukur "apakah review AI bisa menangkap bug ini pada saat PR asli dibuat"
  • Hanya memasukkan kasus yang bisa dinilai dari PR diff saja; yang membutuhkan konteks eksternal dikecualikan
  • Penilaian menggunakan GPT-4o mini sebagai LLM-as-a-Judge. Nilai absolut mungkin tidak akurat, tetapi cukup untuk perbandingan relatif
  • Skor awal 33 poin. "Perasaan bahwa ini bekerja dengan baik" ternyata adalah ilusi yang disebabkan oleh segelintir kasus sukses

Kegagalan 1 (orkestrasi subagen)

  • Mencoba struktur dengan subagen spesialis per domain yang diarahkan oleh agen utama
  • Hasil: tingkat deteksi ↓, biaya 1,5~3x ↑
  • Tiga penyebab
    • Kehilangan informasi akibat kompresi konteks
    • Penyempitan sudut pandang karena pembatasan fokus
    • Kekosongan tanggung jawab pada area lintas domain

Kegagalan 2 (kontaminasi benchmark)

  • Saat prompt dituning otomatis dengan loop, hasilnya konvergen menjadi daftar instruksi seperti "periksa Division by Zero"
  • SWE-bench juga sudah berada dalam kondisi terkontaminasi
  • Ini menegaskan bahwa benchmark eksternal tidak bisa dijadikan dasar pemilihan model

Metrik baru (Adoption Rate)

  • adopted: review benar-benar berujung pada perubahan kode
  • engaged: tidak ada perubahan, tetapi ada interaksi melalui balasan (nilai cross-check diakui)
  • noised: tidak ada perubahan maupun balasan
  • Metode penilaian: membandingkan commit SHA saat review dan SHA saat merge, lalu menentukan adopted jika ada perubahan dalam ±3 baris dari baris komentar

A/B Opus 4.6 vs GPT-5.2 Codex

  • Model dibagi berdasarkan nomor PR ganjil/genap, membandingkan sekitar 100 PR
  • Opus 4.6: cepat dan kreatif, tetapi kurang teliti, mudah memberi Approve
  • GPT-5.2 Codex: lambat tetapi teliti, dan bahkan saat review diminta ulang masih memberi tambahan temuan yang valid
  • Setelah ditetapkan ke Codex, tingkat penerapan mingguan mencapai rekor tertinggi 60%

Tiga langkah yang menaikkan tingkat penerapan

  • Question: untuk hal yang tidak yakin, ubah dari menunjuk masalah menjadi bertanya
  • Bagian Intent/Decisions pada template PR
    • Intent: menyisipkan jawaban pertanyaan "mengapa ini diperlukan" melalui skill create-pr
    • Decisions: mengekstrak keputusan dari sesi percakapan secara otomatis dengan hook Claude Stop
    • False positive yang sebelumnya muncul karena kurangnya konteks bagi reviewer berkurang hingga 29%
  • Resolve thread otomatis: saat penerapan review terkonfirmasi, AI menutup thread sendiri

Hasil

  • Tingkat penerapan bulanan mencapai 63% (per 2026-04-17)
  • Karena semua aksi berbasis data, keputusan eksperimen berikutnya juga bisa diambil dengan dasar yang jelas
  • Karena Adoption Rate juga tidak menjamin bahwa "diadopsi = jawaban benar", perlu waspada bahwa metrik ini pun bisa terkontaminasi

Belum ada komentar.

Belum ada komentar.