Birlik 6 / 12

Nosozliklarni tuzatish va ildiz sabablarini tahlil qilish

Daromadlar:

  • Xatoni eng kichik takrorlanadigan misolgacha kamaytirish va uni to'liq isbot bilan AIga o'tkazish qobiliyati
  • Dalillarga asoslangan gipotezalarni eng arzon nazorat bilan sinab ko'rish va asosiy sababni topish qobiliyati
  • Asosiy sababni bartaraf etish va simptomni tuzatishdan ko'ra regressiya testi bilan ta'minlash qobiliyati

Nosozliklarni tuzatish - bu dasturiy ta'minot nima uchun kutilmaganda harakat qilishini aniqlash va uni tuzatish jarayoni. Bu ishlab chiquvchi eng ko'p vaqt sarflaydigan va eng charchagan ishdir; Chunki ko'pincha xato paydo bo'lgan joyda emas, balki bir necha qadam orqada yashiringan. AI - bu tadqiqotni tezlashtiradigan kuchli fikrlash hamkori - lekin agar siz unga to'g'ri dalillar keltirsangiz. Dalilsiz disk raskadrovka AI eng ko'p gallyutsinatsiyalarni keltirib chiqaradigan sohadir.

Ushbu bo'limda biz xatoni yaratishdan asosiy sababga o'tishgacha bo'lgan tartibli oqimni o'rnatamiz: simptomni aniqlashtirish, dalillarni yig'ish (xato xabari, stek izi, jurnal, kirish), gipotezani yaratish, gipotezani sinab ko'rish va tuzatishni tasdiqlash. AI har qadamda yordam beradi; lekin "tuzatiladigan" qaror xato haqiqatda yo'qolganini ko'rish orqali qabul qilinadi.

Nima uchun dalillar hamma narsa?

LLM siz kabi xatoni ko'rmaydi; U faqat nima desangiz biladi. "Ilova ishdan chiqadi" kabi jumla modelga deyarli hech qanday ma'lumot bermaydi va model bo'shliqni bashorat - ya'ni gallyutsinatsiya bilan to'ldiradi. O'z navbatida, to'liq xato xabari, stek izi - qaysi funksiya xato orqali sodir bo'lganligini, xatoni keltirib chiqargan kirishni va nima kutilganligini va hokazolarni chaqiradi. Kuzatilgan xatti-harakatni hisobga olgan holda, model haqiqiy ehtimolliklarni tartiblashi mumkin.

Nosozliklarni tuzatishda AIni detektivning yordamchisi sifatida tasavvur qiling: qanchalik ko'p dalillar keltirsangiz, u gipotezani shunchalik aniqroq qiladi. Agar dalil bo'lmasa, yordamchi faqat taxmin qiladi va sizni noto'g'ri yo'lga olib borishi mumkin.

Maslahat: Xatoni sun'iy intellektga o'tkazishdan oldin uni eng kichik takrorlanadigan misolga qisqartiring. Xatoni keltirib chiqaradigan eng kichik kod va kiritish sizga ham, modelga ham ishlarni tubdan osonlashtiradi; ko'pincha bu pasayish paytida siz sababni o'zingiz topasiz.

Bosqichma-bosqich: Ildiz sabablarini tahlil qilish oqimi

  1. Semptomni aniqlang. — Nima bo‘lyapti, nima bo‘lishini kutgan edingiz? Ikkisini bitta jumlada yozing.
  2. Dalil to'plash. To'liq xato xabari, stek izi, tegishli jurnal satrlari, kirishni boshlash, versiya ma'lumotlari.
  3. Gipotezani yarating. AI dan "Ushbu alomatni tushuntiruvchi 3 ta mumkin bo'lgan sabab va har birini qanday tekshirish mumkin?" so'rang.
  4. Avval eng arzon gipotezani sinab ko'ring. Jurnal qo'shing, qiymatni chop eting, sinovni o'tkazing. Dalillar gipotezani tasdiqlaydimi?
  5. Alomatni emas, balki asosiy sababni tuzating. Alomatni yamoq bilan o'chirish o'rniga, asosiy sababni yo'q qiling.
  6. Regressiya testini tasdiqlang va qo'shing. Xatoning yo'qolishini ko'ring; Keyin bu xatoni ushlaydigan test yozing, shunda u qaytib kelmaydi.

Uchta mini korpus

