ඒකකය 6 / 12

නිදොස්කරණය සහ මූල හේතු විශ්ලේෂණය

ලාභ:

  • දෝෂයක් කුඩාම ප්‍රතිනිෂ්පාදනය කළ හැකි අවස්ථාවට අඩු කර එය සම්පූර්ණ සාක්ෂි සහිතව AI වෙත ගෙනයාමේ හැකියාව
  • ලාභම පාලනය සමඟ සාක්ෂි මත පදනම් වූ උපකල්පන පරීක්ෂා කිරීමට සහ මූල හේතුව සොයා ගැනීමට ඇති හැකියාව
  • මූලික හේතුව නිරාකරණය කිරීමට සහ රෝග ලක්ෂණය පැච් කිරීමට වඩා ප්‍රතිගාමී පරීක්ෂණයකින් එය සුරක්ෂිත කිරීමට ඇති හැකියාව

දෝශ නිරාකරණය යනු මෘදුකාංගයක් අනපේක්ෂිත ලෙස හැසිරෙන්නේ මන්දැයි සොයා බලා එය නිවැරදි කිරීමයි. සංවර්ධකයෙකු වැඩිපුරම කාලය ගත කරන සහ වඩාත්ම වෙහෙසට පත්වන රැකියාව එයයි; මොකද ගොඩක් වෙලාවට වැරැද්ද තියෙන්නේ පෙනෙන තැන නෙවෙයි, අඩි කිහිපයක් පිටිපස්සට හැංගිලා. AI යනු මෙම පර්යේෂණය වේගවත් කරන ප්‍රබල චින්තන සහකරුවෙකි - නමුත් ඔබ එයට නිවැරදි සාක්ෂි ලබා දෙන්නේ නම් පමණි. සාක්‍ෂි නොමැතිව දෝෂහරණය කිරීම යනු AI වැඩිපුරම මායාවන් ඇති කරන ප්‍රදේශයයි.

මෙම ඒකකයේ දී, අපි දෝෂය උත්පාදනය කිරීමේ සිට මූල හේතුව දක්වා විනයානුකූල ප්‍රවාහයක් ස්ථාපිත කරමු: රෝග ලක්ෂණය පැහැදිලි කිරීම, සාක්ෂි එකතු කිරීම (දෝෂ පණිවිඩය, ස්ටැක් ට්‍රේස්, ලඝු-සටහන, ඇතුල්වීම), උපකල්පනයක් ජනනය කිරීම, උපකල්පනය පරීක්ෂා කිරීම සහ නිවැරදි කිරීම වලංගු කිරීම. AI සෑම පියවරකදීම උපකාර කරයි; නමුත් "ස්ථාවර" තීරණය ගනු ලබන්නේ දෝෂය සැබවින්ම පහව ගොස් ඇති බව දැකීමෙනි.

සාක්ෂි සියල්ල වන්නේ ඇයි?

ඔබ කරන ආකාරයට LLM දෝෂයක් දකින්නේ නැත; ඔහු දන්නේ ඔබ ඔහුට පවසන දේ පමණි. "යෙදුම කඩා වැටේ" වැනි වාක්‍යයක් ආකෘතියට කිසිදු තොරතුරක් ලබා නොදෙන අතර, ආකෘතිය අනාවැකියකින් පරතරය පුරවයි - එනම් මායාවකි. අනෙක් අතට, සම්පූර්ණ දෝෂ පණිවිඩය, ස්ටැක් ට්‍රේස් - ශ්‍රිතයේ බිඳවැටීමක් මඟින් දෝෂය සිදු වූ බව, දෝෂය ඇති කළ ආදානය සහ අපේක්ෂා කළ දේ යනාදිය හැඳින්වේ. නිරීක්ෂණය කළ හැසිරීම අනුව, ආකෘතියට සත්‍ය සම්භාවිතා ශ්‍රේණිගත කළ හැකිය.

නිදොස්කරණයේදී, AI රහස් පරීක්ෂකයෙකුගේ සහායකයෙකු ලෙස සිතන්න: ඔබ වැඩි සාක්ෂි ඉදිරිපත් කරන තරමට, එය උත්පාදනය කරන උපකල්පනය වඩාත් නිවැරදියි. සාක්ෂි නොමැති නම්, සහායකයා අනුමාන කරන අතර ඔබව වැරදි මාවතකට ගෙන යා හැකිය.

