Seorang pembangun meminta pembantu untuk fungsi yang menyemak sama ada pengguna boleh memuat turun laporan. Kod dikompilasi. Ujian happy-path lulus. Permintaan tarik kelihatan kemas. Dua minggu kemudian, seorang rakan sekerja mendapati bahawa fungsi tersebut menyemak sama ada pengguna telah log masuk, tetapi tidak pernah menyemak sama ada laporan itu milik mereka.
Ini merupakan senario ilustrasi, bukan insiden yang didokumenkan. Ia menerangkan jurang yang perlu dirapatkan oleh latihan semakan kod yang dijana AI: kod yang dijana yang lulus pemeriksaan asas masih boleh mengandungi kecacatan kebenaran atau keserentakan, dan orang yang menyemaknya perlu mencarinya dan menyatakan mengapa ia penting.
Panduan ini adalah untuk ketua pembolehubah kejuruteraan dan pengurus kejuruteraan. Ia merangkumi cara menerangkan masalah prestasi, mendiagnosis jurang, penyediaan dan amalan reka bentuk, menyelesaikan kes dan menilai sama ada kemahiran tersebut dipindahkan kepada semakan sebenar. Ia adalah mengenai reka bentuk latihan. Setiap peraturan kecacatan, ujian dan semakan dalam program anda harus disahkan oleh jurutera kanan dan pasukan keselamatan anda.
Apakah latihan semakan kod yang dijana AI?
Latihan semakan kod yang dijana AI mengajar pembangun untuk meminta pembantu dengan jelas, kemudian menilai dan mengaudit apa yang kembali: adakah ia betul, adakah ia selamat, adakah ia berfungsi di bawah beban serentak, adakah ia cukup cekap? Ia bukan kursus tentang alat tertentu. Ia melatih tabiat semakan yang kekal sama apabila alat berubah.
fakta Pantas
| Soalan | Jawapan pendek |
|---|---|
| Apakah tugasan itu? | Kod yang dijana oleh audit dan mengesahkan setiap risiko dengan ujian. |
| Apa yang anda skorkan? | Kualiti pengesahan dan sama ada kecacatan yang berkaitan telah ditemui. |
| Adakah kuiz tentang peraturan pengekodan selamat mencukupi? | Tidak. Ia mengesahkan prasyarat, tetapi tidak sama ada pembangun boleh mengesan kecacatan dalam kod yang kelihatan munasabah. |
| Siapakah yang mengesahkan kandungan tersebut? | Seorang pengurus kejuruteraan dan pasukan keselamatan anda. |
| Apa yang tidak boleh diperbaiki oleh latihan? | Masa semakan, perkakasan, pemilikan yang tidak jelas dan tekanan untuk bergabung dengan cepat. |
| Macam mana awak tahu ia berkesan? | Satu latihan kod baharu yang belum pernah dilihat, dijaringkan berdasarkan kriteria yang dipersetujui, dengan susulan ke atas ulasan sebenar. |
1. Huraikan masalah prestasi
Mulakan dengan tugasan: audit kod yang dijana dan buktikan risiko dengan ujian. Pengauditan bermaksud membaca dengan syak wasangka. Pengesahan bermaksud menukar syak wasangka kepada bukti, biasanya ujian yang gagal atau penghasilan semula yang menunjukkan kecacatan.
Kajian ini mencadangkan mengapa ini memerlukan amalan yang disengajakan. Dalam satu kajian GitHub Copilot, Pearce dan rakan sekerja menghasilkan 1,689 program merentasi 89 senario yang dipilih untuk jenis kelemahan yang diketahui dan mendapati bahawa kira-kira 40 peratus daripadanya terdedah (Pearce dan rakan sekerja, 2021). Itu merupakan alat awal dan satu set senario tertentu, jadi jangan anggap angka itu sebagai kadar untuk pembantu hari ini. Satu kajian pengguna yang berasingan meminta peserta menulis kod dengan dan tanpa pembantu AI. Mereka yang mempunyai pembantu menulis kod yang jauh kurang selamat, dan lebih cenderung untuk mempercayai bahawa kod mereka selamat (Perry dan rakan sekerja, 2023Kajian yang sama mendapati bahawa peserta yang kurang mempercayai pembantu dan lebih terlibat dengan gesaan mereka menghasilkan lebih sedikit kerentanan.
Dua pengajaran perlu diambil untuk reka bentuk latihan. Output yang munasabah memerlukan pengulas yang aktif. Dan keyakinan bukanlah bukti, jadi latihan mesti meminta ujian, bukan pendapat.
Tulis pernyataan prestasi dalam satu ayat dan minta pengurus kejuruteraan menyemaknya: "Memandangkan perubahan yang dijana, pembangun menyenaraikan risiko keselamatan, keserentakan dan kecekapan yang mereka lihat, dan bagi setiap satu menerangkan atau menulis ujian yang akan menunjukkannya."
2. Diagnosis jurang pembelajaran dan konteks
Sebelum anda membina apa-apa, bandingkan tugasan tersebut dengan apa yang diamalkan dan dinilai oleh program semasa anda. Tiga soalan biasanya memisahkan jurang latihan daripada sesuatu yang lain:
- Adakah amalan semasa menggunakan tugasan sebenar? Jika latihan merangkumi penulisan segera tetapi tidak pernah meminta pembangun menyemak output, tiada siapa yang mengamalkan pengauditan. Jika penilaian merupakan ujian aneka pilihan berdasarkan peraturan pengekodan selamat, ia mengukur ingatan.
- Apakah permintaan kognitif? Dalam taksonomi semakan Bloom, menilai sama ada kod selamat dan memilih ujian yang membuktikan ia berada pada tahap analisis dan penilaian, serta mereka bentuk gesaan atau pembaikan yang lebih baik mencapai tahap cipta. Memadankan aktiviti dengan tahap tersebut dibincangkan dalam panduan kami untuk memadankan aktiviti pembelajaran dengan Taksonomi Bloom.
- Adakah sesuatu selain kemahiran menghalang? Semak masa semakan, peralatan dan pemilikan. Jika pengulas mempunyai masa lima minit untuk setiap permintaan pull, tiada latihan akan menghasilkan audit. Jika tiada analisis statik atau abah-abah ujian dalam perancangan, pembangun boleh menemui risiko tetapi tidak mengesahkannya. Laporkan punca bukan latihan kepada orang yang boleh membetulkannya.
3. Persediaan dan amalan reka bentuk
Sebaik sahaja anda tahu jurang latihan yang boleh ditutup, berikan setiap peringkat tugas yang berbeza.
Penyediaan. Semak prasyarat dengan diagnostik ringkas: kategori kelemahan biasa yang dihadapi oleh tindanan anda, cara ujian anda distrukturkan, senarai semak semakan yang digunakan oleh pasukan anda. Kajian kendiri sesuai dengan peringkat ini. Semakan ingatan semula hanya mengesahkan prasyarat.
Amalan. Gunakan latihan audit yang dibina daripada kod yang dijana secara realistik. Letakkan setiap satu dengan sebilangan kecil kecacatan yang berbeza jenis, seperti pemeriksaan pemilikan yang hilang, perlumbaan antara dua permintaan dan gelung yang tidak cekap, serta beberapa kod yang baik. Pembangun menyemak, menamakan setiap risiko, menyatakan betapa seriusnya risiko tersebut dan mencadangkan ujian yang akan menunjukkannya. Minta alasan, bukan senarai nombor baris.
Maklum balas. Pautkannya dengan keputusan dan bukannya skor keseluruhan. "Anda menandakan gelung tetapi bukan perlumbaan pada kaunter kongsi, dan ujian anda tidak akan mengesannya kerana ia menjalankan permintaan satu demi satu" adalah lebih berguna daripada "2 daripada 3 ditemui".
Input langsung atau semakan tak segerak? Input langsung menambah nilai paling banyak apabila risiko tidak jelas dan pembangun belajar daripada mendengar penjelasan jurutera kanan mengapa mereka akan menyekat penggabungan tersebut. Semakan tak segerak sudah cukup untuk membandingkan penemuan pembangun dengan ulasan pakar beranotasi. Banyak pasukan menggunakan kedua-duanya: persediaan kendiri dahulu, kemudian sesi yang difasilitasi mengenai kes-kes yang sukar.
4. Gunakan contoh yang realistik
Ilustrasi. Seorang pengurus kejuruteraan harus mengesahkan kes dan kriteria jawapan sebelum digunakan.
Kes itu. Titik akhir yang dijana mengembalikan invois pelanggan melalui ID invois. Ia menyemak sama ada pemanggil mempunyai sesi yang sah, menggunakan pertanyaan berparameter dan lulus ujian asas. Fungsi yang sama menambah kaunter muat turun kongsi tanpa kunci.
Tugas itu. Pembangun menyatakan setiap risiko yang mereka lihat, menilainya dan menerangkan ujian yang akan mengesahkan setiap satu.
Percubaan pertama. "Nampak baik. Pertanyaan telah diparameterkan dan ujian lulus." Pembangun telah menganggap ujian lulus sebagai bukti dan tidak bertanya apa yang tidak diliputi oleh ujian tersebut.
Maklum balas dan cuba semula. Pengulas meminta pembangun untuk menamakan apa yang dibuktikan oleh semakan sesi dan apa yang tidak. Percubaan semula meminta mereka untuk mempertimbangkan dua pelanggan berbeza dan dua permintaan serentak.
Percubaan yang lebih kuat. "Semakan sesi membuktikan siapa yang memanggil, bukan invois itu milik mereka. Saya akan menulis ujian di mana pelanggan A meminta ID invois pelanggan B dan menjangkakan penolakan. Kaunter ditambah tanpa penyegerakan, jadi dua permintaan sekaligus boleh kehilangan kemas kini. Saya akan menjalankan ujian serentak dan membandingkan kiraan. Pertanyaan itu sendiri diparameterkan, jadi saya tidak akan menghabiskan masa di sana." Perhatikan bahawa jawapan ini menilai risiko dan mengaitkan setiap satu dengan ujian.
Mengapa setiap respons boleh dipertahankan atau tidak lengkap. Nilaikan setiap satu berdasarkan kriteria yang diluluskan, bukan berdasarkan keutamaan pengulas. Percubaan pertama mengikuti tabiat tetapi tidak memasukkan bukti. Percubaan yang lebih kukuh adalah khusus, diutamakan dan boleh diuji.
5. Menilai keupayaan dan merancang pemindahan
Bukti keupayaan ialah prestasi dalam latihan baharu yang belum pernah dilihat oleh pelajar. Kualiti pengesahan skor dan pengenalpastian kecacatan yang berkaitan. Rubrik mudah menggunakan skala 0 hingga 2 setiap kriteria:
| kriteria | Bukti yang boleh diperhatikan |
|---|---|
| Pelaksanaan tugas | Mengaudit kod yang dijana dan merekodkan bukti di sebalik setiap dapatan. |
| Penaakulan | Menerangkan kekangan, alternatif dan apa yang masih tidak menentu, serta menilai risikonya. |
| Sempadan | Mematuhi peraturan semakan pasukan dan melaporkannya kepada pakar keselamatan apabila risiko di luar bidang kuasa mereka. |
Sauh: 0 tiada atau tidak disokong, 1 separa dengan peninggalan yang berkaitan, dan 2 lengkap dan wajar berdasarkan kriteria yang dipersetujui. Takrifkan ralat kritikal secara berasingan, seperti meluluskan kod dengan laluan akses yang tidak dilindungi, supaya skor keseluruhan tidak dapat menyembunyikannya. Rubrik ini adalah cadangan, bukan standard kesediaan yang disahkan: sesuaikannya dengan pengurus kejuruteraan dan rintiskannya. Panduan kami untuk mereka bentuk amalan interaktif dengan maklum balas yang berguna menunjukkan cara menulis maklum balas yang dikaitkan dengan keputusan.
Rancang pemindahan dengan sengaja. Selepas latihan, pasangkan setiap pembangun dengan permintaan tarik sebenar yang merangkumi kod yang dijana dan semak penemuan mereka bersama-sama, atau jalankan retrospektif pendek pada ulasan terbaru yang terlepas sesuatu.
Di mana penghantaran interaktif membantu
Format interaktif membantu di mana setiap orang harus komited sebelum mereka melihat kumpulan. Dalam sesi langsung, fasilitator boleh menunjukkan coretan yang dijana, meminta setiap pembangun menaip risiko yang mereka lihat dan ujian yang akan mereka tulis, dan kemudian mendedahkan sebaran sebelum perbincangan. Latihan yang sama boleh dijalankan mengikut rentak untuk persediaan. AhaSlides menyokong pembelajaran interaktif dan beralih antara penyampaian langsung dan mengikut rentak kendiri. Ia merupakan alat pembentangan dan pembelajaran, bukan tempat untuk menjalankan kod, jadi jalankan latihan kod dalam persekitaran anda sendiri. Semak sebarang fungsi pengarangan, maklum balas atau pelaporan khusus yang anda rancang untuk andalkan berbanding aliran kerja anda sendiri. Untuk panduan tentang memilih format, lihat artikel kami tentang bila perlu menggunakan pembelajaran adaptif, interaktif dan secara langsung.
Ukur apa yang berubah
Tentukan terlebih dahulu apa yang akan menunjukkan bahawa pembangun boleh melakukan tugas tersebut. Bandingkan kualiti pengesahan dan pengenalpastian kecacatan pada latihan yang tidak kelihatan dengan garis dasar. Tentukan siapa yang disertakan, penyebut dan masa. Jika keputusan bertambah baik, semak apa lagi yang berubah dalam tempoh yang sama, seperti peraturan analisis statik baharu, senarai semak semakan yang disemak semula atau perubahan pembantu, sebelum mengkreditkan latihan tersebut.
Kekangan yang mungkin kekal
- Masa ulangkaji. Audit mengambil masa lebih lama daripada semakan, dan tarikh akhir mendesak ke arah semakan.
- Perkakas. Tanpa abah-abah ujian atau pengimbasan dalam perancangan, risiko sukar untuk disahkan.
- Menukar alat. Pembantu bertukar dengan cepat, jadi teruskan latihan tentang tabiat ulasan, bukan satu produk sahaja.
- Perlindungan kes. Satu latihan menunjukkan beberapa jenis kecacatan. Skor tidak menggambarkan penilaian pembangun secara umum.
- Pindahkan. Prestasi dalam bengkel tidak sama dengan prestasi dalam barisan semakan yang sibuk.
Nyatakan perkara ini kepada penaja lebih awal dan rancang pembaikan berasingan. Latihan meningkatkan apa yang boleh ditemui dan dibuktikan oleh pembangun. Ia tidak mewujudkan masa atau peralatan.
Soalan lazim
Apakah latihan semakan kod yang dijana AI?
Ia mengajar pembangun untuk menggesa, menilai dan mengaudit kod yang dihasilkan oleh pembantu AI, mencari masalah keselamatan, keserentakan dan kecekapan serta menyokong setiap satu dengan ujian.
Adakah kod yang dijana kurang selamat berbanding kod manusia?
Kajian menunjukkan risiko, tetapi hasilnya bergantung pada alat, tugasan dan reka bentuk kajian. Satu kajian pengguna mendapati peserta dengan pembantu menulis kod yang kurang selamat dan berasa lebih yakin mengenainya, yang merupakan sebab untuk melatih tabiat mengulas.
Bagaimanakah anda menilai sama ada pembangun boleh mengaudit kod yang dijana?
Berikan latihan kod baharu dan skor kualiti pengesahan serta pengenalpastian kecacatan berdasarkan kriteria yang dipersetujui. Kuiz tentang peraturan pengekodan selamat hanya mengesahkan prasyarat.
Adakah anda memerlukan kotak pasir kod untuk latihan ini?
Anda memerlukan tempat untuk menjalankan latihan, yang biasanya merupakan persekitaran anda sendiri. Pastikan mana-mana alat yang anda gunakan menyokong apa yang anda perlukan sebelum anda bergantung padanya.
Di mana untuk bermula
Pilih satu jenis perubahan yang dijana berulang dalam pangkalan kod anda. Tulis pernyataan prestasi, minta pengurus kejuruteraan mengesahkan kecacatan yang telah ditetapkan dan ujian yang akan menunjukkannya, dan draf rubrik tiga kriteria dengan skala 0 hingga 2 dan senarai ralat kritikal. Lakukan percubaan dengan kumpulan kecil sebelum anda melancarkannya.
Untuk melihat bagaimana latihan audit boleh dijalankan secara langsung dengan pasukan anda sendiri, dan digunakan semula mengikut rentak kendiri selepas itu, terokai AhaSlides.