1-holat - stek izi to'g'ri faylga olib keldi. Ilova ma'lum so'rovlar bo'yicha 500 xatoni qaytardi. Ishlab chiquvchi AIga to'liq stek izi va ishga tushirish so'rovini berdi; Model xatolik sanani tahlil qilish qatlamidagi None qiymatidan kelib chiqqan deb taxmin qildi. Ishlab chiquvchi ushbu qatorga jurnalni qo'shib, uni tasdiqladi va 15 daqiqada hal qildi; Bir kun oldin isbotlanmagan tajribalar bilan 2 soat bekor qilindi.

2-holat - gallyutsinatsiya noto'g'ri yo'lga olib keldi. Boshqa ishlab chiquvchi shunchaki "ma'lumotlar bazasiga ulanish uzilib qoldi" deb yozgan. AI hech qanday dalilsiz ulanish havzasi sozlamalarini aybladi; Ishlab chiquvchi ushbu sozlama bilan 40 daqiqa vaqt o'tkazdi. Haqiqiy sabab tarmoq tomonidagi vaqt tugashi edi va faqat jurnallarga qarash orqali aniqlandi. Dars: dalilsiz qabul qilingan gipoteza faqat ehtimol, ishonchli emas.

3-holat - Yaltiroq xato aniqlandi. Vaqti-vaqti bilan muvaffaqiyatsiz bo'lgan sinov bor edi. AIga sinov kodi, muvaffaqiyatsizlik xabari va "ba'zida u o'tadi, ba'zida muvaffaqiyatsiz bo'ladi" ma'lumotlari berildi; model testlarning umumiy vaqt/tartibga bog'liqligini ko'rsatdi. Tekshiruv sinov tizimning mahalliy vaqtiga asoslanganligini tasdiqladi. Soat o'rnatilgach (masxara qilingan), test barqaror bo'ldi.

To'rt nusxa ko'chirish shablonlari

Dalillarga asoslangan gipotezani yaratish:

Men xatoni tuzatmoqdaman. Quyidagi dalillar.- Kutilayotgan xatti-harakatlar: {{kutilayotgan}}- Kuzatilgan xatti-harakatlar: {{kuzatilgan}}- Xato xabari / stek izi: {{trace}}- Tegishli kirish: {{kiritish}}- Muhit/versiya: {{versiya}}Ushbu alomatni tushuntiruvchi 3 ta ENG MUMKIN ildiz sabablarini sanab o‘ting. Har biri uchun: qanday sinovdan o'tkazaman (eng arzon tekshirish) va agar bu to'g'ri bo'lsa, uni qanday tuzatish kerak. Agar dalillar etarli bo'lmasa, menga qanday qo'shimcha ma'lumot kerakligini ayting.

Stack izini talqin qilish:

Ushbu stek izini o'qing. Qaysi satrda xatolik (ildizdan) boshlanganini va qaysi qatorlar zanjirning davomi ekanligini ajrating. Avval qarash uchun 1-2 joyni taklif qiling. Tegishli kod:{{code}}Tiz:{{trace}}

Minimal takroriy ayirish:

Quyidagi kod xatolik hosil qiladi. Uni xatoni keltirib chiqaradigan, lekin keraksiz narsalarni olib tashlaydigan ENG KICHIK misolga kamaytiring. Siz olib tashlagan har bir parcha xatoga ta'sir qilmaydi deb o'ylamang, lekin "agar uni olib tashlaganingizda xatolik yo'qolsa, shuning uchun ham" deb eslatma qo'shing.{{code}}

Tuzatishdan keyingi tekshirish va regressiya testi:

Asl sabab {{cause}} deb faraz qiling va men quyidagi tuzatishni amalga oshiraman: {{tuzatish}}.1) Bu tuzatish haqiqatan ham simptomni tuzatadimi, uning nojo'ya ta'siri bormi?2) Kelajakda bu xatoni aniqlaydigan regressiya testini yozing.

Zaif taklif / Kuchli taklif

Zaif: "Kod ishlamaydi, nega?"
Kuchli: "Tugun 20 / Ekspres. Agar elementlar tanadagi bo'sh satr bo'lsa, POST /orders 500 ni qaytaradi; 400 ni qaytarishi kerak edi. Stack izi: TypeError: Aniqlanmagan xususiyatlarni o'qib bo'lmaydi ("0" o'qiladi) - to'liq iz va bog'liq ishlov beruvchi biriktirilgan. Har bir sinovning sabablarini tushuntirib bering. kod]"

Kuchli versiya; U atrof-muhitni, so'nggi nuqtani, ishga tushirishni kiritishni, aniq xato turini va kutilgan xatti-harakatni beradi. Model endi bashorat qila olmaydi, balki tahlil qiladi.

qadam

AIning hissasi

sizning nazoratingiz

