𝗔𝗜 𝘄𝗿𝗶𝘁𝗲𝘀 𝘁𝗵𝗲 𝗰𝗼𝗱𝗲. 𝗪𝗵𝗼 𝗴𝗶𝘃𝗲𝘀 𝗶𝘁 𝘁𝗵𝗲 𝗰𝗼𝗻𝘁𝗲𝘅𝘁?
AI कोड लिहू शकतो. पण त्याला तुमच्या सिस्टमबद्दल माहिती नसते.
जेव्हा तुम्ही कोडिंगसाठी AI वापरता, तेव्हा पहिले उत्तर क्वचितच सर्वोत्तम असते. तुम्हाला संदर्भ (context) द्यावा लागतो. तुम्हाला चुका सुधाराव्या लागतात. तुम्ही आधी काय प्रयत्न केले आहेत हे तुम्हाला स्पष्ट करावे लागते.
या प्रक्रियेला 'context engineering' म्हणतात. सॉफ्टवेअर इंजिनीअरिंगमध्ये AI वापरताना हा सर्वात महत्त्वाचा भाग आहे.
AI संभाव्य कोड तयार करते. तो योग्य दिसतो. तो कदाचित टेस्ट्समध्येही पास होऊ शकतो. पण सॉफ्टवेअर शून्य परिस्थितीत (vacuum) अस्तित्वात नसते. ते तुमच्या विशिष्ट जगाशी सुसंगत असणे आवश्यक आहे.
AI ला तुमच्या खालील गोष्टींची आपोआप माहिती नसते:
- आर्किटेक्चरचे नियम (Architecture rules)
- सुरक्षा गरजा (Security needs)
- अस्तित्वात असलेले पॅटर्न (Existing patterns)
- डोमेन लॉजिक (Domain logic)
- तांत्रिक निर्णय (Technical decisions)
जर तुम्ही हा संदर्भ दिला नाही, तर तुम्ही समस्या निर्माण करता.
एक मोठा धोका म्हणजे 'duplication' (पुनरावृत्ती). तुमच्याकडे आधीच एखादा validation helper किंवा विशिष्ट error handler आहे, हे AI ला माहित नसते. ते फक्त एक नवीन तयार करेल. आता तुमच्या सिस्टममध्ये एकच समस्या सोडवण्यासाठी दोन मार्ग असतील. यामुळे 'not repeating yourself' हा नियम मोडला जातो.
जर तुम्ही फक्त वेगासाठी ऑप्टिमाइझ केले, तर तुम्ही तुमचे भविष्य संथ करत आहात. तुम्ही फीचर्स वेगाने रिलीज करू शकता, पण तुमची सिस्टम बदलणे कठीण होईल.
हे सुधारण्यासाठी, तुम्हाला इंजिनीअरिंगचे ज्ञान कोडप्रमाणे हाताळावे लागेल. ते खालीलप्रमाणे असणे आवश्यक आहे:
- व्हर्जन केलेले (Versioned)
- रिव्ह्यू केलेले (Reviewed)
- मालकीचे (Owned)
- अद्ययावत ठेवलेले (Kept current)
केवळ डॉक्युमेंटेशन पुरेसे नाही. जुने किंवा कालबाह्य डॉक्युमेंटेशन धोकादायक असते. ते AI ला चुकीचा आत्मविश्वास देते. यामुळे मॉडेल अशा जुन्या पॅटर्नचा वापर करते जे तुमची टीम आता वापरत नाही.
सर्वोत्तम टीम्स फक्त चांगले प्रॉम्प्ट्स (prompts) लिहित नाहीत. त्या अधिक चांगले 'guardrails' तयार करतात.
AI ला एखादा नियम पाळण्यास सांगण्याऐवजी, तो नियम लागू करण्यासाठी ऑटोमेटेड टेस्ट्सचा वापर करा. खालील गोष्टी तपासण्यासाठी CI/CD वापरा:
- स्टॅटिक ॲनालिसिस एरर्स (Static analysis errors)
- सुरक्षा त्रुटी (Security vulnerabilities)
- आर्किटेक्चरल बाउंड्रीचे उल्लंघन (Architectural boundary violations)
- डिपेंडन्सी समस्या (Dependency issues)
AI मुळे कोड तयार करणे स्वस्त झाले आहे. पण यामुळे प्रॉडक्ट समजून घेण्याचे महत्त्व कमी झालेले नाही. उलट, 'context' (संदर्भ) हा सर्वात मौल्यवान स्त्रोत बनतो.
विजेते ते टीम्स नसतील जे सर्वाधिक कोड तयार करतात. तर ते टीम्स असतील जे विविध भाग एकमेकांशी कसे जोडले जातात यावर सर्वात स्पष्ट सूचना देतील.
Source: https://dev.to/icetique/ai-can-write-the-code-who-gives-it-the-context-2l1b
Optional learning community: https://t.me/GyaanSetuAi