నా మొదటి వైబ్ కోడింగ్ (Vibe Coding) ప్రాజెక్ట్ నాకు ఒక విషయాన్ని నేర్పింది: నేను ఏమి నిర్మిస్తున్నానో నాకు తెలియదు
నేను మొబైల్ ఇంజనీరింగ్ టీమ్స్ను నిర్వహిస్తాను. నేను ఆర్కిటెక్చర్ను సమీక్షిస్తాను మరియు స్కోప్ను (scope) నియంత్రిస్తాను. నేను మిలియన్ల మంది వినియోగదారులకు యాప్లను అందించాను.
నేను AIతో ఒక సైడ్ ప్రాజెక్ట్ను ప్రారంభించినప్పుడు, షార్ట్కట్లను ఎంచుకోవడమే కష్టమైన పని అని అనుకున్నాను. కానీ నేను పొరబడ్డాను.
నేను ఒక షాపింగ్ లిస్ట్ యాప్ను నిర్మించాలనుకున్నాను. చాలా యాప్లు మీకు ఒక సాధారణ జాబితాను (flat list) ఇస్తాయి. ఆ జాబితా ఒక క్రమ పద్ధతిని అనుసరించదు కాబట్టి, మీరు స్టోర్లలో ఒక చిక్కుముడి (maze) లాగా తిరుగుతూ ఉండాల్సి వస్తుంది. నా ఆలోచన సరళమైనది: వస్తువులను ఐల్ (aisle) ప్రకారం వర్గీకరించే జాబితా. మీరు మీ స్టోర్ లేఅవుట్ను ఒక్కసారి నిర్వచిస్తే చాలు. ఆ లేఅవుట్కు అనుగుణంగా యాప్ ప్రతి జాబితాను క్రమబద్ధీకరిస్తుంది.
నేను ఆ కాన్సెప్ట్ను AIకి వివరించాను. అది చాలా వేగంగా ఏదో ఒకటి నిర్మించింది. అది అద్భుతంగా ఉంది.
ఆ తర్వాత నేను దానిని చూసి, అది తప్పు అని గ్రహించాను.
కోడ్ బాగుంది. సమస్య నా విజన్లో ఉంది. నా దగ్గర ఒక మసకబారిన ఆలోచన మాత్రమే ఉంది, స్పష్టమైన ప్రణాళిక లేదు.
"ఐల్ (aisle) ప్రకారం అమర్చబడిన షాపింగ్ లిస్ట్" అనేది పూర్తి స్థాయి ఆలోచన కాదు. ఒక వస్తువు మీ ముందు ఉన్నప్పుడు, కఠినమైన ప్రశ్నలు ఎదురవుతాయి:
• ఒక వస్తువుకు ఎటువంటి ఐల్ కేటాయించబడనప్పుడు ఏమి జరుగుతుంది? • పూర్తయిన వస్తువు మాయమైపోవాలా లేదా కొత్త విభాగంలోకి మారాలా? • పూర్తయిన విభాగం ప్రతి ఐల్ చివరన ఉండాలా లేదా జాబితా చివరన ఉండాలా? • కొత్త వినియోగదారు తమ స్టోర్ లేఅవుట్ను ఎలా సెటప్ చేస్తారు? • ఖాళీగా ఉన్న ఐల్ హెడర్ కనిపిస్తూ ఉండాలా లేదా మాయమైపోవాలా (collapse)?
నేను వీటిలో ఒక్క నిర్ణయం కూడా తీసుకోలేదు.
నేను సాంప్రదాయ పద్ధతిలో పనులను చేసినప్పుడు, కోడింగ్ చేస్తున్నప్పుడే ఈ ప్రశ్నలకు సమాధానాలు వెతుక్కునేవాడిని. కోడ్ రాయడంలో ఉండే కష్టం (friction) నన్ను నెమ్మదింపజేసేది. అది నా మెదడుకు లోపాలను పూరించడానికి సమయాన్ని ఇచ్చేది. కోడ్ అనేది ఒక స్పెసిఫికేషన్గా (specification) మారేది.
వైబ్ కోడింగ్ (Vibe coding) ఆ కష్టాన్ని తొలగిస్తుంది. నిర్ణయాలు ఇంప్లిమెంటేషన్లో (implementation) దాగిపోలేనంత వేగంగా AI పనిచేస్తుంది. మీరు వదిలేసిన ప్రతి ఖాళీ గురించి అది ఊహలు (assumptions) చేస్తుంది. మీరు వివరాలను పూర్తిగా ఆలోచించకముందే అది మీకు ఫలితాన్ని చూపిస్తుంది.
AI మంచి కోడ్ను రాయగలదా లేదా అని ప్రజలు చర్చించుకుంటారు. అది తప్పు ప్రశ్న.
అసలు ప్రశ్న ఏమిటంటే: మీరు ఏమి నిర్మించాలనుకుంటున్నారో మీకు తెలుసా?
మీరు ప్రారంభించకముందే ప్రతి నిర్ణయానికి సమాధానాలు కావాలి. ఎడ్జ్ కేసెస్ (edge cases) ఎలా పనిచేస్తాయో మీకు తెలియాలి. ఆ అనుభవం (experience) ఎలా ఉంటుందో మీకు తెలియాలి.
ఇది ఒక ప్రొడక్ట్ మేనేజ్మెంట్ నైపుణ్యం. ఒక బిల్డర్ ప్రారంభించకముందే అనుభవాన్ని ఖచ్చితంగా వివరించగల సామర్థ్యం ఇది. నాకు ఈ నైపుణ్యం ఉందని నేను అనుకున్నాను. కానీ వైబ్ కోడింగ్ వల్ల నేను కేవలం ఇంప్లిమెంటేషన్ వెనుక దాక్కుంటున్నానని తేలిపోయింది.
నేను నిర్మించిన యాప్ పేరు By Aisle. అది పూర్తి కావడానికి చాలా సమయం పట్టింది. కోడ్ కష్టంగా ఉన్నందున కాదు, ముందుగా నా ప్రొడక్ట్ను నేను అర్థం చేసుకోవాల్సి వచ్చింది కాబట్టి.
మీరు నిర్మించడానికి AIని ఉపయోగిస్తుంటే, ఇది చేయండి: AIని ఉపయోగించడం ప్రారంభించకముందే, మీ ప్రొడక్ట్కు అవసరమైన ప్రతి నిర్ణయాన్ని వ్రాయడానికి ఒక గంట సమయం కేటాయించండి. అప్పుడు మీకు చాలా లోపాలు కనిపిస్తాయి.
Optional learning community: https://t.me/GyaanSetuAi
