Developer Menciptakan Sistem Kuis Bertenaga AI untuk Melawan Budaya "LGTM" dalam Code Review

Tim Komunitas BigGo
Developer Menciptakan Sistem Kuis Bertenaga AI untuk Melawan Budaya "LGTM" dalam Code Review

Seiring dengan semakin banyaknya AI agent yang menulis kode dalam pengembangan perangkat lunak, muncul tantangan baru: memastikan reviewer manusia benar-benar memahami apa yang mereka setujui. PR Quiz GitHub Action mewakili upaya inovatif untuk mengatasi masalah LGTM (Looks Good To Me) yang tersebar luas di mana developer menyetujui pull request tanpa benar-benar memahami perubahan kode.

Masalah LGTM Mencapai Titik Krisis

Komunitas pengembangan perangkat lunak sedang bergulat dengan masalah serius di mana code review telah menjadi latihan rubber-stamping yang dangkal. Developer sering kali menyetujui pull request yang tidak mereka pahami, yang menyebabkan bug masuk ke produksi. Masalah ini telah menjadi begitu parah sehingga beberapa perusahaan mengalami situasi di mana penulis kode asli pergi, dan reviewer yang menyetujui perubahan tidak dapat menjelaskan apa yang sebenarnya dilakukan oleh kode tersebut.

Masalah ini meluas melampaui kode yang dihasilkan AI. Bahkan dengan kode yang ditulis manusia, review yang efektif mengharuskan reviewer memiliki model mental mereka sendiri tentang bagaimana suatu tugas harus diimplementasikan, atau setidaknya membangunnya sambil membaca. Tanpa fondasi ini, code review menjadi sekadar pemeriksaan kepatuhan daripada evaluasi teknis yang bermakna.

Solusi Bertenaga AI dengan Ironi Bawaan

Sistem PR Quiz menggunakan API OpenAI untuk menghasilkan pertanyaan pilihan ganda berdasarkan perubahan pull request. Ketika seorang reviewer menyetujui pull request, mereka harus lulus kuis yang menunjukkan pemahaman mereka sebelum kode dapat digabungkan. Sistem ini mencakup parameter yang dapat dikonfigurasi seperti batas waktu, maksimum percobaan, dan ambang batas minimum baris yang diubah untuk mencegah penyalahgunaan pada perubahan sepele.

Namun, komunitas dengan cepat mengidentifikasi ironi yang melekat: developer dapat dengan mudah menggunakan AI untuk menjawab pertanyaan kuis yang dihasilkan AI. Ini menciptakan masalah melingkar di mana bot mungkin berakhir dengan menguji bot lain, yang berpotensi mengalahkan seluruh tujuan pengawasan manusia.

Parameter Konfigurasi Kuis PR

Parameter Deskripsi Nilai Default Wajib
github-token Token GitHub untuk akses API - Ya
ngrok-authtoken Token autentikasi Ngrok untuk hosting server - Ya
openai-api-key Kunci API OpenAI untuk pembuatan kuis - Ya
model Model AI untuk pembuatan kuis o4-mini Tidak
lines-changed-threshold Minimum baris yang diubah untuk memicu kuis 100 Tidak
time-limit-minutes Batas waktu penyelesaian kuis 10 Tidak
max-attempts Maksimum percobaan kuis yang diizinkan 3 Tidak

Kekhawatiran Privasi dan Implementasi

Sistem ini menimbulkan pertanyaan tentang praktik penanganan data di era AI. Meskipun alat ini mengklaim privasi dengan hanya mengirim kode ke OpenAI daripada penyedia hosting pihak ketiga, banyak developer mempertanyakan kapan mengirim kode milik perusahaan ke penyedia model AI menjadi standar privasi yang dapat diterima.

Implementasi mengharuskan developer untuk menyiapkan kunci API OpenAI dan token autentikasi ngrok, menciptakan kompleksitas tambahan dalam alur kerja pengembangan. Sistem ini menjalankan server web sementara dalam GitHub Actions dan menggunakan ngrok untuk membuat tunnel publik, yang mungkin dipandang oleh beberapa orang sebagai pertimbangan keamanan.

Persyaratan Setup

  • Kunci API OpenAI (tier berbayar direkomendasikan)
  • Token autentikasi ngrok (tier gratis didukung)
  • Repositori GitHub dengan Actions yang diaktifkan
  • Penempatan file workflow di direktori .github/workflows
  • Konfigurasi secrets repositori untuk kunci API

Melampaui Solusi Teknis

Diskusi mengungkapkan bahwa masalah akar mungkin bukan teknis tetapi budaya dan ekonomi. Beberapa developer menyarankan bahwa code review yang bermakna hanya terjadi ketika kualitas perangkat lunak secara langsung mempengaruhi kompensasi melalui bonus, ulasan kinerja, atau keamanan kerja. Tanpa konsekuensi nyata untuk kualitas kode yang buruk, praktik review yang dangkal tetap bertahan terlepas dari alat yang tersedia.

Satu-satunya cara yang pernah saya lihat engineer peduli tentang PR adalah jika perangkat lunak atau produk terikat langsung dengan gaji mereka.

Debat ini juga menyoroti filosofi yang berbeda tentang tujuan code review. Beberapa melihatnya sebagai validasi logika implementasi, sementara yang lain melihatnya sebagai menangkap masalah keamanan potensial, pelanggaran praktik terbaik, dan kasus tepi yang mungkin terlewat oleh alat otomatis.

Melihat ke Depan

Meskipun PR Quiz mewakili pendekatan kreatif untuk memastikan pemahaman kode, ini juga menggambarkan tantangan yang lebih luas yang dihadapi pengembangan perangkat lunak di era AI. Alat ini mungkin paling berharga bukan sebagai penjaga gerbang, tetapi sebagai alat bantu pembelajaran yang membantu reviewer mengidentifikasi kesenjangan pengetahuan dan mengajukan pertanyaan yang lebih baik selama proses review.

Respons komunitas menunjukkan bahwa memecahkan masalah code review memerlukan penanganan aspek teknis dan budaya dari pengembangan perangkat lunak. Seiring AI terus menghasilkan lebih banyak kode, industri harus mengembangkan praktik berkelanjutan yang mempertahankan kualitas kode tanpa menciptakan hubungan yang bermusuhan antara manusia dan sistem AI.

Referensi: PR Quiz