Pembangun Perdebatkan Sama Ada Kod Janaan AI Perlu Dibaca Sebelum Pelancaran

Pasukan Komuniti BigGo
Pembangun Perdebatkan Sama Ada Kod Janaan AI Perlu Dibaca Sebelum Pelancaran

Kebangkitan pembantu pengekodan AI seperti Claude Code dan Windsurf telah mencetuskan perdebatan sengit dalam komuniti pembangun tentang sama ada pengaturcara perlu membaca dan menyemak kod janaan AI sebelum menolaknya ke pengeluaran. Perbincangan ini berpusat pada soalan asas: adakah AI telah menjadi begitu berkebolehan sehingga semakan kod menjadi pilihan, atau adakah melangkau langkah ini mewujudkan risiko keselamatan dan seni bina yang berbahaya?

Perpecahan Definisi: Apakah Vibe Coding?

Komuniti kekal berpecah tentang maksud sebenar vibe coding. Definisi asal, yang dipopularkan oleh penyelidik AI Andrej Karpathy, menggambarkannya sebagai pengekodan tanpa membaca kod yang dijana langsung - pada asasnya menganggap AI sebagai kotak hitam yang menghasilkan keputusan yang berfungsi. Walau bagaimanapun, ramai pembangun kini berhujah untuk definisi yang berkembang yang merangkumi pengekodan berpandukan dialog di mana manusia menyemak output AI.

Perselisihan definisi ini mencerminkan ketegangan yang lebih mendalam tentang piawaian profesional. Sesetengah pembangun menyokong untuk menganggap AI seperti sistem autonomi, manakala yang lain menegaskan ia harus diuruskan seperti pembangun junior yang kerjanya memerlukan pengawasan dan semakan berterusan.

Kelemahan Keselamatan: Bahaya Tersembunyi

Salah satu hujah yang paling meyakinkan untuk membaca kod janaan AI datang daripada kebimbangan keselamatan. Sistem AI, walaupun mengagumkan, sering terlepas pelaksanaan keselamatan kritikal seperti kawalan akses yang betul dan pemeriksaan pengesahan pengguna. Seorang pembangun baru-baru ini berkongsi contoh di mana AI mencipta endpoint API yang mengembalikan mana-mana projek mengikut ID tanpa mengesahkan sama ada pengguna yang meminta sebenarnya memiliki projek tersebut - kelemahan kebenaran klasik.

Jurang keselamatan ini berlaku kerana AI memberi tumpuan kepada memenuhi permintaan segera daripada mempertimbangkan implikasi keselamatan yang lebih luas. Tidak seperti pembangun manusia yang mungkin berhenti seketika semasa pelaksanaan untuk mempertimbangkan kes tepi, sistem AI menjana kod berdasarkan corak tanpa kesedaran keselamatan kontekstual yang datang daripada pengalaman.

Senarai Semak Kajian Semula Kod AI

Sebelum Menolak Kod yang Dijana AI:

  • Pemeriksaan Seni Bina: Adakah ini mengikuti corak yang telah ditetapkan?
  • Kajian Keselamatan: Adakah semua sumber discopkan dengan betul kepada pengguna?
  • Ujian: Adakah ia benar-benar menguji tingkah laku yang bermakna?
  • Dokumentasi: Adakah anda akan memahami ini dalam tempoh 6 bulan?
  • Pengendalian Ralat: Adakah kes-kes terpinggir dilindungi?
  • Prestasi: Adakah terdapat pertanyaan N+1 yang jelas atau ketidakcekapan?
  • Pemindahan Pengetahuan: Adakah anda memahami kod baharu tersebut?

Masalah Seni Bina: Apabila AI Menyimpang

Malah sistem AI yang dikonfigurasi dengan baik boleh secara beransur-ansur menghakis seni bina kod melalui ketidakkonsistenan kecil yang bertambah dari masa ke masa. Pembangun melaporkan bahawa pembantu AI kadang-kadang menyimpang daripada corak yang ditetapkan, meletakkan logik perniagaan dalam pengawal bukannya lapisan perkhidmatan, atau mencipta fungsi pendua yang membesarkan pangkalan kod.

Jika anda tidak menangkapnya awal, ketidakkonsistenan kecil itu menjadi sebahagian daripada pangkalan kod—dan pembantu kegemaran anda akan tergoda untuk mengikuti contoh buruk tersebut pada masa hadapan.

Cabaran menjadi kitaran: AI belajar daripada corak kod sedia ada, jadi kesilapan seni bina diperkukuh dan diulang sepanjang projek. Ini mewujudkan hutang teknikal yang menjadi semakin mahal untuk diperbaiki apabila pangkalan kod berkembang.

Paradoks Produktiviti

Perdebatan ini juga menyentuh soalan asas tentang produktiviti pembangun dan pembelajaran. Ada yang berhujah bahawa membaca kod sebenarnya lebih perlahan daripada menulisnya, mencadangkan bahawa menyemak output AI tidak memberikan keuntungan produktiviti yang menjadikan alat ini menarik. Yang lain membalas bahawa memahami kod kekal penting untuk seni bina perisian yang berkesan dan kebolehselenggaraan jangka panjang.

Menariknya, perbincangan mendedahkan pendekatan berbeza berdasarkan kerumitan projek. Ramai pembangun melaporkan kejayaan menggunakan AI dalam mod auto-accept untuk ciri periferal dan prototaip, sambil mengekalkan proses semakan yang ketat untuk logik perniagaan teras dan komponen kritikal keselamatan.

Dua Pendekatan untuk Pembangunan Berbantu AI

Prototaip Pantas dengan Mod Auto-Accept:

  • Digunakan untuk topik yang tidak biasa dan penerokaan
  • Sesuai untuk perancah ujian dan penerokaan perpustakaan
  • Memerlukan semakan dan pelarasan di akhir sesi
  • Terbaik untuk ciri sampingan dan komponen tidak kritikal

Pengekodan Segerak untuk Ciri Teras:

  • Gaya pengaturcaraan berpasangan tanpa auto-accept
  • Setiap cadangan AI disemak sebelum pelaksanaan
  • Digunakan untuk logik perniagaan teras dan aliran kritikal
  • Mengekalkan konsistensi seni bina melalui pengawasan berterusan

Masa Depan Semakan Kod

Apabila alat pengekodan AI terus bertambah baik, komuniti menghadapi pilihan antara menerima pembangunan automatik sepenuhnya atau mengekalkan pengawasan manusia. Sesetengah pembangun meramalkan bahawa menyemak kod janaan AI akhirnya akan menjadi tidak perlu seperti membaca kod assembly janaan pengkompil. Yang lain berhujah bahawa pembangunan perisian melibatkan terlalu banyak pertimbangan khusus domain dan keperluan keselamatan untuk diautomasikan sepenuhnya.

Perdebatan ini akhirnya mencerminkan soalan yang lebih luas tentang peranan kepakaran manusia dalam dunia yang diperkukuh AI. Walaupun AI boleh menjana kod berfungsi lebih cepat daripada sebelumnya, tanggungjawab untuk seni bina, keselamatan, dan kebolehselenggaraan jangka panjang masih memerlukan pertimbangan manusia dan pengetahuan domain.

Konsensus nampaknya muncul sekitar pendekatan hibrid: gunakan AI untuk mempercepatkan pembangunan sambil mengekalkan pengawasan manusia untuk keputusan kritikal. Sama ada keseimbangan ini akan bertahan apabila keupayaan AI terus maju kekal sebagai soalan terbuka yang mungkin akan menentukan masa depan pembangunan perisian.

Rujukan: Read That F*cking Code!