AI కోడ్ యొక్క 80/20 నియమం
AI నా ఫీచర్లో 80% ని 10 నిమిషాల్లో రాసేసింది. కోడ్ చూడటానికి క్లీన్గా ఉంది. లాజిక్ అర్థవంతంగా ఉంది. మొదటి ప్రయత్నంలోనే అది పనిచేసింది. నాకు చాలా సంతోషంగా అనిపించింది.
కానీ AI మొదటి 80% కి ఉపయోగకరంగా ఉంటుంది మరియు చివరి 20% కి ఉపయోగపడదు.
AI 'హ్యాపీ పాత్' (happy path) కోసం ఆప్టిమైజ్ చేస్తుంది. అంతా సరిగ్గా జరిగే ప్రపంచం కోసం ఇది నిర్మిస్తుంది. కానీ నిజమైన సాఫ్ట్వేర్ అనేది అన్నీ తప్పుగా జరిగే ప్రపంచంలో పనిచేయాల్సి ఉంటుంది.
నేను ఇటీవల ఒక Sol Email Workerని రూపొందించాను. AI కోర్ లాజిక్, థ్రెడింగ్ మరియు రూటింగ్ అంశాలను 20 నిమిషాల్లో జనరేట్ చేసింది. అది సులభమైన భాగం.
చివరి 20% కోసం నా అసలు నైపుణ్యం అవసరమైంది:
• డూప్లికేషన్ (Deduplication): డూప్లికేట్ మెసేజ్లను హ్యాండిల్ చేయడం. • సెండర్-స్కిప్ లాజిక్ (Sender-skip logic): సొంత మెసేజ్లను ప్రాసెస్ చేయకుండా నివారించడం. • ఎర్రర్ రికవరీ (Error recovery): ఊహించని API రెస్పాన్స్లను నిర్వహించడం. • లాగ్ అవుట్పుట్ (Log output): తెల్లవారుజామున 2 గంటల సమయంలో కూడా డీబగ్గింగ్ సాధ్యమయ్యేలా చేయడం.
నేను అడిగినదే AI చేసింది. ఎడ్జ్ కేసెస్ (edge cases) గురించి నేను ఇంకా ఆలోచించలేదు కాబట్టి, వాటి గురించి అడగడంలో నేను విఫలమయ్యాను.
మనకు కొలమాన సమస్య (measurement problem) ఉంది. మనం కోడ్ లైన్లు మరియు క్లోజ్ చేసిన టికెట్లను ట్రాక్ చేస్తాము. ఈ మెట్రిక్స్ వేగవంతమైన 80% కి మాత్రమే ప్రాధాన్యత ఇస్తాయి. ఎర్రర్ హ్యాండ్లింగ్ లేదా నల్ చెక్స్ (null checks) కోసం ఎంత సమయం ఖర్చవుతుందో ఎవరూ ట్రాక్ చేయరు.
ఆ 20% డ్యాష్బోర్డ్లో కనిపించదు, కానీ అసలైన పని అక్కడే జరుగుతుంది. నేను ఇప్పుడు 'ప్రాంప్ట్-టు-షిప్' (prompt-to-ship) సమయాన్ని ట్రాక్ చేస్తున్నాను. అంటే మొదటి ప్రాంప్ట్ నుండి ఒక స్థిరమైన ప్రొడక్షన్ ఫీచర్ సిద్ధమయ్యే వరకు పట్టే సమయం. ఈ సంఖ్య ఎప్పుడూ AI జనరేషన్ సమయం కంటే కనీసం 4 రెట్లు ఎక్కువగా ఉంటుంది.
నేను ఇప్పుడు ఇలా పని చేస్తున్నాను:
- ప్రతి టాస్క్ కోసం AI సమయం కంటే 4 రెట్లు ఎక్కువ సమయాన్ని కేటాయిస్తాను.
- నేను 'అన్హ్యాపీ పాత్' (unhappy path) కోసం ప్రాంప్ట్ ఇస్తాను. నెట్వర్క్ ఫెయిల్ అవుతుందని లేదా API నల్ (null) రిటర్న్ చేస్తుందని ఊహించమని AIకి చెబుతాను.
- మొదటి డ్రాఫ్ట్ను ముగింపు రేఖగా కాకుండా, ఒక ప్రారంభ బిందువుగా పరిగణిస్తాను.
30 సెకన్ల జనరేషన్ తర్వాత ఎర్రర్ హ్యాండ్లింగ్ కోసం నేను గడిపిన 3 గంటలు వృథా కాలేదు. అదే అసలైన పని. AI పనిని స్ట్రక్చర్ను రాయడం నుండి కోడ్ను నిజమైనదిగా (real) మార్చడం వైపు మళ్లించింది.
కోడ్ను నిజమైనదిగా మార్చడం అనేది నెమ్మదిగా జరిగే ప్రక్రియ. దీనికి మీ ప్రత్యేక సందర్భం (context), మీ వినియోగదారులు మరియు మీ కోడ్బేస్ చరిత్ర అవసరం. నైపుణ్యం అంటే ఇదే.
AI తెలిసిన పరిధిలో పనిచేస్తుంది. ఎడ్జ్ కేసెస్ (Edge cases) ఎప్పుడూ తెలియని కొత్త పరిధి.
తదుపరిసారి ఏదైనా AI డెమో మిమ్మల్ని ఆకట్టుకుంటే, డెమో ముగిసిన తర్వాత ఏమి జరిగిందో అడగండి.
Source: https://dev.to/amrree/the-8020-rule-of-ai-code-id
Optional learning community: https://t.me/GyaanSetuAi
