AI በገነባው መተግበሪያ ስህተት እንዴት ማረም፡ ተግባራዊ ዘዴ
በAI የተገነባ መተግበሪያን ለማረም፣ በመጀመሪያ ስህተቱ ሆን ብለው እንደገና እንዲከሰት ያድርጉ፣ ከዚያ ማስረጃ ይሰብስቡ — ትክክለኛ እርምጃዎቹን፣ የስህተት መልዕክቱን፣ እና የአሳሹ ኮንሶልና የአውታረ መረብ ትሩ የሚያሳዩትን — እና ለAIው «X አደረግሁ፣ Y ጠበቅሁ፣ Z ሆነ» በሚል ይስጡት። ማስተካከያ ነገሩን ካባሰ፣ በላዩ ላይ ማስተካከያዎችን ከመደራረብ ይልቅ ወደ መጨረሻው የሠራ ስሪት ይመለሱ። ኮዱን ማንበብ አያስፈልግዎትም።
ይህ መመሪያ ሙሉውን ዑደት ይሸፍናል፣ ለቴክኒካዊ ላልሆኑ ሰዎች ፈጣን የአሳሽ የገንቢ መሣሪያዎች ጉብኝትን ጨምሮ።
የማረም ዑደት
እያንዳንዱ የስህተት ማስተካከል፣ ሰው ወይም AI የሚያደርገው፣ አንድ አይነት ዑደት ይከተላል፦
- ማባዛት — ስህተቱ በአስተማማኝ ሁኔታ እንዲከሰት ያድርጉ።
- መመልከት — የስህተት መልዕክቱንና መተግበሪያው ምን ሲሠራ እንደነበረ ይሰብስቡ።
- መግለጽ — ለAIው ትክክለኛ እርምጃዎችን፣ የሚጠበቀውን ውጤትና የተከሰተውን ይስጡ።
- ማስተካከል — AI አንድ ነገር ብቻ እንዲቀይር ያድርጉ።
- ማረጋገጥ — ትክክለኛዎቹን እርምጃዎች ይድገሙ እና መስተካከሉንና አጠገቡ ያለው ነገር እንዳልተበላሸ ያረጋግጡ።
- ከተበላሸ መመለስ — የባሰ ከሆነ ይቀልብሱና በተሻለ መረጃ እንደገና ይሞክሩ።
በAI በተገነቡ መተግበሪያዎች ላይ ብዙ ጊዜ የሚባክነው ደረጃ 1፣ 2 እና 5ን ከመዝለል ነው፦ «ተበላሽቷል» ብሎ መናገር፣ ለውጥን ሳይሞክሩ መቀበል፣ ከዚያም የተበላሸ ላይ ሌላ ማስተካከያ መጠየቅ።
ደረጃ 1፦ ስህተቱን እንደገና ማባዛት
በፈለጉት ጊዜ የሚያስነሱት ስህተት ግማሽ ተስተካክሏል ማለት ነው። ስህተቱን የሚያመጡ አጭሩን የእርምጃዎች ስብስብ ለማግኘት ይሞክሩ።
እራስዎን ይጠይቁ፦
- ሁልጊዜ ይከሰታል? አልፎ አልፎ ብቻ ከሆነ፣ ሲከሰት ምን ይለያል — የተወሰነ መዝገብ፣ ቀርፋፋ ግንኙነት፣ ወይም መውጣት?
- ለሁሉም ተጠቃሚ ይከሰታል? በሌላ መለያ ይግቡ። ብዙ ስህተቶች ለአዲስ ተጠቃሚዎች ዳታ በሌላቸው፣ ወይም ለተለየ ሚና ላለው ተጠቃሚ ብቻ ይታያሉ።
- በሁሉም መሣሪያ ላይ ይከሰታል? ለስልክ ስፋት ስክሪንና ለሌላ አሳሽ ይሞክሩ።
- ከተወሰነ ለውጥ በኋላ ጀመረ? ትናንት ይሠራ ከነበረ፣ የመጨረሻዎቹ ጥቂት ለውጦች ዋና ተጠርጣሪዎች ናቸው።
እርምጃዎቹን እንደ አጭር ቁጥር ዝርዝር ይጻፉ። በኋላ ወደ ጥያቄው ይለጥፉታል።
ደረጃ 2፦ የስህተት መልዕክቱን ማንበብ
የስህተት መልዕክቶች የሚያስፈሩ ይመስላሉ፣ ግን ከእነርሱ ጥቂት ክፍሎች ብቻ ያስፈልጉዎታል።
| የመልዕክቱ ክፍል | ምን ይነግርዎታል | ምሳሌ |
|---|---|---|
| ዓይነቱ | የችግሩ ዓይነት | TypeError፣ 404 Not Found፣ 500 Internal Server Error |
| መልዕክቱ | የወደቀው የተወሰነ ነገር | Cannot read properties of undefined (reading 'name') |
| ፋይሉና መስመሩ | በኮዱ የት እንዳለ | BookingList.tsx:42 |
ለመረዳት አያስፈልግም፤ በትክክል መቅዳት ያስፈልጋል። «Cannot read properties of undefined (reading 'name')» ኮዱ የሚጠብቀው ዳታ (ምናልባት ቦታ ማስያዝ ወይም ተጠቃሚ) እንዳልመጣ ለAIው ይነግረዋል። «አንድ undefined ስህተት» የሚል ማብራሪያ ይህን ያጠፋል።
ጥቂት የተለመዱ፣ በግምት የተተረጎሙ፦
undefined/nullስህተቶች — ኮዱ የጠበቀው ዳታ አልደረሰም። ብዙ ጊዜ የመጫኛ ሁኔታ ወይም ኮዱ ያልያዘው ባዶ ዝርዝር ነው።404 Not Found— ገጹ ወይም የኤፒአይ አድራሻው የለም። ብዙ ጊዜ በመንገድ (route) ላይ የፊደል ስህተት ወይም ወደ ተቀየረ ገጽ የሚወስድ አገናኝ።401 Unauthorized/403 Forbidden— ጥያቄው አልገባም፣ ወይም ተጠቃሚው ያንን ማድረግ አይፈቀድለትም።500 Internal Server Error— የአገልጋይ-ጎን ኮዱ ተበላሽቷል። እውነተኛው ምክንያት በአገልጋይ መዝገቦች ውስጥ ነው፣ በአሳሹ ውስጥ አይደለም።CORSስህተቶች — አሳሹ ወደ ሌላ ዶሜይን የተደረገ ጥያቄ አግዶታል። ብዙ ጊዜ የአገልጋይ-ጎን ውቅር ችግር ነው።
ደረጃ 3፦ የአሳሹን የገንቢ መሣሪያዎች ተጠቀሙ
ማንኛውም የዴስክቶፕ አሳሽ አብሮ የተሰሩ የገንቢ መሣሪያዎች («devtools») አሉት። ገጹ ከበስተጀርባ ምን እንደሚሠራ ያሳያሉ። በChrome፣ Edge እና Firefox ገጹ ላይ በቀኝ ጠቅ አድርገው Inspect ይምረጡ፣ ወይም F12 ይጫኑ (በMac ላይ Cmd+Option+I)። በSafari፣ በቅንብሮቹ ውስጥ መጀመሪያ Develop ምናሌን ያብሩ።
ሦስት ትሮች ብቻ ያስፈልጉዎታል።
Console
Console ትሩ ከገጹ ኮድ የሚመጡ ስህተቶችንና መልዕክቶችን ይዘረዝራል። ስህተቶች በቀይ ይታያሉ። አዝራር ምንም ካላደረገ፣ ኮንሶሉ ብዙ ጊዜ ጠቅ ሲያደርጉ የሚታየውን ቀይ ስህተት ያሳያል። የስህተቱን ሙሉ ጽሑፍ ይቅዱ (በአብዛኞቹ አሳሾች በቀኝ ጠቅ ቅዳ ይገኛል)።
Network
Network ትሩ ገጹ የሚያደርገውን እያንዳንዱን ጥያቄ ይዘረዝራል — ዳታ መጫን፣ ቅጽ ማስቀመጥ፣ መግባት። ይክፈቱት፣ ከዚያ ስህተቱን የሚያመጡትን እርምጃዎች ይድገሙ።
- ቀይ ወይም ከ400 በላይ ሁኔታ ያላቸውን ረድፎች ይፈልጉ።
- የወደቀውን ረድፍ ጠቅ አድርገው Responseውን ይመልከቱ። የአገልጋይ ስህተት ብዙ ጊዜ በማያ ገጹ ላይ ካለው ይበልጥ የሚጠቅም መልዕክት ይዞ ይመጣል።
- የጥያቄውን URL እና የሁኔታ ኮድ ያስተውሉ — «POST /api/bookings 500 መለሰ» የሚለው ለAIው በጣም ጠቃሚ ዓረፍተ ነገር ነው።
ስህተቱ የገጽ ዳግም መጫን ወይም ማዛወሪያ ካለው Preserve logን ይምረጡ፣ ጥያቄዎቹ እንዳይጠፉ።
Elements
Elements (ወይም Inspector) ትሩ የገጹን መዋቅርና ስታይል ያሳያል። ለአቀማመጥ ስህተቶች በጣም ጠቃሚ ነው፦ በኤለመንት ላይ ሲያንዣብቡ መጠኑና ክፍተቱ ይደመቃል። እዚህ ምንም ማርትዕ አያስፈልግም፤ «ግርጌው በሞባይል ላይ 2,000 ፒክስል ስፋት አለው እና ገጹን ወደ ጎን ይገፋል» ማለት በቂ ነው።
ደረጃ 4፦ የአገልጋይ መዝገቦችን ይፈትሹ
አንዳንድ ስህተቶች በአገልጋዩ ላይ ይከሰታሉ፣ አሳሹ ሊያየው በማይችልበት። በኔትወርክ ትሩ ውስጥ 500 ስህተት ክላሲክ ምልክት ነው። የአገልጋይ መዝገቦች — ጀርባዎ ሲሠራ የሚያወጣው የጽሑፍ ውጤት — ብዙ ጊዜ እውነተኛውን ስህተት ከስታክ ትሬስ (ሲወድቅ ሲሠሩ የነበሩ ተግባራት ዝርዝር) ጋር ይይዛሉ።
የት እንደሚገኙ በመሣሪያዎ ላይ ይወሰናል። በአብዛኞቹ AI መተግበሪያ ገንቢዎች ለፕሮጀክቱ ተርሚናል ወይም የመዝገብ እይታ መክፈት ይችላሉ፣ ወይም በቀላሉ AIውን ይጠይቁ፦ «ከመጨረሻው ጥያቄ የመጡ ስህተቶችን በአገልጋይ መዝገቦች ፈልግና ምን እንደወደቀ ንገረኝ።»
ደረጃ 5፦ ለAI ስህተቱን መግለጽ
የሰበሰቡትን ወደዚህ ቅርጽ ያስገቡት፦
በቦታ ማስያዝ ገጹ ላይ፣ እንደ አባል ገብቼ፦ የነገ 9:00 ክፍል ላይ Cancelን ጠቅ አደረግሁ። የሚጠበቀው፦ ቦታ ማስያዙ ይጠፋል እና ክፍሉ አንድ ተጨማሪ ነጻ ቦታ ያሳያል። የተከሰተው፦ በስክሪኑ ላይ ምንም አይለወጥም። ኮንሶሉ
TypeError: Cannot read properties of undefined (reading 'id')በBookingCard.tsx:31ያሳያል፣ እና የኔትወርክ ትሩDELETE /api/bookings/123500 እንደመለሰ ያሳያል። ምክንያቱን ፈልግ፣ አስተካክለው፣ እና ለአንድ ቦታ ለያዘ እና ለብዙ ቦታ ለያዘ አባል መሰረዙ መሥራቱን አረጋግጥ።
እያንዳንዱ ክፍል ለምን እንደሚያስፈልግ፦
- የት እና በማን ወደ አንድ ስክሪንና አንድ ሚና ያጠባል።
- ትክክለኛ እርምጃዎች AIው እንዲያባዛው ያስችሉታል።
- የሚጠበቀው ከተከሰተው «ተስተካክሏል» ማለት ምን እንደሆነ ይወስናል።
- የስህተት ጽሑፉና የወደቀው ጥያቄ ወደ ምክንያቱ በቀጥታ ይጠቁማሉ።
- «ያረጋግጡ…» AIው ማስተካከል ብቻ ሳይሆን እንዲፈትሽ ይጠይቀዋል።
AI ሁለት ጊዜ ለማስተካከል ሞክሮ ካልተሳካ፣ ከማንኛውም ለውጥ በፊት እንዲያብራራ ይጠይቁት፦
ኮድ ገና አትቀይር። ይህን ምን ያስከትላል ብለህ ታስባለህ፣ እና ምን ማስረጃ ይደግፈዋል?
የተሳሳተ ንድፈ ሀሳብ ሲጻፍ በቀላሉ ይታያል፣ ከተሳሳተ ማስተካከያ ይልቅ ለማስተካከል በጣም ርካሽ ነው።
ደረጃ 6፦ ማረጋገጥና በዙሪያው መፈተሽ
AIው ተስተካክሏል ሲል፣ ከደረጃ 1 ያሉትን ትክክለኛ እርምጃዎች ይድገሙ። ከዚያ በዙሪያው ያለውን ይፈትሹ፦
- ተመሳሳይ እርምጃ ለሌላ የተጠቃሚ ሚና
- ተመሳሳይ እርምጃ ያለ ዳታም ሆነ ብዙ ዳታ ጋር
- ያስተካከሉት ክፍል የሚጋራቸው ገጾች
- አቀማመጥ ከነካ፣ ለስልክ ስፋት ስክሪን
የAI ለውጦች አንዱን መንገድ አስተካክለው ሌላውን በድብቅ ሊሰብሩ ይችላሉ። አሁን የሁለት ደቂቃ ፍተሻ ከኋላ ግራ የሚያጋባ ሰዓት ያድናል።
ደረጃ 7፦ መመለስ፣ መደራረብ ሳይሆን
ማስተካከያ ነገሩን ካባሰ፣ ወይም ሦስት ዙር ያለ እድገት ካለፉ፣ ይመለሱ። ወደ መጨረሻው የሠራ ስሪት መመለስና በተሻለ ማስረጃ እንደገና መግለጽ፣ በሦስት የተሳሳቱ ማስተካከያዎች ላይ አራተኛ ማስተካከያ ከመጠየቅ ሁልጊዜ ይሻላል። እያንዳንዱ ያልተሳካ ሙከራ ኮድ ይተዋል፣ ያ ኮድ ቀጣዩን ሙከራ ግራ ያጋባል።
መመለስን ቀላል የሚያደርጉ ጥሩ ልማዶች፦
- ከእያንዳንዱ ለውጥ በኋላ ይሞክሩ፣ የትኛው ለውጥ እንደሰበረ እንዲያውቁ።
- ለውጦችን አነስተኛ ያድርጉ — በአንድ መልዕክት አንድ ባህሪ ወይም ማስተካከያ።
- ከአደገኛ ነገር በፊት የመጨረሻውን ጥሩ ስሪት ይመዝግቡ።
- ኮዱ በGit ውስጥ ከሆነ፣ ወደ ሠሩ ስሪቶች መመለስ እንዲችሉ ይቅረጹ (commit)።
በAI በተገነቡ መተግበሪያዎች የተለመዱ የስህተት ዘይቤዎች
| ምልክት | ሊሆን የሚችል ምክንያት | ምን ብለው ይጠይቁ |
|---|---|---|
| በቅድመ-እይታ ይሠራል፣ ሲታተም ይሰበራል | በቀጥታ መተግበሪያው ላይ የጠፋ ሚስጥር ወይም የአካባቢ ተለዋዋጭ፣ ወይም ለውጡ እንደገና አልታተመም | «መተግበሪያው የሚጠቀምባቸው ሁሉም የአካባቢ ተለዋዋጮች ለታተመው መተግበሪያ መዘጋጀታቸውን አረጋግጥ» |
| ዳታ ገጹን ካደሱ በኋላ ይጠፋል | በገጹ ማህደረ ትውስታ ውስጥ ብቻ ተቀምጧል፣ በመረጃ ቋት ውስጥ አይደለም | «[ዳታ]ን ከእድሳት በኋላ እንዲቆይ በመረጃ ቋት ውስጥ አስቀምጥ» |
| ገጹ ባዶ ነው | በማሳየት ጊዜ ተበላሽቷል | የኮንሶል ስህተቱን ቅዳ |
| ለእርስዎ ይሠራል፣ ለአዲስ ተጠቃሚዎች አይሠራም | ኮዱ አዳዲስ መለያዎች የሌላቸውን ዳታ ይጠብቃል | «ተጠቃሚው ገና [መዝገቦች] ሲጎድለው ጉዳዩን አስተናግድ» |
| ተጠቃሚዎች የሌላውን ዳታ ያያሉ | በአገልጋዩ ላይ የፈቃድ ቼክ ጠፍቷል | የደህንነት ዝርዝራችንን ይመልከቱ |
| በስልክ አቀማመጡ ተበላሽቷል | ቋሚ ስፋቶች ወይም የማይጠቀለል ይዘት | ስክሪንሾት እና የስክሪኑ ስፋት |
| ከገቡ በኋላ ገጹን ሲያድሱ ይወጣሉ | ክፍለ-ጊዜው አልተቀመጠም ወይም የኩኪ ቅንብሩ የተሳሳተ ነው | «ገጹ ሲታደስ ተጠቃሚዎች እንዲገቡ አድርግ» |
ችግሩ ስህተት ካልሆነ
አንዳንድ «ስህተቶች» AI የተነገረውን በትክክል የሠራበት ነገር ነው፣ መግለጫው ግልጽ ካልነበረ። የሚጠይቁት ማስተካከያ በእውነቱ የባህሪ ለውጥ ከሆነ በግልጽ ይናገሩ፦ «ይህን ቀይር ስለ…»። ትክክለኛው ባህሪ ምን እንደሆነ እርግጠኛ ካልሆኑ፣ በመጀመሪያ ይወስኑት። ህጎችን በግልጽ እንዴት መግለጽ እንደሚቻል ለAI መተግበሪያ ገንቢዎች ጥያቄዎችን መጻፍ ይሸፍናል። እና ለእውነተኛ ተጠቃሚዎች መተግበሪያ እያዘጋጁ ከሆነ፣ AI ፕሮቶታይፕን ወደ ምርት እንዴት ማድረስ ከመጀመሩ በፊት የሚደረጉ ፍተሻዎችን ይሸፍናል።
በMythex ማረም
Mythex ለእያንዳንዱ የዑደቱ ደረጃ መሣሪያዎች አሉት፦
- Preview ስህተቱን ለማባዛት፣ የሞባይል መጠን ፍሬምን ጨምሮ።
/testወኪሉ በቀጥታ ቅድመ-እይታዎ ላይ እንደ ተጠቃሚ ጠቅ አድርጎ የተበላሹ ፍሰቶችን ሪፖርት ያደርጋል።/fixወኪሉን ወደ የተበላሸው በትክክል ይጠቁማል።- Plan ሁነታ ወኪሉ ማንኛውንም ነገር ከማርትዕ በፊት እንዲመረምርና እንዲያብራራ ያስችለዋል።
- Code → terminal የመተግበሪያዎን የአገልጋይ መዝገቦች ያሳያል።
- ወደዚህ ነጥብ መልስ (Revert to this point) በማንኛውም ምላሽ ላይ ፕሮጀክቱን ወደዚያ ቼክፖይንት ይመልሰዋል።
ማተም ካልተሳካ፣ የማተሚያ መገናኛው ብዙ ጊዜ Fix with AI ያቀርባል፣ ይህም የግንባታ ውጤቱን ወይም የመተግበሪያውን መዝገቦች ያነባል። በሰነዶቹ ውስጥ መተግበሪያዎን ማረም እና የማተም መላ ፍለጋ ይመልከቱ።
ጥያቄዎች
መተግበሪያው ስህተት ሲኖረው ለAI ምን ልንገረው?
ሦስት ነገሮች፦ የወሰዱት ትክክለኛ እርምጃዎች፣ ይከሰታል ብለው የጠበቁት፣ እና በእውነቱ የተከሰተው፣ ከማንኛውም የስህተት መልዕክት ትክክለኛ ጽሑፍ ጋር። ለAI ምክንያቱን ለማግኘት ብዙውን ጊዜ ይበቃል።
የአሳሹን ኮንሶል እንዴት እከፍታለሁ?
በChrome፣ Edge ወይም Firefox ገጹ ላይ በቀኝ ጠቅ አድርገው Inspect ይምረጡ፣ ከዚያ Console ትሩን ይክፈቱ። የቁልፍ ሰሌዳ አቋራጩ F12 ወይም በMac ላይ Cmd+Option+I ነው። በSafari ውስጥ መጀመሪያ በቅንብሮች ውስጥ Develop ምናሌን ማንቃት ያስፈልጋል።
AI ተመሳሳይ ስህተት ማስተካከል ተስኖታል። ምን ላድርግ?
ማስተካከያዎችን መደራረብ ያቁሙ። ወደ መጨረሻው የሠራ ስሪት ይመለሱ፣ ከዚያ ስህተቱን በበለጠ ዝርዝር ይግለጹ — ትክክለኛው ስህተት፣ የወደቀው የአውታረ መረብ ጥያቄ፣ ወይም ስክሪንሾት። ኮድ ከመቀየሩ በፊት ምክንያቱን እንዲያብራራ AIን መጠየቅም ይረዳል።
በቅድመ-እይታው ይሠራል፣ ከታተመ በኋላ ግን አይሠራም ለምንድን ነው?
የተለመዱ ምክንያቶች፦ ለቀጥታው መተግበሪያ ያልተዋቀሩ ሚስጥሮች ወይም የአካባቢ ተለዋዋጮች፣ ከቀጥታው ስሪት ጋር ያልተገናኘ የመረጃ ቋት፣ ወይም እንደገና ያልታተሙ ለውጦች። ኮዱን ከመመልከትዎ በፊት እነዚህን ያረጋግጡ።