бирдиги 6 / 12

Мүчүлүштүктөрдү оңдоо жана негизги себептерди талдоо

Пайдалар:

  • Мүчүлүштүктөрдү эң кичине кайталануучу инстанцияга чейин кыскартуу жана аны толук далилдери менен AIге жылдыруу мүмкүнчүлүгү
  • Эң арзан башкаруу менен далилдүү гипотезаларды текшерүү жана түпкү себебин табуу мүмкүнчүлүгү
  • Симптомду жамоодон көрө, негизги себебин чечип, аны регрессиялык тест менен камсыздоо мүмкүнчүлүгү

Мүчүлүштүктөрдү оңдоо - бул программалык камсыздоонун эмне үчүн күтүүсүз иш алып барарын аныктоо жана аны оңдоо процесси. Бул иштеп чыгуучу эң көп убакыт короткон жана эң чарчаган жумуш; Анткени көпчүлүк учурда ката пайда болгон жерде эмес, бир нече кадам артта катылган. AI - бул изилдөөнү тездетүүчү күчтүү ой жүгүртүү өнөктөшү - бирок сиз ага туура далил келтирсеңиз гана. Далилсиз мүчүлүштүктөрдү оңдоо AI эң көп галлюцинация жараткан аймак.

Бул бөлүмдө биз катаны жаратуудан негизги себепке барууга чейинки тартиптүү агымды орнотобуз: симптомду тактоо, далилдерди чогултуу (ката жөнүндө билдирүү, стек изи, журнал, киргизүү), гипотезаны түзүү, гипотезаны текшерүү жана оңдоону текшерүү. AI ар бир кадамда жардам берет; бирок ката чындыгында кетип калганын көрүп, "түзөтүлгөн" чечим кабыл алынат.

Эмне үчүн далилдер баары болуп саналат?

LLM катаны сиз көргөндөй көрбөйт; Ал сенин айтканыңды гана билет. "Колдонмо кыйрады" сыяктуу сүйлөм моделге дээрлик эч кандай маалымат бербейт, ал эми модель боштукту болжолдоо менен толтурат, башкача айтканда, галлюцинация. Өз кезегинде, толук ката кабары, стек изи — катаны чакырган функциянын бөлүнүшү, катаны пайда кылган киргизүү жана күтүлгөн нерсе ж.б.

Мүчүлүштүктөрдү оңдоодо AI детективдин жардамчысы катары ойлонуңуз: канчалык көп далил келтирсеңиз, ал гипотезаны ошончолук так көрсөтөт. Эгерде эч кандай далил жок болсо, жардамчы болжолдоп, туура эмес жолго алып барышы мүмкүн.

Кеңеш: Мүчүлүштүктөрдү AIга көчүрүүдөн мурун, аны эң кичине кайталануучу мисалга чейин азайтыңыз. Катага себеп болгон эң кичинекей код жана киргизүү сиз үчүн да, модель үчүн да ишти кескин жеңилдетет; Көбүнчө бул кыскартуу учурунда себебин өзүң табасың.

Кадам-кадам: Негизги себептерди талдоо агымы

  1. Симптомду тактаңыз. – Эмне болуп жатат, эмне болот деп күттүңүз эле? Экөөнү бир сүйлөм менен жазыңыз.
  2. Далилдерди чогулт. Толук ката кабары, стек изи, тиешелүү журнал сызыктары, триггер киргизүү, версия маалыматы.
  3. Гипотезаны түзүңүз. AIден "Бул симптомду түшүндүргөн 3 мүмкүн болгон себеп жана ар бирин кантип текшерем?" сура.
  4. Алгач эң арзан гипотезаны текшериңиз. Журнал кошуу, маани басып чыгаруу, сыноону жүргүзүү. Далилдер гипотезаны тастыктайбы?
  5. Симптомду эмес, түпкү себебин оңдоңуз. Симптомду жамаачы менен басуунун ордуна, негизги себебин чечиңиз.
  6. Текшерүү жана регрессиялык тестти кошуу. Ката жоголуп кеткенин көрүңүз; Андан кийин кайра кайтып келбеши үчүн ошол катаны кармай турган тест жазыңыз.

Үч мини Case

