𝗔𝗜 𝗪𝗿𝗶𝘁𝗲𝘀 𝘁𝗵𝗲 𝗖𝗼𝗱𝗲. 𝗪𝗵𝗼 𝗚𝗶𝘃𝗲𝘀 𝗜𝘁 𝘁𝗵𝗲 𝗖𝗼𝗻𝘁𝗲𝘅𝘁?
AI కోడ్ను రాయగలదు. కానీ దానికి మీ సిస్టమ్ గురించి తెలియదు.
మీరు కోడింగ్ కోసం AIని ఉపయోగించినప్పుడు, మొదటి సమాధానం అరుదుగా ఉత్తమంగా ఉంటుంది. మీరు కాంటెక్స్ట్ను (context) జోడించాలి. మీరు తప్పులను సరిదిద్దాలి. మీరు ఇప్పటికే ఏమి ప్రయత్నించారో వివరించాలి.
ఈ ప్రక్రియను కాంటెక్స్ట్ ఇంజనీరింగ్ (context engineering) అంటారు. సాఫ్ట్వేర్ ఇంజనీరింగ్లో AIని ఉపయోగించడంలో ఇది అత్యంత ముఖ్యమైన భాగం.
AI నమ్మదగిన కోడ్ను ఉత్పత్తి చేస్తుంది. అది చూడటానికి సరిగ్గా అనిపిస్తుంది. అది పరీక్షలను (tests) కూడా పాస్ కావచ్చు. కానీ సాఫ్ట్వేర్ అనేది శూన్యంలో ఉండదు. అది మీ నిర్దిష్ట ప్రపంచానికి సరిపోవాలి.
AIకి మీ గురించి ఆటోమేటిక్గా తెలియదు:
- ఆర్కిటెక్చర్ నియమాలు (Architecture rules)
- సెక్యూరిటీ అవసరాలు (Security needs)
- ప్రస్తుతం ఉన్న ప్యాటర్న్లు (Existing patterns)
- డొమైన్ లాజిక్ (Domain logic)
- సాంకేతిక నిర్ణయాలు (Technical decisions)
మీరు ఈ కాంటెక్స్ట్ను అందించకపోతే, మీరు సమస్యలను సృష్టిస్తారు.
ఒక పెద్ద ప్రమాదం డూప్లికేషన్ (duplication). మీకు ఇప్పటికే ఒక వాలిడేషన్ హెల్పర్ లేదా నిర్దిష్ట ఎర్రర్ హ్యాండ్లర్ ఉందని AIకి తెలియదు. అది కేవలం కొత్తదాన్ని నిర్మిస్తుంది. ఇప్పుడు మీ సిస్టమ్లో ఒకే సమస్యను పరిష్కరించడానికి రెండు మార్గాలు ఉంటాయి. ఇది 'మిమ్మల్ని మీరు పునరావృతం చేయకూడదు' (not repeating yourself) అనే నియమాన్ని ఉల్లంఘిస్తుంది.
మీరు కేవలం వేగం కోసం మాత్రమే ఆప్టిమైజ్ చేస్తే, మీ భవిష్యత్తును మీరు నెమ్మదింపజేస్తారు. మీరు ఫీచర్లను వేగంగా విడుదల చేయవచ్చు, కానీ మీ సిస్టమ్ను మార్చడం కష్టమవుతుంది.
దీనిని పరిష్కరించడానికి, మీరు ఇంజనీరింగ్ నాలెడ్జ్ను కోడ్ లాగా పరిగణించాలి. అది ఇలా ఉండాలి:
- వెర్షనింగ్ చేయబడాలి (Versioned)
- రివ్యూ చేయబడాలి (Reviewed)
- యాజమాన్యం ఉండాలి (Owned)
- ఎప్పటికప్పుడు అప్డేట్గా ఉండాలి (Kept current)
డాక్యుమెంటేషన్ మాత్రమే సరిపోదు. పాతబడిన (outdated) డాక్యుమెంటేషన్ ప్రమాదకరం. అది AIకి తప్పుడు నమ్మకాన్ని కలిగిస్తుంది. మీ టీమ్ ఇకపై ఉపయోగించని పాత ప్యాటర్న్లను అనుసరించేలా ఇది మోడల్ను ప్రేరేపిస్తుంది.
ఉత్తమమైన టీమ్లు కేవలం మెరుగైన ప్రాంప్ట్లను (prompts) మాత్రమే రాయవు. అవి మెరుగైన గార్డ్రైల్స్ను (guardrails) నిర్మిస్తాయి.
ఒక నియమాన్ని పాటించమని AIని అడిగే బదులు, దానిని అమలు చేయడానికి ఆటోమేటెడ్ టెస్ట్లను ఉపయోగించండి. వీటిని తనిఖీ చేయడానికి CI/CDని ఉపయోగించండి:
- స్టాటిక్ అనాలిసిస్ ఎర్రర్స్ (Static analysis errors)
- సెక్యూరిటీ లోపాలు (Security vulnerabilities)
- ఆర్కిటెక్చరల్ బౌండరీ ఉల్లంఘనలు (Architectural boundary violations)
- డిపెండెన్సీ సమస్యలు (Dependency issues)
AI కోడ్ను ఉత్పత్తి చేయడాన్ని చౌకగా చేస్తుంది. కానీ అది ఉత్పత్తిని (product) అర్థం చేసుకోవడం యొక్క ప్రాముఖ్యతను తగ్గించదు. నిజానికి, కాంటెక్స్ట్ అనేది అత్యంత విలువైన వనరుగా మారుతుంది.
అత్యధిక కోడ్ను ఉత్పత్తి చేసే టీమ్లు విజేతలు కాలేరు. వివిధ భాగాలు ఎలా కలిసి పనిచేయాలో స్పష్టమైన సూచనలను అందించే టీమ్లే విజేతలుగా నిలుస్తారు.
Source: https://dev.to/icetique/ai-can-write-the-code-who-gives-it-the-context-2l1b
Optional learning community: https://t.me/GyaanSetuAi