dalillar to'plash

Qanday dalil kerak, eslatadi

Haqiqatan ham dalillarni to'playdi

gipotezani yaratish

Mumkin bo'lgan sabablarni sanab o'ting

Kontekst bilan ustuvorlik qiladi

gipoteza sinovi

Sinov usulini tavsiya qiladi

Shaxsan ishlaydi va kuzatadi

tuzatish

patch tavsiya qiladi

Bu asosiy sababni hal qiladimi? Bu to'g'ri.

regressiya

test yozadi

Sinov buzilganligini tasdiqlaydi

Semptomni emas, balki asosiy sababni hal qilish

Ko'pincha sun'iy intellekt simptomni tezda o'chiradigan yamoqni taklif qiladi: sinab ko'rish/ushlash qo'shing, nol chek qo'ying, xatoni yutib yuboring. Bu ba'zan to'g'ri, ko'pincha xavfli; chunki asl sabab joyida qoladi va boshqa joydan yana otilib chiqadi. Har bir tuzatishda o'zingizdan so'rang: "Bu xato sababini tuzatadimi yoki uni ko'rinmas qiladimi?" Asl sababni topganingizdan so'ng, tuzatish odatda kichikroq, mustahkamroq va doimiy bo'ladi.

Diqqat: Istisnoni jimgina yutish (bo'sh ushlash) xatoni hal qilmaydi; u faqat yashiradi va kelajakda tashxisni imkonsiz qiladi. Agar sun'iy intellekt bunday "yechim"ni taklif qilsa, asosiy sababni so'roq qilmasdan, uni qabul qilmang.

Umumiy xatolar

  • Dalilsiz savollar berish. Noaniq jumlalar modelni gallyutsinatsiyaga undaydi; To'liq xato, iz va kiritishni bering.
  • Birinchi gipotezaga kirish. AIning birinchi taklifi eng ehtimol bo'lmasligi mumkin; Eng arzon boshqariladigan gipotezadan boshlang.
  • Alomatni tuzatish va asosiy sababni yo'qotish. O'chirilgan xato qaytariladi.
  • Tekshirmasdan tuzatishni yopish. Ishlab chiqarishga o'xshash holatda xato haqiqatda yo'qolishini ko'ring.
  • Regressiya testlarini yozmaslik. Hech qanday test qo'shilmasa, xuddi shu xato keyingi versiyalarda jimgina qaytadi.

Xulosa

Nosozliklarni tuzatishda sun'iy intellektning kuchi siz bergan dalillarga to'g'ridan-to'g'ri proportsionaldir: to'liq xato xabari, stek izi, ishga tushirish kiritishi va kutilgan xatti-harakatlarsiz, model shunchaki taxmin qiladi. Intizomli oqim - simptomni aniqlang, dalillarni to'plang, gipotezani yarating, eng arzon nazorat bilan sinab ko'ring, ildiz sababini aniqlang, tekshirish va regressiya testini qo'shing - xatoni tez va doimiy ravishda yopadi. AI gipoteza ishlab chiqaruvchisi; Siz xato haqiqatda hal qilinganiga qaror qilasiz.

Ilova vazifasi

Yaqinda duch kelgan haqiqiy xatolikni tanlang (yoki sinov xatosini takrorlang). Avval "minimal ko'paytirish" bosqichini bajaring; Xatoni keltirib chiqaradigan eng kichik kodni va kiritishni olib tashlang. Keyin "dalillarga asoslangan gipoteza yaratish" shabloniga ega bo'lgan AIdan 3 ta mumkin bo'lgan sabab va sinov usullarini oling. Eng arzon gipotezani o'zingiz sinab ko'ring, asosiy sababni toping, uni tuzating va nihoyat, kelajakda bu xatoni aniqlaydigan va test haqiqatan ham buzilganligini tasdiqlaydigan regressiya testini yozing.

nazorat ro'yxati

  • [ ] Men uni AIga o'tkazishdan oldin xatoni eng kichik takrorlanadigan namunaga kamaytiraman.
  • [ ] Soʻrovga toʻliq xato xabari, stek izi, kiritish va kutilgan xatti-harakatlarni qoʻshyapman.
  • [ ] Men eng arzon boshqariladiganidan boshlayman, bitta gipotezaga yopishib qolmasdan.
  • [ ] Men simptomni tuzatish o‘rniga asosiy sababni hal qilganimni tasdiqlayman.
  • [ ] Tuzatish aslida xatoni tuzatganini kuzataman.
  • [ ] Men har bir hal qilingan xato uchun regressiya testini qo'shaman.