1-жагдай - Стек изи туура файлга алып келди. Колдонмо белгилүү бир өтүнүчтөр боюнча 500 катаны кайтарып жаткан. Иштеп чыгуучу AI үчүн толук стек изин жана триггер өтүнүчүн берди; Модель ката датаны талдоо катмарындагы None маанисинен келип чыккан деп божомолдогон. Иштеп чыгуучу ошол сапка журнал кошуп, аны текшерип, 15 мүнөттүн ичинде чечти; Далилденбеген эксперименттер менен бир күн мурун 2 саат текке кеткен.

2-жагдай - Галлюцинация туура эмес жолго алып келди. Башка иштеп чыгуучу жөн гана "маалымат базасына байланыш үзүлүп жатат" деп жазган. AI эч кандай далили жок байланыш пулун орнотууну айыптады; Иштеп чыгуучу бул жөндөө менен иштөөгө 40 мүнөт сарптады. Чыныгы себеп тармак тарабында тайм-аут болгон жана журналдарды карап гана аныкталган. Сабак: далилсиз кабыл алынган гипотеза ишеничтүү эмес, ыктымалдуу гана.

3-жагдай - Катуу ката табылды. Анда-санда өтпөй калган сынак болгон. AI сыноо коду, ийгиликсиз билдирүү жана "кээде өтүп кетет, кээде ишке ашпай калат" деген маалымат берилди; модель тесттердин жалпы убакытка/заказга көз карандылыгын көрсөттү. Текшерүү тестирлөө системанын жергиликтүү убактысына негизделгенин тастыктады. Саат орнотулгандан кийин (мыскылдаган), тест туруктуу болуп калды.

Көчүрмө төрт шаблон

Далилге негизделген гипотезаны түзүү:

Мен мүчүлүштүктөрдү оңдоп жатам. Төмөндө далилдер.- Күтүлгөн жүрүм-турум: {{күтүлгөн}}- Байкооланган жүрүм-турум: {{байкалган}}- Ката кабары / стек изи: {{trace}}- Ишке киргизүү киргизүү: {{киргизүү}}- Курчап турган чөйрө/версия: {{версия}}Бул белгини түшүндүргөн ЭҢ ЫККАМ 3 негизги себептерди тизмектеңиз. Ар бири үчүн: кантип сынайм (эң арзан текшерүү) жана эгер чын болсо, аны кантип оңдоо керек. Эгерде далилдер жетишсиз болсо, сизге кандай кошумча маалымат керек экенин айтыңыз.

Стек изин интерпретациялоо:

Бул стек изин окуңуз. Кайсы сапта ката (тамырдан) баштала тургандыгын жана кайсы саптар чынжырдын уландысы экенин ажыратыңыз. Биринчи карап көрө турган 1-2 жерди сунуштаңыз. Байланышкан код:{{code}}Из:{{trace}}

Минималдуу кайра кемитүү:

Төмөндөгү код катаны жаратат. Аны дагы эле катаны пайда кылган, бирок керексиз нерселерди жокко чыгарган ЭҢ КИЧИНЕКЕ инстанцияга чейин азайтыңыз. Сиз алып салган ар бир кесим катага таасир этпейт деп ойлобоңуз, бирок "эгер аны алып салганда ката жоголсо, анда ошол себептен" деген эскертүү кошуңуз.{{code}}

Коррекциядан кийинки валидация жана регрессиялык тест:

Негизги себеп {{себеп}} деп ойлойлу жана мен төмөнкү оңдоону жасайм: {{fix}}.1) Бул оңдоо чындап эле симптомду оңдойбу, анын кандайдыр бир терс таасирлери барбы?2) Келечекте бул мүчүлүштүктөрдү кармай турган регрессия тестин жазыңыз.

Алсыз тездик / Күчтүү тездик

Алсыз: "Код иштебейт, эмне үчүн?"
Күчтүү: "Түйүн 20 / Экспресс. POST / буйрутмалар денедеги бош сап болгондо 500 кайтарат; 400 кайтарылышы керек болчу. Стектин изи: TypeError: аныкталбагандардын касиеттерин окуу мүмкүн эмес ("0" окуу) — тиркелген толук изи жана ага байланыштуу иштеткич. Бул ар бир сыноонун себебин түшүндүрүп бериңиз. код]"

Күчтүү версия; Ал айлана-чөйрөнү, акыркы чекти, триггер киргизүүнү, катанын так түрүн жана күтүлгөн жүрүм-турумду берет. Модель мындан ары божомолдорду жасай албайт, бирок талдоо.

кадам

AI салымы

сиздин көзөмөлүңүз

далилдерди чогултуу

Кандай далил керек, эскертет

Чынында далилдерди чогултат

