Birlik 4 / 12

Kodni ko'rib chiqish va xato topish

Daromadlar:

  • AIdan toifalar va jiddiylik belgilari bilan dastlabki ko'rib chiqish filtri sifatida foydalanish qobiliyati
  • Tasdiqlash/noto'g'ri ijobiy/qo'llash uchun topilmalarni inson aqli bilan filtrlash qobiliyati
  • Biznes qoidalari, arxitektura va xavfsizlik uchun muhim qarorlar bo'yicha inson tomonidan tasdiqlangan talablarni bajarish qobiliyati

Kodni ko'rib chiqish - bu ishlab chiquvchi tomonidan yozilgan o'zgartirish uni birlashtirishdan oldin boshqa birov tomonidan ko'rib chiqilishi. Yaxshi ko'rib chiqish; U xatolarni erta aniqlaydi, ma'lumot almashadi va kod bazasini izchil saqlaydi. Ammo sharhlar charchagan, chalg'itishga moyil va vaqt bosimi ostida yuzaki bo'lib qoladi. Sun'iy intellekt bu erda ikki tomonlama yordamchidir: u ko'rib chiqish uchun yuborgan o'z kodingizni oldindan tozalash va boshqa birovning PRini (tortish so'rovini) o'tkirroq ko'z bilan tekshirish imkonini beradi.

Muhim farq shundaki: AI ko'rib chiqishni tezlashtiradi va yaxshilaydi, lekin tasdiqlash uchun javobgarlikni o'z zimmasiga olmaydi. "AI qaradi, toza" jumlasi tasdiq emas. Yakuniy "birlashtirish" qarori kod va kontekstni biladigan muhandisga bog'liq.

Sharhda AI nima haqida yaxshi va yomon

Quyidagilar uchun yaxshi: null tekshiruvni o'tkazib yuborish, resurslarning sizib chiqishi (fayl/havola ochiq qoladi), noma'lum istisnolar, aniq noto'g'ri sharoitlar (> o'rniga >=), nomini o'zgartirish takliflari, o'qish mumkinligi, yo'qolgan chekka ishi, oddiy xavfsizlik hidlari (SQL qatorini birlashtirish kabi), takroriy kodni aniqlash.

Zaif tomonlar: biznes qoidangizni buzadigan, lekin kontekst va vaqtni talab qiladigan chuqur kamchiliklar, masalan, sintaktik jihatdan to'g'ri mantiq, arxitektura muvofiqligi, haqiqiy ishlashdagi qiyinchiliklar, parallellik xatolar. AI, shuningdek, noto'g'ri ijobiy (muammo uchun muammo bo'lmagan narsani xato qilish) va noto'g'ri negativlarni (haqiqiy xatoni yo'qotib) ishlab chiqaradi. Shuning uchun uning chiqishi aniq hukm emas, balki "ehtiyotkorlik ro'yxati" dir.

Diqqat: AI "muammo yo'q" degani kodning to'g'ri ekanligini isbotlamaydi. Soxta negativlar jim; Eng xavfli xatolar - bu ko'rib chiqishda hech qachon aytilmaganlar.

Tizimli ko'rib chiqish bosqichlari

  1. Kontekstni keltiring. O'zgartirish maqsadini, tegishli masala va qabul qilish mezonlarini, agar mavjud bo'lsa, taklifga qo'shing. Maqsadsiz ko'rib chiqish maqsadsiz talqinni keltirib chiqaradi.
  2. Uni toifalarga ajrating. Modeldan topilmalarni "xato/xavfsizlik/ishlash/o'qish/uslub" deb tasniflashni so'rang; shuning uchun siz tanqidni shovqindan ajratasiz.
  3. Jiddiylik belgisini talab qiling. Har bir topilmaga “yuqori/o‘rta/past” baho bering va “sabab” va “tavsiya etilgan tuzatish”ni kiriting.
  4. Uni o'z ko'zlaringiz bilan filtrlang. Har bir topilmani baholang: bu haqiqatmi (tekshiring), bu noto'g'ri ijobiymi (asoslash), biror narsa etishmayotganmi (o'z bilimingizni qo'shing).
  5. Muhim yo'llarni qo'lda tekshiring. AIga tayanmasdan pul, identifikatsiya, avtorizatsiya va maʼlumotlarni oʻchirish bilan bogʻliq marshrutlarni oʻzingiz oʻqing va bajaring.

Uchta mini korpus

1-holat - ovozsiz null xatosi aniqlandi. Bir jamoa AI 380 qatorli PRni oldindan ko'rib chiqdi. Model tashqi xizmat javobi nol bo'lishi mumkin bo'lgan usulni belgiladi, ammo kodda buning uchun hech qanday tekshiruv o'tkazilmagan. Inson ko'rib chiquvchi bu yo'lni tasdiqladi va null chek qo'shdi; Xuddi shunday xatolik o‘tgan chorakda ishlab chiqarishda 2 soatlik uzilishga sabab bo‘lgan edi.

2-holat - noto'g'ri ijobiy bartaraf. AI tsiklda "mumkin ishlash muammosi" ni belgiladi. Ko'rib chiquvchi buni noto'g'ri ijobiy deb yopdi, chunki tsikl faqat maksimal 5 element bilan ishlaydi (u raqam orqali aylanadi). Kontekstni bilmagan model ogohlantirdi; Kontekstni bilgan odam to'g'ri qaror qabul qildi.

3-holat - AI o'tkazib yuborilgan biznes qoidasi xatosi. Kampaniya qoidasiga ko'ra chegirma hisobi maksimal 30% bo'lishi kerak bo'lsa-da, kod 50% ga ruxsat beradi. AI bu sintaktik mukammal mantiqiy xatoni hech qachon sezmagan; chunki u qoidani bilmas edi. Xato, qabul qilish mezonlarini biladigan mahsulot egasi tomonidan ko'rib chiqildi. Dars: biznes qoidalarini tekshirish - bu inson ishi.

To'rt nusxa ko'chirish shablonlari

Maqsadga yo'naltirilgan, tasniflangan ko'rib chiqish:

Rol: Kodni sinchkovlik bilan ko'rib chiquvchi. O'zgartirish maqsadi: {{purpose / issue}}Bu farqni ko'rib chiqing. Quyidagi toifalar boʻyicha topilmalarni taqdim eting: [Xatolik] [Xavfsizlik][Ishlash] [Oʻqish imkoniyati] [Uslub]. Har bir topilma uchun: fayl: qator, jiddiylik (yuqori/o‘rta/past), sabab, tavsiya etilgan tuzatish. Agar ishonchingiz komil bo'lmasa, "mumkin" deb belgilang. Siz biznes qoidalarini bilmaysiz; Mendan qoidalar talab qilinadigan joylar haqida soʻrang.{{diff}}

O'z kodingizni ko'rib chiqishga tayyorgarlik ko'rish uchun:

PR ochishdan oldin ushbu o'zgarishni ko'rib chiqing. Qidiring: etishmayotgan null/bugcheck, resurs sizib chiqishi, chekka ishi, maxfiy, tekshirilmagan filial. Natijalarni ustuvorlik tartibida sanab o'ting; Har biri uchun 1 qatordan tuzatish taklif qiling.{{code}}

Edge case ovlash:

Ushbu funktsiya buzilishi mumkin bo'lgan kirishlar va vaziyatlarni sanab o'ting: bo'sh, null, juda katta, salbiy, bir vaqtda qo'ng'iroq, tarmoq xatosi, qisman ma'lumotlar. Har bir holat uchun kutilgan xatti-harakatni va joriy kod nima qilishini yozing.{{funktsiya}}

Xavfsiz hidni skanerlash (oldindan tekshirish):

Ushbu kodda umumiy xavfsizlik hidlarini qidiring: SQL/buyruqlarni birlashtirish, tasdiqlanmagan kiritish, o'zgarmas o'rnatilgan sir, xavfsiz seriyani o'chirish, imtiyozlarni tekshirishning yo'qligi. Topilmalarni "aniq / ehtimol / bilim" ga ajrating. Bu dastlabki skrining; Bu qat'iy hukm emas.{{code}}

Zaif taklif / Kuchli taklif

Zaif: "Ushbu PRda xatolik bormi?"
Kuchli: "Maqsad: jami savatga kupon chegirmasini qo'shing (chegirma 30% dan oshmasligi kerak — bu qoidani o'zingiz tasdiqlay olmaysiz, kod yuqori chegara qo'yganligini ayting). Farqni ko'rib chiqing; toifalar + jiddiylik + tavsiya etilgan tuzatish bo'yicha xulosalar bering, ishonchingiz komil bo'lmasa, "mumkin" deb belgilang. [farq]"

Kuchli versiyada AIning maqsadi, biznes qoidasi va chegarasi aniq ko'rsatilgan; Shunday qilib, foydali topilmalar keladi va modelga noma'lum maydon aniq bo'lib qoladi.

Turni topish

AI ishonchliligi

erkakning roli

Null/xato tekshiruvi yo'q

yuqori

Tasdiqlang va qo'llang

O'qilishi/uslubi

yuqori

Afzallik bo'yicha tanlang

Oddiy xavfsizlik hidi

o'rta

Yakunlash, avtomobil bilan skanerlash

Biznes qoidalariga rioya qilish

past

Bu butunlay insoniy.

Muvofiqlik/arxitektura

past

Ekspert tekshiruvi talab qilinadi

AI sharhi inson tekshiruvining o'rnini bosmaydi

AI tekshiruvini "birinchi filtr" sifatida joylashtiring: arzon, tez, tinimsiz dastlabki o'tish. Ushbu filtr inson e'tiborini muhim bo'lmagan tafsilotlardan (bo'sh joy, ism) ozod qiladi va uni haqiqatan ham o'ylashni talab qiladigan joylarga yo'naltiradi - biznes qoidalari, arxitektura, xavfsizlik natijasi. Ammo birlashishni tasdiqlash - bu jamoadagi mas'ul shaxsning imzosi. Xavfsizlik nuqtai nazaridan muhim o'zgarishlar uchun kamida bitta vakolatli muhandisning mustaqil tekshiruvi majburiydir.

Maslahat: AI "bajarish" emas, balki "tekshirish kerak bo'lgan narsalar" sifatida ishlab chiqaradigan topilmalar ro'yxatini o'qing. Har bir elementni tekshiring va qo'llang yoki uni nima uchun topshirganingizni bitta jumla bilan yozing; bu iz tekshiruvni tekshirilishi mumkin qiladi.

Umumiy xatolar

  • Bu "AI qaradi, toza" degan ma'noni anglatadi. Bu noto'g'ri negativlar tufayli noto'g'ri ishonch hissi.
  • Kontekst bermaslik. Maqsad va qabul qilish mezonlarisiz, model faqat yuzaki uslub talqinlarini ishlab chiqaradi.
  • Soxta pozitivlarni ko'r-ko'rona qo'llash. Modelning har bir ogohlantirishini tuzatish ishlaydigan kodni buzishi mumkin.
  • Modeldan biznes qoidasi haqida so'rash. Model qoidani bilmaydi; Buni tekshirish insonga bog'liq.
  • Zo'ravonlikni kamsitmang. Xavfsizlik bo'yicha muhim topilma va ism taklifini bitta sumkaga qo'yish muhim narsani soya qiladi.

Xulosa

AI kodni ko'rib chiqishda tinimsiz birinchi filtrdir: u nol/xato o'tkazib yuborilganlarni, chekka holatlarni va oddiy xavfsizlik hidlarini yaxshi ushlaydi; lekin u biznes qoidalari, arxitektura va parallellik kabi kontekstni talab qiluvchi kamchiliklarda zaif va noto'g'ri ijobiy va noto'g'ri salbiylarni keltirib chiqaradi. Topilmalarni kategoriya va jiddiylik boʻyicha soʻrang, har birini inson aqli bilan filtrlang, muhim yoʻllarni qoʻlda tekshiring. Tasdiqlash har doim javobgar muhandisning imzosi hisoblanadi.

Ilova vazifasi

Haqiqiy yoki oxirgi PR/farqni tanlang. Birinchidan, AI uni "maqsadga yo'naltirilgan, toifani ko'rib chiqish" shablonini ko'rib chiqing. Topilmalarni jadvalga qo'ying va har biri uchun qaror qiling: to'g'ri (men tasdiqladim), noto'g'ri ijobiy (mening fikrim shu) yoki amalga oshirilishi kerak. Keyin o'zingiz sayohat qiling va AIda etishmayotgan kamida bitta narsani (ayniqsa, biznes qoidasi yoki chekka holat) topishga harakat qiling va uni yozib oling.

nazorat ro'yxati

  • [ ] Men sun'iy intellektni tekshirishni tasdiqlash emas, birinchi filtr sifatida ishlataman.
  • [ ] Men ko'rib chiqish taklifiga maqsad va qabul qilish mezonlarini qo'shaman.
  • [ ] Men topilmalarni shovqindan toifalar bo'yicha ajrataman va ularni juda xohlayman.
  • [ ] Men har bir topilmani tasdiqlash/noto'g'ri ijobiy/qo'llash uchun ongli ravishda filtrlayman.
  • [ ] Inson sifatida men biznes qoidalari va arxitektura muvofiqligini tekshiraman.
  • [ ] Xavfsizlik nuqtai nazaridan muhim oʻzgarishlar uchun malakali muhandisdan ruxsat talab qilaman.