ඉඟිය: දෝෂයක් AI වෙත ගෙනයාමට පෙර, එය කුඩාම ප්‍රතිනිෂ්පාදනය කළ හැකි උදාහරණයට අඩු කරන්න. දෝෂය අවුස්සන කුඩාම කේතය සහ ආදානය ඔබට සහ ආකෘතියට දේවල් රැඩිකල් ලෙස පහසු කරයි; බොහෝ විට මෙම අඩු කිරීමේදී ඔබම හේතුව සොයා ගනී.

පියවරෙන් පියවර: මූල හේතුව විශ්ලේෂණ ප්රවාහය

  1. රෝග ලක්ෂණය පැහැදිලි කරන්න. "මොකද වෙන්නේ, ඔයා බලාපොරොත්තු වුණේ මොකක්ද?" ඒ දෙක එක වාක්‍යයකින් ලියන්න.
  2. සාක්ෂි එකතු කරන්න. සම්පූර්ණ දෝෂ පණිවිඩය, ස්ටැක් ට්‍රේස්, අදාළ ලොග් රේඛා, ප්‍රේරක ඇතුළත් කිරීම, අනුවාද තොරතුරු.
  3. උපකල්පනය ජනනය කර ගන්න. AI වෙතින් “මෙම රෝග ලක්ෂණය පැහැදිලි කළ හැකි හේතු 3ක් සහ මම එකින් එක පරීක්‍ෂා කරන්නේ කෙසේද?” අහන්න.
  4. ලාභම උපකල්පනය පළමුව පරීක්ෂා කරන්න. ලොගයක් එකතු කරන්න, අගයක් මුද්රණය කරන්න, පරීක්ෂණයක් ක්රියාත්මක කරන්න. සාක්ෂි කල්පිතය සනාථ කරයිද?
  5. රෝග ලක්ෂණය නොව මූලික හේතුව නිවැරදි කරන්න. පැච් එකකින් රෝග ලක්ෂණය නිශ්ශබ්ද කරනවා වෙනුවට, මූල හේතුව අමතන්න.
  6. ප්‍රතිගාමී පරීක්ෂණ වලංගු කර එක් කරන්න. දෝෂය අතුරුදහන් වීම බලන්න; එවිට එම දෝෂය නැවත නොපැමිණෙන පරීක්ෂණයක් ලියන්න.

කුඩා නඩු තුනක්

නඩුව 1 - ස්ටැක් ලුහුබැඳීම නිවැරදි ගොනුව වෙත යොමු විය. යම් ඉල්ලීම් මත යෙදුමක් 500 දෝෂයක් ආපසු යවමින් සිටියේය. සංවර්ධකයා AI වෙත සම්පූර්ණ තොග සොයා ගැනීම සහ ප්‍රේරක ඉල්ලීම ලබා දුන්නේය; දින විග්‍රහ කිරීමේ ස්ථරයක None අගයක් නිසා දෝෂය ඇති වූ බව ආකෘතිය උපකල්පනය කළේය. සංවර්ධකයා එම රේඛාවට ලොගයක් එක් කර, එය සත්‍යාපනය කර විනාඩි 15 කින් විසඳා ඇත; ඔප්පු නොකළ අත්හදා බැලීම් සමඟ පෙර දින පැය 2 ක් අපතේ ගියේය.

නඩුව 2 - මායාව වැරදි මාර්ගයකට යොමු විය. තවත් සංවර්ධකයෙක් සරලව ලිවීය "දත්ත සමුදා සම්බන්ධතාවය පහත වැටෙමින් තිබේ". AI කිසිදු සාක්ෂියකින් තොරව සම්බන්ධතා තටාක සැකසුමකට චෝදනා කළේය; සංවර්ධකයා මෙම සැකසීම සමඟ විනාඩි 40ක් ගත කළේය. ඇත්තම හේතුව නෙට්වර්ක් පැත්තේ කල් ඉකුත්වීම සහ ලොග් බැලීමෙන් පමණක් අනාවරණය විය. පාඩම: සාක්ෂි නොමැතිව ගන්නා ලද කල්පිතයක් සම්භාවිතාව පමණක්, විශ්වාසදායක නොවේ.

