- Hasil analisis 470 PR open source menunjukkan bahwa kode yang ditulis AI mengandung rata-rata 1,7 kali lebih banyak masalah dibanding kode yang ditulis manusia
- Cacat utama seperti kesalahan logika, penurunan keterbacaan, dan kerentanan keamanan jauh lebih banyak pada kode AI, terutama masalah keterbacaan yang meningkat lebih dari 3 kali lipat
- Kelalaian penanganan error, kesalahan konkurensi, dan ketidakkonsistenan penamaan pada kode AI sering terjadi, sehingga memperbesar beban review dan risiko operasional
- Penyebabnya dianalisis meliputi kurangnya pemahaman terhadap logika bisnis, pengejaran akurasi yang dangkal, dan preferensi pada pola yang kurang efisien
- Laporan menekankan perlunya penguatan sistem pengelolaan kualitas kode AI serta penerapan prosedur review kode, keamanan, dan pengujian yang sadar-AI
Ringkasan AI vs Human Code Generation Report
- CodeRabbit melakukan penelitian untuk menganalisis secara empiris perbedaan kualitas kode yang ditulis AI dan manusia
- Meneliti 470 GitHub PR open source, di antaranya 320 ditulis bersama AI dan 150 ditulis sepenuhnya oleh manusia
- Semua hasil dinormalisasi sebagai jumlah isu per 100 PR, lalu frekuensi tiap jenis masalah diukur melalui perbandingan rasio statistik
- Hasilnya, AI meningkatkan produktivitas tetapi juga menaikkan tingkat kesalahan
- Rata-rata 10,83 masalah per PR yang ditulis AI, sedangkan PR buatan manusia 6,45 masalah
- Terutama, kesalahan dengan tingkat keparahan tinggi lebih sering ditemukan pada kode AI
Keterbatasan penelitian
- Karena tidak bisa memastikan secara langsung apakah sebuah PR ditulis AI, PR yang memiliki sinyal AI co-authored-by diklasifikasikan sebagai ditulis AI
- PR tanpa sinyal tersebut dianggap ditulis manusia, tetapi pemisahan sempurna tetap tidak memungkinkan
- Meski ada keterbatasan ini, perbedaan statistik dalam pola masalah antara dua kelompok tetap tampak signifikan
- Metodologi lengkap dipublikasikan di bagian akhir laporan
10 temuan utama
- Tidak semua jenis error hanya muncul pada AI, tetapi di sebagian besar kategori tingkat error kode AI lebih tinggi
- Manusia dan AI sama-sama melakukan jenis kesalahan yang mirip, tetapi AI melakukannya lebih sering dan dalam skala lebih besar
-
1. Total jumlah isu naik 1,7 kali
- Rata-rata 10,83 isu per PR AI, sedangkan PR manusia 6,45 isu
- PR dengan konsentrasi isu tinggi (outlier) jauh lebih banyak pada kode AI, sehingga menambah beban review
-
2. Kenaikan error berkeparahan tinggi
- Masalah besar dan kritis meningkat 1,4~1,7 kali
-
3. Masalah logika dan akurasi naik 75%
- Mencakup error logika bisnis, dependensi yang salah, cacat alur kontrol, dan error konfigurasi
- Biaya perbaikannya tinggi dan berpotensi menyebabkan gangguan operasional
-
4. Masalah keterbacaan naik lebih dari 3 kali
- Aturan penamaan, struktur kode, dan konsistensi ekspresi jauh lebih buruk
- Walau kode terlihat rapi, pelanggaran pola lokal sering terjadi
-
5. Kelalaian penanganan error dan jalur exception naik 2 kali
- Pemeriksaan null, kondisi guard, dan logika penanganan exception sering hilang
- Ini adalah jenis masalah yang langsung terkait dengan gangguan layanan nyata
-
6. Masalah keamanan naik hingga 2,74 kali
- Contohnya penanganan kata sandi yang tidak tepat dan kerentanan referensi objek
- Bukan kerentanan yang unik, tetapi sebagian besar cacat keamanan ikut membesar
-
7. Masalah penurunan performa lebih sedikit, tetapi terkonsentrasi di AI
- Pemanggilan I/O berlebihan sekitar 8 kali lebih banyak
- AI cenderung memilih kode yang berfokus pada kejelasan, sehingga efisiensinya menurun
-
8. Error konkurensi dan dependensi naik sekitar 2 kali
- Kesalahan urutan, alur dependensi yang salah, dan penyalahgunaan kontrol konkurensi sering muncul
-
9. Masalah formatting naik 2,66 kali
- Banyak error format seperti indentasi, spasi, dan ketidaksesuaian style
- Bahkan dengan formatter dan linter otomatis, noise pada kode AI tetap meningkat
-
10. Ketidakkonsistenan penamaan naik 2 kali
- Banyak nama yang tidak jelas, istilah yang tidak konsisten, dan identifier yang terlalu umum, sehingga beban kognitif reviewer meningkat
Penyebab munculnya masalah
- AI kurang memahami logika bisnis
- AI menghasilkan kode berdasarkan pola statistik sehingga sering melewatkan aturan sistem
- Generasi berfokus pada akurasi permukaan
- Kode tampak benar di permukaan, tetapi mengandung celah pada perlindungan alur kontrol atau urutan dependensi
- Tidak mematuhi konvensi spesifik repositori
- Aturan penamaan, struktur, dan format berubah menjadi bentuk yang terlalu umum
- Pola keamanan melemah
- Tanpa instruksi eksplisit, AI dapat mereproduksi pola kode lama atau rentan
- Lebih memilih kesederhanaan daripada efisiensi
- Cenderung menggunakan I/O berulang dan struktur yang tidak optimal
Langkah respons untuk tim engineering
- Adopsi AI tidak hanya soal peningkatan kecepatan, tetapi juga membutuhkan desain ulang sistem jaminan kualitas
-
1. Berikan konteks yang cukup kepada AI
- Aturan bisnis, pola konfigurasi, dan batasan arsitektur perlu dijelaskan agar error berkurang
- Sertakan panduan khusus repositori dan skema di dalam prompt
-
2. Terapkan style kode berbasis kebijakan
- Gunakan CI formatter, linter, dan style guide untuk mencegah masalah keterbacaan
-
3. Tambahkan pengaman akurasi
- Wajibkan testing, pemeriksaan null/type, standardisasi penanganan exception, dan kondisi guard yang eksplisit
-
4. Perkuat default keamanan
- Sentralisasi kredensial, blokir penggunaan kata sandi secara langsung, dan jalankan SAST serta security linter otomatis
-
5. Arahkan ke pola yang efisien
- Gunakan pemrosesan batch I/O, pemilihan struktur data yang tepat, dan petunjuk performa
-
6. Terapkan checklist PR yang sadar-AI
- Saat review, periksa item berikut:
- Apakah jalur error sudah tercakup
- Apakah kontrol konkurensi sudah tepat
- Apakah nilai konfigurasi sudah divalidasi
- Bagaimana metode penanganan kata sandi
- Saat review, periksa item berikut:
-
7. Terapkan otomatisasi review kode AI
- Untuk mencegah bug terlewat akibat meningkatnya kelelahan review, laporan ini menyarankan penggunaan alat review kode AI (CodeRabbit)
- Membantu standardisasi kualitas review dan mengurangi waktu pemeriksaan serta beban kognitif
- Untuk mencegah bug terlewat akibat meningkatnya kelelahan review, laporan ini menyarankan penggunaan alat review kode AI (CodeRabbit)
Kesimpulan
- Alat coding AI adalah akselerator yang kuat, tetapi akselerasi tanpa pengaman itu berbahaya
- Kode yang dihasilkan AI memiliki volatilitas, tingkat error, dan tingkat keparahan yang semuanya lebih tinggi
- AI harus digunakan sebagai alat pelengkap, bukan pengganti, dan penguatan sistem kualitas, keamanan, serta pengujian adalah hal wajib
- Untuk mendapatkan kecepatan sekaligus kualitas, diperlukan pengelolaan engineering yang disengaja
- Pemanfaatan alat review kode AI dapat memberi bantuan nyata dalam menjaga kualitas
5 komentar
Kalau 1,7 kali sih lebih sedikit dari yang saya kira...?
Saya juga merasakan hal yang mirip saat ngoding dengan AI. Kalau melihat penyebab-penyebab yang dirangkum, sepertinya itu karena saat manusia menulis kode, hal-hal seperti pola yang sudah menjadi pengetahuan dasar, aturan penamaan, penanganan edge case, guard condition, dan sebagainya tidak cukup diberikan sebagai konteks.
Jadi saya membuat satu file aturan yang khusus mengumpulkan hal-hal semacam itu, lalu saat ngoding saya memberi instruksi agar file itu wajib dibaca dan dipatuhi. Dengan begitu, kalau file aturan itu diperbaiki, hasil akhirnya jadi jauh lebih baik.
Khawatir bakal ada yang berpendapat, “sudah bikin banyak banget, kalau cuma 1,7 kali lipat sih bukannya malah gratisan?”...
Tapi cepat, kan? Jadi teringat meme itu wkwk
Komentar Hacker News
Saya rasa ‘vibe coding’ sudah ada bahkan sebelum AI
Kritik terhadap vibe coding memang masuk akal, tetapi sebenarnya sebelum AI pun kualitas kode sudah buruk
Pernyataan “kode AI menghasilkan masalah 1,7 kali lebih banyak” hanyalah jumlah bug yang ditemukan
Belum lama ini di .NET, Copilot menyarankan implementasi IComparable dan itu menghemat beberapa menit kerja saya
Dulu juga pernah ada situasi serupa
Menarik melihat perusahaan berbasis LLM mengklaim bahwa “AI ternyata tidak seburuk yang diduga”
Saya cukup sering memakai CodeRabbit, tetapi masih ada banyak false positive
“1,7 kali lebih banyak” dan “meningkat 1,7 kali” bukanlah hal yang sama
Agentic AI coding hanyalah alat; jika dipakai dengan salah, tentu hasilnya juga salah
Frasa pada judul artikel, “kode AI menghasilkan masalah 1,7 kali lebih banyak”, tidak akurat