నేను కోడ్ను షిప్ చేయడానికి AIని ఎలా ఉపయోగిస్తాను
తెలివైన ప్రాంప్ట్లను రాయడానికి ప్రయత్నించడం ఆపండి. కాంటెక్స్ట్ను ఇంజనీరింగ్ చేయడం ప్రారంభించండి.
చాలా మంది AIని తప్పుగా ఉపయోగిస్తున్నారు. వారు ఒకే వాక్యంలో ఒక ఫీచర్ను అడుగుతారు. AI తప్పు లైబ్రరీలను ఉపయోగించే కోడ్ను, మీ నేమింగ్ కన్వెన్షన్లను (naming conventions) ఉల్లంఘించే కోడ్ను మరియు పాత బగ్లను మళ్ళీ తీసుకువచ్చే కోడ్ను అందిస్తుంది. ఆ గందరగోళాన్ని సరిదిద్దడానికే మీరు మీ మధ్యాహ్నాన్ని గడిపేస్తారు.
కాంటెక్స్ట్ లేని AI అనేది మీ కోడ్బేస్ను ఎప్పుడూ చదవని ఒక జూనియర్ డెవలపర్ వంటిది. అది నిన్నటి విషయాలన్నీ మర్చిపోతుంది. మీరు ఒక కొత్త ఉద్యోగికి ఒకే ఒక లైన్ టికెట్ ఇచ్చి, పర్ఫెక్ట్ కోడ్ ఆశిస్తారు కదా? మీరు వారికి ఒక ఆన్బోర్డింగ్ డాక్యుమెంట్ను ఇస్తారు.
నేను నా రిపో (repo)లో ఒక ప్రాజెక్ట్ మెమరీ ఫైల్ను ఉపయోగిస్తాను. ఈ ఫైల్ ఒక ఆన్బోర్డింగ్ డాక్యుమెంట్లా పనిచేస్తుంది, AI ప్రతిసారీ దీనిని చదువుతుంది. ఇందులో బయటి వ్యక్తులకు తెలియని ప్రాజెక్ట్-నిర్దిష్ట నియమాలు ఉంటాయి:
• చర్చించలేనివి (Non-negotiables): URLలు ఎలా ఉండాలి మరియు స్లగ్స్ (slugs) ప్రొడక్షన్తో ఎలా సరిపోలాలి. • లాజిక్ నియమాలు: నంబర్లను హార్డ్కోడ్ చేయడం కంటే కాన్ఫిగరేషన్ల నుండి విలువలను పొందడం. • ఎడ్జ్ కేసెస్ (Edge cases): సైలెంట్ బ్రేక్లను నివారించే నిర్దిష్ట CDN సెట్టింగ్లు లేదా ఫైల్ పాత్లు.
నేను చేసే ప్రతి తప్పు ఈ ఫైల్లో ఒక లైన్గా మారుతుంది. ఇది ఈ ఫైల్ను ఒక విలువైన ఆస్తిగా మారుస్తుంది. నేను మళ్ళీ మళ్ళీ చెప్పడం ఆపివేయడం వల్ల, కాలక్రమేణా AI అవుట్పుట్ నాణ్యత మెరుగుపడుతుంది.
నా వర్క్ఫ్లో ఈ దశలను అనుసరిస్తుంది:
- కాంటెక్స్ట్ను బూట్స్ట్రాప్ చేయడం: మీ కోడ్ నుండి మెమరీ ఫైల్ను డ్రాఫ్ట్ చేయమని AIని అడగండి, ఆపై మీరు దానిని ఎడిట్ చేయండి.
- టాస్క్ను మళ్ళీ చెప్పడం: కోడ్ రాయడానికి ముందు లక్ష్యాన్ని సారాంశం చేయమని AIని అడగండి. ఇది తప్పులను ముందుగానే గుర్తిస్తుంది.
- ప్రాంప్ట్ను మెరుగుపరచడం: మీ అభ్యర్థనలో ఏది అస్పష్టంగా ఉందో AIని అడగండి.
AIని ఈ పనుల కోసం ఉపయోగించండి:
- బాయిలర్ప్లేట్ (boilerplate) మరియు స్క్యాఫోల్డింగ్ రాయడం.
- ప్యాటర్న్-ఫాలోయింగ్ రిఫ్యాక్టర్స్ (Pattern-following refactors).
- తెలియని కోడ్ను వివరించడం.
- రిపో అంతటా మెకానికల్ స్వీప్స్ చేయడం.
- టెస్ట్లు మరియు ఫిక్చర్లను రాయడం.
AIని ఈ పనుల కోసం ఉపయోగించకండి:
- కొత్త ఆర్కిటెక్చర్ నిర్ణయాలు తీసుకోవడం.
- అభిరుచి లేదా ప్రొడక్ట్ నిర్ణయాలు తీసుకోవడం.
- తప్పు జరిగితే నష్టం ఎక్కువగా ఉండే పనులు.
- సెక్యూరిటీ-క్రిటికల్ డిజైన్.
- షిప్ చేసే ముందు చేసే ఫైనల్ రివ్యూ.
క్రమశిక్షణ చాలా సరళమైనది:
- పనులను చిన్నవిగా పరిమితం చేయండి. "ఈ ఫీచర్ను నిర్మించు" అని చెప్పకండి. "ఈ నిర్దిష్ట మార్పును చేయి" అని చెప్పండి.
- ముందుగానే కాంటెక్స్ట్ను ఇవ్వండి.
- ప్రతి అవుట్పుట్ను ధృవీకరించండి. బిల్డ్ను రన్ చేసి, డిఫ్ (diff)ను చదవండి.
- ఒక జూనియర్ డెవలపర్ యొక్క PR లాగా దానిని రివ్యూ చేయండి. మనిషి చదవకుండా ఎప్పుడూ కోడ్ను కమిట్ చేయకండి.
- నేర్చుకున్న పాఠాలను మీ కాంటెక్స్ట్ ఫైల్లోకి తిరిగి చేర్చండి.
అసలైన బలం ప్రాంప్ట్లో లేదు. మీరు నిర్వహించే కాంటెక్స్ట్లోనే ఉంది.
Optional learning community: https://t.me/GyaanSetuAi
