Pembangun Boleh Mengesan Kod Janaan AI Melalui "Vibe" - Tetapi Kualiti Masih Lebih Penting

Pasukan Komuniti BigGo
Pembangun Boleh Mengesan Kod Janaan AI Melalui "Vibe" - Tetapi Kualiti Masih Lebih Penting

Penyemak kod sedang mengembangkan kebolehan luar biasa untuk mengesan apabila rakan sekerja mereka telah menggunakan AI untuk menulis kod. Bukanlah tanda-tanda jelas seperti komen berulang atau pernyataan switch yang berlebihan yang mendedahkannya. Sebaliknya, ia adalah sesuatu yang lebih halus - kod yang berfungsi dengan sempurna tetapi terasa tidak sesuai untuk projek tersebut.

Tanda-Tanda Kod Janaan AI

Pembangun berpengalaman kini boleh mengenal pasti kod tulisan AI melalui apa yang mereka panggil corak vibe coding. Kod tersebut biasanya mengabaikan konvensyen projek sedia ada dengan cara yang boleh diramalkan. Ia mungkin melaksanakan pengambilan HTTP dari awal apabila projek sudah mempunyai perpustakaan pengambilan data. Ia boleh mencipta semula fungsi utiliti yang wujud di tempat lain dalam pangkalan kod. Kadangkala ia mengubah konfigurasi global apabila mekanisme peringkat modul tersedia, atau menggunakan kelas dalam projek yang mengikuti pendekatan pengaturcaraan berfungsi.

Corak-corak ini muncul kerana model AI tidak mempunyai pemahaman mendalam tentang pangkalan kod tertentu. Mereka menjana penyelesaian berdasarkan pengetahuan pengaturcaraan umum dan bukannya konvensyen khusus projek dan infrastruktur sedia ada. Komuniti telah menyedari bahawa ini mewujudkan cap jari yang tersendiri yang boleh dikenali oleh penyemak berpengalaman.

Corak Pengesanan Kod AI yang Biasa:

  • Pelaksanaan semula utiliti projek yang sedia ada
  • Mengabaikan perpustakaan pengambilan data yang telah ditetapkan
  • Menggunakan corak seni bina yang tidak sesuai (kelas vs fungsi)
  • Mengubah suai konfigurasi global dan bukannya tetapan peringkat modul
  • Kod yang berfungsi tetapi tidak mengikut konvensyen projek

Perbandingan Pembangun Junior

Ramai pembangun membandingkan alat AI dengan bekerja bersama pengaturcara junior, tetapi dengan perbezaan penting. Seorang ahli komuniti menyatakan bahawa walaupun pembangun junior akhirnya belajar dan bertambah baik, model AI akan menetapkan semula dengan setiap perbualan baharu. Arahan meluas dan konteks yang diperlukan untuk membimbing AI dengan betul sering memerlukan usaha yang besar daripada pembangun kanan.

Saya secara peribadi menganggap LLM sebagai pengaturcara yang sangat junior. Dia bersedia untuk bekerja, akan menerima arahan, tetapi pengetahuannya tentang pangkalan kod, dan corak yang kami gunakan sangat kurang.

Ini mewujudkan dinamik menarik di mana AI boleh menghasilkan kod yang berfungsi dengan cepat, tetapi memerlukan pengawasan dan pembersihan yang besar untuk memenuhi standard projek.

Kelajuan Berbanding Kemampanan

Perbincangan mendedahkan ketegangan yang lebih luas dalam pembangunan perisian antara kelajuan penghantaran dan kebolehselenggaraan jangka panjang. Sesetengah pembangun bimbang bahawa alat AI menggalakkan mentaliti speedrun di mana mendapatkan sesuatu yang berfungsi menjadi lebih penting daripada membina perisian yang mampan.

Walau bagaimanapun, komuniti berpecah dalam isu ini. Walaupun ada yang melihat kod janaan AI sebagai bermasalah secara semula jadi, yang lain berpendapat bahawa isu sebenar bukanlah alat tersebut tetapi bagaimana pembangun menggunakannya. Dokumentasi yang lemah, kekurangan ketegasan semakan kod, dan pengetahuan projek yang tidak mencukupi boleh membawa kepada masalah yang sama tanpa mengira sama ada manusia atau AI yang menulis kod.

Amalan Terbaik Pengkodan AI:

  • Cipta fail garis panduan dan peraturan AI khusus projek
  • Gunakan alat linting dan pemformatan automatik
  • Laksanakan proses semakan kod yang menyeluruh
  • Sediakan AI dengan dokumentasi projek dan contoh corak
  • Hadkan tugas AI kepada fungsi yang lebih kecil dan jelas definisinya
  • Kekalkan pengawasan manusia dan tanggungjawab untuk output akhir

Penyelesaian dan Amalan Terbaik

Komuniti pembangunan telah mengenal pasti beberapa strategi untuk memperbaiki pengkodan berbantukan AI. Ini termasuk mencipta garis panduan khusus projek yang terperinci untuk alat AI, menggunakan linting dan pemformatan automatik untuk menangkap isu gaya, dan melaksanakan proses semakan kod yang lebih teliti.

Sesetengah pasukan sedang bereksperimen dengan memberi makan model AI dengan dokumentasi projek yang komprehensif dan contoh corak pengkodan yang diutamakan. Yang lain memberi tumpuan kepada menggunakan AI untuk tugas yang lebih kecil dan berskop baik dan bukannya ciri besar yang memerlukan pemahaman seni bina yang mendalam.

Konsensus nampaknya ialah alat AI boleh menjadi berharga apabila digunakan dengan bijak, tetapi mereka memerlukan perhatian dan penjagaan yang sama seperti mana-mana alat pembangunan yang berkuasa. Kuncinya ialah memastikan bahawa pembangun manusia kekal terlibat dalam proses dan bertanggungjawab untuk output akhir, tanpa mengira bagaimana ia dijana pada mulanya.

Rujukan: I Know When You're Vibe Coding