Para reviewer kode sedang mengembangkan kemampuan yang luar biasa untuk mendeteksi ketika rekan kerja mereka menggunakan AI untuk menulis kode. Bukan tanda-tanda yang jelas seperti komentar berulang atau pernyataan switch yang berlebihan yang membocorkannya. Sebaliknya, ini adalah sesuatu yang lebih halus - kode yang bekerja dengan sempurna tetapi terasa salah untuk proyek tersebut.
Tanda-tanda Khas Kode Buatan AI
Developer berpengalaman kini dapat mengidentifikasi kode yang ditulis AI melalui apa yang mereka sebut pola vibe coding. Kode tersebut biasanya mengabaikan konvensi proyek yang ada dengan cara yang dapat diprediksi. Kode itu mungkin mengimplementasikan pengambilan HTTP dari awal ketika proyek sudah memiliki library pengambilan data. Kode itu bisa membuat ulang fungsi utilitas yang sudah ada di tempat lain dalam basis kode. Terkadang kode itu mengubah konfigurasi global ketika mekanisme tingkat modul tersedia, atau menggunakan kelas dalam proyek yang mengikuti pendekatan pemrograman fungsional.
Pola-pola ini muncul karena model AI tidak memiliki pemahaman mendalam tentang basis kode spesifik. Mereka menghasilkan solusi berdasarkan pengetahuan pemrograman umum daripada konvensi khusus proyek dan infrastruktur yang ada. Komunitas telah memperhatikan bahwa ini menciptakan sidik jari yang berbeda yang dapat dikenali oleh reviewer berpengalaman.
Pola Umum Deteksi Kode AI:
- Implementasi ulang utilitas proyek yang sudah ada
- Mengabaikan pustaka pengambilan data yang telah mapan
- Menggunakan pola arsitektur yang tidak tepat (kelas vs fungsi)
- Memodifikasi konfigurasi global alih-alih pengaturan tingkat modul
- Kode yang berfungsi tetapi tidak mengikuti konvensi proyek
Perbandingan dengan Junior Developer
Banyak developer membandingkan tools AI dengan bekerja bersama programmer junior, tetapi dengan perbedaan yang krusial. Salah satu anggota komunitas mencatat bahwa meskipun developer junior akhirnya belajar dan berkembang, model AI mereset dengan setiap percakapan baru. Instruksi ekstensif dan konteks yang diperlukan untuk membimbing AI dengan benar seringkali membutuhkan upaya yang signifikan dari developer senior.
Saya pribadi memperlakukan LLM sebagai programmer yang sangat junior. Dia mau bekerja, akan menerima instruksi, tetapi pengetahuannya tentang basis kode, dan pola yang kami gunakan sangat kurang.
Ini menciptakan dinamika yang menarik di mana AI dapat menghasilkan kode yang berfungsi dengan cepat, tetapi memerlukan pengawasan dan pembersihan yang substansial untuk memenuhi standar proyek.
Kecepatan Versus Keberlanjutan
Diskusi ini mengungkapkan ketegangan yang lebih luas dalam pengembangan perangkat lunak antara kecepatan pengiriman dan kemampuan pemeliharaan jangka panjang. Beberapa developer khawatir bahwa tools AI mendorong mentalitas speedrun di mana membuat sesuatu berfungsi menjadi lebih penting daripada membangun perangkat lunak yang berkelanjutan.
Namun, komunitas terbagi dalam masalah ini. Meskipun beberapa melihat kode buatan AI sebagai hal yang bermasalah secara inheren, yang lain berpendapat bahwa masalah sebenarnya bukanlah toolnya tetapi bagaimana developer menggunakannya. Dokumentasi yang buruk, kurangnya ketelitian review kode, dan pengetahuan proyek yang tidak memadai dapat menyebabkan masalah serupa terlepas dari apakah manusia atau AI yang menulis kode.
Praktik Terbaik Coding AI:
- Buat file panduan dan aturan AI yang spesifik untuk proyek
- Gunakan alat linting dan formatting otomatis
- Implementasikan proses code review yang menyeluruh
- Berikan AI dokumentasi proyek dan contoh pola
- Batasi tugas AI pada fungsi-fungsi yang lebih kecil dan terdefinisi dengan baik
- Pertahankan pengawasan manusia dan tanggung jawab untuk output akhir
Solusi dan Praktik Terbaik
Komunitas pengembangan telah mengidentifikasi beberapa strategi untuk meningkatkan coding berbantuan AI. Ini termasuk membuat pedoman khusus proyek yang detail untuk tools AI, menggunakan linting dan formatting otomatis untuk menangkap masalah gaya, dan mengimplementasikan proses review kode yang lebih menyeluruh.
Beberapa tim sedang bereksperimen dengan memberikan model AI dokumentasi proyek yang komprehensif dan contoh pola coding yang disukai. Yang lain fokus pada penggunaan AI untuk tugas-tugas yang lebih kecil dan terdefinisi dengan baik daripada fitur besar yang memerlukan pemahaman arsitektur yang mendalam.
Konsensusnya tampaknya adalah bahwa tools AI dapat berharga ketika digunakan dengan bijak, tetapi mereka memerlukan perhatian dan kehati-hatian yang sama seperti tool pengembangan yang kuat lainnya. Kuncinya adalah memastikan bahwa developer manusia tetap terlibat dalam proses dan bertanggung jawab atas output akhir, terlepas dari bagaimana output itu awalnya dihasilkan.
Referensi: I Know When You're Vibe Coding