3 වන අවස්ථාව - Flaky දෝෂයක් හසු විය. ඉඳහිට අසාර්ථක වූ පරීක්ෂණයක් විය. AI හට පරීක්ෂණ කේතය, අසාර්ථක පණිවිඩය සහ "සමහර විට එය සමත් වේ, සමහර විට එය අසාර්ථක වේ" යන තොරතුරු ලබා දෙන ලදී; ආකෘතිය මඟින් පරීක්ෂණවල හවුල් කාල/ඇණවුම් පරායත්තතාවයක් පෙන්නුම් කරයි. පරීක්ෂණය පද්ධතියේ දේශීය වේලාව මත පදනම් වූ බව සමාලෝචනයෙන් තහවුරු විය. ඔරලෝසුව සවි කළ පසු (සමච්චල් කළ), පරීක්ෂණය ස්ථාවර විය.

පිටපත් කළ හැකි සැකිලි හතරක්

සාක්ෂි මත පදනම් වූ කල්පිත උත්පාදනය:

මම දෝෂයක් නිදොස් කරනවා. සාක්ෂි පහතින්.- අපේක්ෂිත හැසිරීම: {{අපේක්ෂිත}}- නිරීක්ෂණය කළ හැසිරීම: {{නිරීක්ෂණය කරන ලද}}- දෝෂ පණිවිඩය / තොග හෝඩුවාවක්: {{trace}}- ප්‍රේරක ආදානය: {{input}}- පරිසරය/අනුවාදය: {{version}}මෙම රෝග ලක්ෂණය පැහැදිලි කරන වඩාත් සමාන මූල හේතු 3 ලැයිස්තුගත කරන්න. එක් එක් සඳහා: මම පරීක්ෂා කරන්නේ කෙසේද (ලාභම චෙක්පත) සහ එය සත්‍ය නම් එය නිවැරදි කරන්නේ කෙසේද. සාක්ෂි ප්රමාණවත් නොවේ නම්, ඔබට අවශ්ය අමතර තොරතුරු මොනවාදැයි මට කියන්න.

අට්ටි ලුහුබැඳීම අර්ථ දැක්වීම:

මෙම අට්ටි හෝඩුවාව කියවන්න. දෝෂය බොහෝ විට (මූලයෙන්) ආරම්භ වන්නේ කුමන රේඛාවෙන්ද යන්න සහ දාමයේ අඛණ්ඩව පවතින රේඛා මොනවාද යන්න අතර වෙනස හඳුනා ගන්න. මුලින්ම බැලීමට ස්ථාන 1-2ක් යෝජනා කරන්න. අදාළ කේතය:{{code}}ට්රේස්:{{trace}}

අවම පුනරාවර්තන අඩු කිරීම:

පහත කේතය දෝෂයක් ඇති කරයි. එය තවමත් දෝෂය අවුලුවන නමුත් අනවශ්‍ය ඕනෑම දෙයක් ඉවතලන කුඩාම අවස්ථාවට අඩු කරන්න. ඔබ ඉවත් කරන සෑම කෑල්ලක්ම දෝෂයට බලපාන්නේ නැතැයි උපකල්පනය නොකරන්න, නමුත් "ඔබ මෙය ඉවත් කරන විට දෝෂය අතුරුදහන් වුවහොත්, එයයි" යනුවෙන් සටහනක් එක් කරන්න.{{code}}

පශ්චාත් නිවැරදි කිරීම් වලංගුකරණය සහ ප්‍රතිගාමී පරීක්ෂණ:

මූල හේතුව {{cause}} යැයි උපකල්පනය කර මම පහත නිවැරදි කිරීම සිදු කරමි: {{fix}}.1) මෙම නිවැරදි කිරීම ඇත්ත වශයෙන්ම රෝග ලක්ෂණය නිවැරදි කරයිද, අතුරු ආබාධ ඇතිවේද?2) අනාගතයේදී මෙම දෝෂය හසුකර ගත හැකි ප්‍රතිගාමී පරීක්ෂණයක් ලියන්න.

දුර්වල ක්ෂණික / ශක්තිමත් විමසුම

