Ketika agen AI semakin banyak menulis kod dalam pembangunan perisian, cabaran baru muncul: memastikan pengkaji manusia benar-benar memahami apa yang mereka luluskan. PR Quiz GitHub Action mewakili percubaan inovatif untuk menangani masalah LGTM (Looks Good To Me) yang meluas di mana pembangun meluluskan permintaan tarik tanpa benar-benar memahami perubahan kod.
Masalah LGTM Mencapai Tahap Kritikal
Komuniti pembangunan perisian sedang bergelut dengan isu serius di mana semakan kod telah menjadi latihan cap getah yang dangkal. Pembangun kerap meluluskan permintaan tarik yang mereka tidak fahami, menyebabkan pepijat masuk ke dalam produksi. Masalah ini telah menjadi begitu teruk sehingga sesetengah syarikat mengalami situasi di mana penulis kod asal meninggalkan syarikat, dan pengkaji yang meluluskan perubahan tidak dapat menjelaskan apa yang sebenarnya dilakukan oleh kod tersebut.
Isu ini melangkaui kod yang dijana oleh AI. Walaupun dengan kod yang ditulis oleh manusia, semakan yang berkesan memerlukan pengkaji mempunyai model mental mereka sendiri tentang bagaimana sesuatu tugas harus dilaksanakan, atau sekurang-kurangnya membinanya semasa membaca. Tanpa asas ini, semakan kod menjadi sekadar pemeriksaan pematuhan dan bukannya penilaian teknikal yang bermakna.
Penyelesaian Berkuasa AI dengan Ironi Terbina
Sistem PR Quiz menggunakan API OpenAI untuk menjana soalan aneka pilihan berdasarkan perubahan permintaan tarik. Apabila pengkaji meluluskan permintaan tarik, mereka mesti lulus kuiz yang menunjukkan pemahaman mereka sebelum kod boleh digabungkan. Sistem ini termasuk parameter yang boleh dikonfigurasi seperti had masa, percubaan maksimum, dan ambang minimum baris yang diubah untuk mencegah penyalahgunaan pada perubahan yang remeh.
Walau bagaimanapun, komuniti telah dengan cepat mengenal pasti ironi yang wujud: pembangun boleh menggunakan AI untuk menjawab soalan kuiz yang dijana oleh AI. Ini mewujudkan masalah bulat di mana bot mungkin akhirnya mengkuiz bot lain, berpotensi mengalahkan seluruh tujuan pengawasan manusia.
Parameter Konfigurasi Kuiz PR
Parameter | Penerangan | Nilai Lalai | Diperlukan |
---|---|---|---|
github-token | Token GitHub untuk akses API | - | Ya |
ngrok-authtoken | Token pengesahan Ngrok untuk hosting pelayan | - | Ya |
openai-api-key | Kunci API OpenAI untuk penjanaan kuiz | - | Ya |
model | Model AI untuk penjanaan kuiz | o4-mini | Tidak |
lines-changed-threshold | Minimum baris yang diubah untuk mencetuskan kuiz | 100 | Tidak |
time-limit-minutes | Had masa untuk menyiapkan kuiz | 10 | Tidak |
max-attempts | Maksimum percubaan kuiz yang dibenarkan | 3 | Tidak |
Kebimbangan Privasi dan Pelaksanaan
Sistem ini menimbulkan persoalan tentang amalan pengendalian data dalam era AI. Walaupun alat ini mendakwa privasi dengan hanya menghantar kod kepada OpenAI dan bukannya penyedia hosting pihak ketiga, ramai pembangun mempersoalkan bila menghantar kod proprietari kepada penyedia model AI menjadi standard privasi yang boleh diterima.
Pelaksanaan memerlukan pembangun menyediakan kunci API OpenAI dan token pengesahan ngrok, mewujudkan kerumitan tambahan dalam alur kerja pembangunan. Sistem menjalankan pelayan web sementara dalam GitHub Actions dan menggunakan ngrok untuk mewujudkan terowong awam, yang mungkin dilihat oleh sesetengah pihak sebagai pertimbangan keselamatan.
Keperluan Persediaan
- Kunci API OpenAI (peringkat berbayar disyorkan)
- Token pengesahan ngrok (peringkat percuma disokong)
- Repositori GitHub dengan Actions diaktifkan
- Penempatan fail aliran kerja dalam direktori
.github/workflows
- Konfigurasi rahsia repositori untuk kunci API
Melangkaui Penyelesaian Teknikal
Perbincangan mendedahkan bahawa masalah akar mungkin bukan teknikal tetapi budaya dan ekonomi. Sesetengah pembangun mencadangkan bahawa semakan kod yang bermakna hanya berlaku apabila kualiti perisian secara langsung memberi kesan kepada pampasan melalui bonus, ulasan prestasi, atau keselamatan pekerjaan. Tanpa akibat sebenar untuk kualiti kod yang buruk, amalan semakan dangkal berterusan tanpa mengira alat yang tersedia.
Satu-satunya cara saya pernah lihat jurutera mengambil berat tentang PR adalah jika perisian atau produk terikat secara langsung dengan gaji mereka.
Perdebatan juga menyerlahkan falsafah berbeza tentang tujuan semakan kod. Ada yang melihatnya sebagai pengesahan logik pelaksanaan, sementara yang lain melihatnya sebagai menangkap isu keselamatan yang berpotensi, pelanggaran amalan terbaik, dan kes tepi yang mungkin terlepas oleh alat automatik.
Memandang ke Hadapan
Walaupun PR Quiz mewakili pendekatan kreatif untuk memastikan pemahaman kod, ia juga menggambarkan cabaran yang lebih luas yang dihadapi pembangunan perisian dalam era AI. Alat ini mungkin paling berharga bukan sebagai penjaga pintu, tetapi sebagai bantuan pembelajaran yang membantu pengkaji mengenal pasti jurang pengetahuan dan bertanya soalan yang lebih baik semasa proses semakan.
Respons komuniti mencadangkan bahawa menyelesaikan masalah semakan kod memerlukan penanganan aspek teknikal dan budaya pembangunan perisian. Ketika AI terus menjana lebih banyak kod, industri mesti membangunkan amalan mampan yang mengekalkan kualiti kod tanpa mewujudkan hubungan antagonis antara manusia dan sistem AI.
Rujukan: PR Quiz