гипотезаны түзүү

Мүмкүн болгон себептерди тизмектеңиз

Контекст менен артыкчылыктуу

гипотезаны текшерүү

Сыноо ыкмасын сунуштайт

Жеке иш алып барат жана байкоо жүргүзөт

оңдоо

патч сунуштайт

Негизги себебин чечеби? Бул чын.

регрессия

тест жазат

Сынактын бузулганын текшерет

Симптомду эмес, түпкү себебин чечүү

Көбүнчө AI симптомду тез басуучу патчты сунуштайт: аракет/кармап коюңуз, нөлдүк чекти коюңуз, катаны жууңуз. Бул кээде чын, көбүнчө коркунучтуу; анткени баштапкы себеп ордунда калып, кайра башка жерден жарылат. Ар бир оңдоодо өзүңүзгө суроо бериңиз: "Бул катанын себебин оңдойбу, же аны көрүнбөй коёбу?" Негизги себебин тапкандан кийин, оңдоо адатта кичирээк, бекем жана туруктуу болот.

Эскертүү: Үнсүз түрдө өзгөчөлүктү жутуу (бош кармоо) катаны чечпейт; ал жөн гана жашырат жана келечектеги диагнозду мүмкүн эмес кылат. Эгерде AI ушундай "чечимди" сунуштаса, анын түпкү себебин сурабай туруп кабыл албаңыз.

Жалпы каталар

  • Далилсиз суроолорду берүү. Эки түшүнүктүү сүйлөмдөр моделди галлюцинацияга түртөт; Толук катаны, изди жана киргизүүнү бериңиз.
  • Биринчи гипотезаны бекитүү. AI биринчи сунушу мүмкүн эмес болушу мүмкүн; Эң арзан башкарылуучу гипотеза менен баштаңыз.
  • Симптомду жамоо жана негизги себебин жок кылуу. Унчукпаган ката кайтып келет.
  • Аны текшербей туруп оңдоону жабуу. Ката чындыгында жоголуп кеткен өндүрүш сыяктуу абалда караңыз.
  • Регрессиялык тесттерди жазуу эмес. Эгерде эч кандай сыноолор кошулбаса, ошол эле ката кийинки версияларда унчукпай кайталанат.

Кыскача айтканда

Мүчүлүштүктөрдү оңдоодо AIдин күчү сиз берген далилдер менен түз пропорционалдуу болот: толук ката кабары, стек изи, триггер киргизүү жана күтүлгөн жүрүм-туруму жок, модель жөн гана божомолдойт. Тартиптүү агым - симптомду тактоо, далилдерди чогултуу, гипотезаны түзүү, эң арзан башкаруу менен текшерүү, негизги себепти оңдоо, текшерүү жана регрессиялык тестти кошуу - мүчүлүштүктөрдү тез жана биротоло жабат. AI - гипотеза генератору; Мүчүлүштүк чындыгында чечилгенин сиз чечесиз.

Колдонмо тапшырмасы

Жакында жолуккан чыныгы мүчүлүштүктөрдү тандаңыз (же сыноо мүчүлүштүктөрүн кайра чыгарыңыз). Алгач "минималдуу көбөйтүү" кадамын жасаңыз; Катага себеп болгон эң кичине кодду жана киргизүүнү алып салыңыз. Андан кийин "далилдерге негизделген гипотеза түзүү" шаблону менен AIдан 3 мүмкүн болгон себептерди жана тестирлөө ыкмаларын алыңыз. Эң арзан гипотезаны өзүңүз сынап көрүңүз, түпкү себебин таап, аны оңдоңуз жана акырында бул катаны келечекте кармай турган регрессиялык тест жазыңыз жана тест чындыгында бузулганын текшериңиз.

текшерүү тизмеси

  • [ ] Мен катаны AIга көчүрүүдөн мурун эң кичине кайталануучу үлгүгө чейин азайтам.
  • [ ] Мен эскертмеге толук ката кабарын, стек изин, киргизүүнү жана күтүлгөн жүрүм-турумду кошуп жатам.
  • [ ] Мен бир гипотезага камалып калбастан, эң арзан башкарылуучудан баштайм.
  • [ ] Симптомду жамоодон көрө, негизги себебин чечкенимди ырастайм.
  • [ ] Оңдоо чындыгында мүчүлүштүктөрдү оңдой турганын байкадым.
  • [ ] Мен ар бир чечилген мүчүлүштүк үчүн регрессия тестин кошом.