දුර්වල: "කේතය ක්රියා නොකරයි, ඇයි?"
ශක්තිමත්: "Node 20 / Express. POST / Orders 500 ක් ලබා දෙයි, අයිතම ශරීරයේ හිස් නූලක් වන විට; 400 ආපසු ලබා දී තිබිය යුතුය. අට්ටි හෝඩුවාව: TypeError: නිර්වචනය නොකළ ('0' කියවීම) ගුණාංග කියවිය නොහැක - සම්පූර්ණ හෝඩුවාවක් සහ ආශ්‍රිත හසුරුවන්නා අමුණා ඇත. මෙම 3 පරීක්ෂණයට බොහෝ දුරට හේතු වන ආකාරය පැහැදිලි කරන්න. කේතය]"

බලවත් අනුවාදය; එය පරිසරය, අන්ත ලක්ෂ්‍යය, ප්‍රේරක ආදානය, නිවැරදි දෝෂ වර්ගය සහ අපේක්ෂිත හැසිරීම ලබා දෙයි. ආකෘතියට තවදුරටත් අනාවැකි කළ නොහැක, නමුත් විශ්ලේෂණය.

පියවර

AI හි දායකත්වය

ඔබේ පාලනය

සාක්ෂි එකතු කිරීම

අවශ්ය සාක්ෂි මොනවාද, මතක් කර දෙයි

ඇත්තටම සාක්ෂි එකතු කරනවා

උපකල්පිත පරම්පරාව

විය හැකි හේතු ලැයිස්තුගත කරන්න

සන්දර්භය සමඟ ප්රමුඛත්වය දෙයි

උපකල්පන පරීක්ෂාව

පරීක්ෂණ ක්‍රමය නිර්දේශ කරයි

පුද්ගලිකව ක්‍රියා කරයි සහ නිරීක්ෂණය කරයි

නිවැරදි කිරීම

patch නිර්දේශ කරයි

එය මූල හේතුව විසඳයිද? එය ඇත්තයි.

පසුබෑම

පරීක්ෂණයක් ලියයි

පරීක්ෂණය කැඩී ඇති බව තහවුරු කරයි

රෝග ලක්ෂණය නොව මූල හේතුව විසඳීම

බොහෝ විට AI විසින් රෝග ලක්ෂණය ඉක්මනින් නිශ්ශබ්ද කරන පැච් එකක් යෝජනා කරනු ඇත: උත්සාහයක් එක් කරන්න/අල්ලා ගන්න, ශුන්‍ය චෙක්පතක් දමන්න, දෝෂය ගිල දමන්න. මෙය සමහර විට සත්ය, බොහෝ විට භයානක ය; මක්නිසාද යත් මුල් හේතුව එම ස්ථානයේම පවතින අතර වෙනත් තැනක සිට නැවත පුපුරා යන බැවිනි. සෑම නිවැරදි කිරීමක් සමඟම, ඔබෙන්ම මෙසේ අසන්න: "මෙය දෝෂයට හේතුව නිවැරදි කරයිද, නැතහොත් එය නොපෙනී යනවාද?" ඔබ මූල හේතුව සොයාගත් පසු, නිවැරදි කිරීම සාමාන්‍යයෙන් කුඩා, වඩා ශක්තිමත් සහ ස්ථිර වේ.

අවවාදයයි: ව්යතිරේකයක් නිහඬව ගිල දැමීම (හිස් අල්ලා ගැනීම) දෝෂය විසඳන්නේ නැත; එය හුදෙක් සඟවා අනාගත රෝග විනිශ්චය කළ නොහැකි කරයි. AI එවැනි "විසඳුමක්" යෝජනා කරන්නේ නම්, මූල හේතුව ප්‍රශ්න නොකර එය පිළිගන්න එපා.

