AI నా UIని 2 గంటల్లో నిర్మించింది. ఆ తర్వాత దాన్ని సరిదిద్దడానికే నేను 3 వారాలు గడిపాను.
ఒక AI ఏజెంట్ కేవలం రెండు గంటల్లో నా UIని నిర్మించింది. అది 47 ఫైళ్లను మార్చింది. అది components, API routes మరియు ఒక validation libraryని సృష్టించింది.
అది అద్భుతమని నేను అనుకున్నాను. ఒక వారం రోజుల పనిని ఆదా చేసుకున్నానని భావించాను.
ఆరు వారాల తర్వాత కూడా, నేను ఇంకా ఆ కోడ్నే సరిదిద్దుతూనే ఉన్నాను. Components పనిచేస్తున్నాయి, కానీ ఆ కోడ్ ఎందుకు పనిచేస్తుందో నా టీమ్కు వివరించలేకపోతున్నారు. AI మా పద్ధతులను (patterns) అనుసరించలేదు. అది కొత్త పద్ధతులను కనిపెట్టింది. ఇప్పుడు ఒకే పనిని చేయడానికి మా దగ్గర రెండు వేర్వేరు మార్గాలు ఉన్నాయి, కానీ డాక్యుమెంటేషన్ మాత్రం సున్నా.
ఇదే 'Ghost Implementation' సమస్య.
మీకు ఎముకలు మాత్రమే ఉన్న కోడ్ దొరుకుతుంది కానీ మాంసం (అర్థం) ఉండదు. కోడ్ కంపైల్ అవుతుంది మరియు టెస్ట్లు కూడా పాస్ అవుతాయి. కానీ అది ఎందుకు ఆ విధంగా రాయబడిందో ఎవరికీ తెలియదు. AIకి సందర్భం (context) తెలియదు, డెవలపర్కి అవగాహన ఉండదు.
నా కన్సల్టింగ్ పనిలో నేను మూడు ప్రధాన సమస్యలను గమనిస్తున్నాను:
- Implementation Amnesia: ఫంక్షన్ అవసరాల గురించి ఆలోచించకముందే డెవలపర్లు AI వైపు మొగ్గు చూపుతున్నారు.
- Reviewer Blindness: ఇంజనీర్లు AI సూచనలను చదవకుండానే 'accept' క్లిక్ చేస్తున్నారు.
- Debugging Atrophy: వేరియబుల్స్ను ఐసోలేట్ చేసే బదులు, బగ్లను ఫిక్స్ చేయడానికి డెవలపర్లు AIని వాడుతున్నారు. ఇది 15 నిమిషాల్లో అయ్యే పనిని 3 గంటల అంతులేని చిక్కుముడిగా మారుస్తుంది.
ఆర్కిటెక్చర్ను తాము చూసుకుంటామని, బోయిలర్ప్లేట్ (boilerplate) పనులను AI చూసుకుంటుందని ప్రజలు అంటారు. ఇది ఒక పొరపాటు. Boilerplate అనేది మీ సిస్టమ్కు అనుసంధానక కణజాలం (connective tissue) వంటిది. మీరు దానిని రాయడం మానేసినప్పుడు, మీ ఆర్కిటెక్చర్కు అవసరమైన పద్ధతులను (patterns) మీరు కోల్పోతారు.
మనం ప్రాజెక్ట్ను విడుదల చేయడానికి (time to ship) పట్టే సమయాన్ని కొలుస్తాము, కానీ దాన్ని నిర్వహించడానికి (time to maintain) పట్టే సమయాన్ని కొలవము.
AI టూల్స్ వేగం కోసం రూపొందించబడ్డాయి. అవి దీర్ఘకాలిక స్థిరత్వం (stability) కోసం రూపొందించబడలేదు. మీరు ఎంత వేగంగా విడుదల చేస్తున్నారో మాత్రమే కొలిస్తే, మీరు భారీ సాంకేతిక అప్పును (technical debt) సృష్టిస్తారు.
AIని ఉపయోగిస్తున్నప్పుడు చురుగ్గా ఉండటం ఎలా:
- రెండుసార్లు వివరించండి: డాక్యుమెంటేషన్ చూడకుండా ఒక టూల్ ఎందుకు పనిచేస్తుందో మీరు వివరించలేకపోతే, మీకు అవగాహనలో లోపం ఉన్నట్లే.
- ఒక చిన్న ప్రాజెక్ట్ను సొంతంగా చేయండి: AI లేకుండా ఒక చిన్న ప్రాజెక్ట్ను కోడ్ చేయండి. మీ మాన్యువల్ నైపుణ్యాలను కాపాడుకోండి.
- ఆర్కిటెక్చర్ లాగ్ ఉంచుకోండి: ప్రతి పెద్ద నిర్ణయం కోసం మూడు వాక్యాలు రాయండి. మీరు దేనిని ఎంచుకున్నారు, దేనిని తిరస్కరించారు మరియు ఎందుకు అనేది పేర్కొనండి.
- మీ ఆధారితత్వాన్ని (dependency) ట్రాక్ చేయండి: మీ సెషన్లకు 1 నుండి 5 వరకు రేటింగ్ ఇవ్వండి. మీరు AI పై మరీ ఎక్కువగా ఆధారపడితే, మీ నైపుణ్యాన్ని కోల్పోతున్నారు.
కేవలం AI సూచనలను ఆమోదించే వ్యక్తిగా మాత్రమే ఉండకండి. సిస్టమ్ను అర్థం చేసుకునే వ్యక్తిగా ఉండండి.
మీ చివరి AI pull requestని చూడండి. అందులోని state management గురించి గట్టిగా వివరించడానికి ప్రయత్నించండి. మీరు అది చేయలేకపోతే, అది ఒక Ghost Implementation.
AI మీ డీబగ్గింగ్ ప్రక్రియను ఎలా మార్చింది? కామెంట్లలో నాకు తెలియజేయండి.
ఐచ్ఛిక అభ్యాస సమూహం: https://t.me/GyaanSetuAi