පොදු වැරදි

  • සාක්ෂි නැතුව ප්‍රශ්න අහනවා. අපැහැදිලි වාක්‍ය ආකෘතිය මායාවට තල්ලු කරයි; සම්පූර්ණ දෝෂය, ලුහුබැඳීම සහ ආදානය ලබා දෙන්න.
  • පළමු උපකල්පනයට අගුලු දැමීම. AI හි පළමු යෝජනාව බොහෝ දුරට ඉඩ නොතිබිය හැකිය; ලාභම පාලනය කළ හැකි උපකල්පනය සමඟ ආරම්භ කරන්න.
  • රෝග ලක්ෂණය ඉවත් කිරීම සහ මූලික හේතුව මග හැරීම. නිහඬ කළ දෝෂය නැවත පැමිණේ.
  • එය තහවුරු කිරීමකින් තොරව නිවැරදි කිරීම වසා දැමීම. දෝෂය ඇත්ත වශයෙන්ම අතුරුදහන් වන බව නිෂ්පාදනය වැනි තත්වයකදී බලන්න.
  • ප්‍රතිගාමී පරීක්ෂණ ලියන්නේ නැහැ. පරීක්ෂණ එකතු නොකළේ නම්, එම දෝෂය නිශ්ශබ්දව පසු අනුවාදවල නැවත පැමිණේ.

සාරාංශයක් ලෙස

නිදොස්කරණයේදී, AI හි බලය ඔබ එයට දෙන සාක්ෂිවලට සෘජුව සමානුපාතික වේ: සම්පූර්ණ දෝෂ පණිවිඩය, ස්ටැක් ට්‍රේස්, ප්‍රේරක ආදානය සහ අපේක්ෂිත හැසිරීම නොමැතිව, ආකෘතිය අනුමාන කරයි. විනයානුකූල ප්‍රවාහය-රෝග ලක්ෂණ පැහැදිලි කිරීම, සාක්ෂි රැස් කිරීම, උපකල්පනය උත්පාදනය කිරීම, ලාභම පාලනය සමඟ පරීක්ෂා කිරීම, මූල හේතුව නිවැරදි කිරීම, සත්‍යාපනය කිරීම සහ ප්‍රතිගාමී පරීක්ෂණ එකතු කිරීම - දෝෂය ඉක්මනින් සහ ස්ථිරව වසා දමයි. AI යනු උපකල්පිත උත්පාදකයකි; දෝෂය ඇත්ත වශයෙන්ම විසඳා ඇති බව තීරණය කරන්නේ ඔබයි.

යෙදුම් කාර්යය

ඔබ මෑතකදී මුහුණ දුන් සැබෑ දෝෂයක් තෝරන්න (හෝ පරීක්ෂණ දෝෂයක් ප්‍රතිනිෂ්පාදනය කරන්න). පළමුව "අවම ප්‍රතිනිෂ්පාදනය" පියවර කරන්න; දෝෂය අවුලුවන කුඩාම කේතය සහ ආදානය ඉවත් කරන්න. ඉන්පසු "සාක්‍ෂි මත පදනම් වූ උපකල්පිත උත්පාදනය" අච්චුව සමඟ AI වෙතින් විය හැකි හේතු 3ක් සහ පරීක්ෂණ ක්‍රම ලබා ගන්න. ලාභම කල්පිතය ඔබම පරීක්‍ෂා කර, මූල හේතුව සොයා, එය නිවැරදි කර, අවසානයේදී අනාගතයේදී මෙම දෝෂය හසුකර ගන්නා ප්‍රතිගාමී පරීක්‍ෂණයක් ලියා, පරීක්‍ෂණය සැබවින්ම කැඩී ඇත්දැයි තහවුරු කරන්න.

පිරික්සුම් ලැයිස්තුව

  • [ ] මම දෝෂය AI වෙත ගෙන යාමට පෙර කුඩාම ප්‍රතිනිෂ්පාදනය කළ හැකි නියැදියට අඩු කරමි.
  • [ ] මම සම්පූර්ණ දෝෂ පණිවිඩය, ස්ටැක් ට්‍රේස්, ආදානය සහ අපේක්ෂිත හැසිරීම ප්‍රේරකයට එක් කරමි.
  • [ ] මම තනි උපකල්පනයකට අගුලු නොගෙන, ලාභම පාලනය කළ හැකි එකකින් ආරම්භ කරමි.
  • [ ] මම රෝග ලක්ෂණය පැච් කිරීමට වඩා මූලික හේතුව විසඳා ඇති බව මම තහවුරු කරමි.
  • [ ] නිවැරදි කිරීම ඇත්ත වශයෙන්ම දෝෂය නිවැරදි කරන බව මම නිරීක්ෂණය කරමි.
  • [ ] මම එක් එක් විසඳන ලද දෝෂ සඳහා ප්‍රතිගාමී පරීක්ෂණයක් එක් කරමි.