मैं कोड शिप करने के लिए AI का उपयोग कैसे करता हूँ
चतुर प्रॉम्प्ट लिखने की कोशिश करना बंद करें। कॉन्टेक्स्ट इंजीनियरिंग (context engineering) शुरू करें।
ज़्यादातर लोग AI का गलत तरीके से उपयोग करते हैं। वे एक ही वाक्य में किसी फीचर के लिए पूछते हैं। AI ऐसा कोड वापस देता है जो गलत लाइब्रेरीज़ का उपयोग करता है, आपके नेमिंग कन्वेंशन (naming conventions) को तोड़ देता है, और पुराने बग्स को फिर से ले आता है। आप अपना पूरा दोपहर उस गड़बड़ी को ठीक करने में बिता देते हैं।
बिना कॉन्टेक्स्ट वाला AI एक ऐसे जूनियर डेवलपर की तरह है जिसने आपके कोडबेस को कभी पढ़ा ही नहीं है। वह कल की हर बात भूल जाता है। आप किसी नए कर्मचारी को एक लाइन का टिकट नहीं देंगे और परफेक्ट कोड की उम्मीद नहीं करेंगे। आप उन्हें एक ऑनबोर्डिंग डॉक्यूमेंट (onboarding document) देंगे।
मैं अपने रेपो (repo) में एक प्रोजेक्ट मेमोरी फ़ाइल का उपयोग करता हूँ। यह फ़ाइल एक ऑनबोर्डिंग डॉक्यूमेंट की तरह काम करती है जिसे AI हर बार पढ़ता है। इसमें प्रोजेक्ट-विशिष्ट नियम होते हैं जो किसी बाहरी व्यक्ति को नहीं पता होंगे:
• नॉन-नेगोशिएबल्स (Non-negotiables): URL कैसे दिखने चाहिए और स्लग (slugs) प्रोडक्शन से कैसे मेल खाने चाहिए। • लॉजिक नियम: नंबरों को हार्डकोड करने के बजाय कॉन्फ़िग्स (configs) से वैल्यू प्राप्त करना। • एज केसेस (Edge cases): विशिष्ट CDN सेटिंग्स या फ़ाइल पाथ जो साइलेंट ब्रेक (silent breaks) को रोकते हैं।
मेरी हर गलती इस फ़ाइल में एक लाइन बन जाती है। यह फ़ाइल को एक कंपाउंडिंग एसेट (compounding asset) में बदल देता है। AI आउटपुट की गुणवत्ता समय के साथ सुधरती जाती है क्योंकि मैं अपनी बातें दोहराना बंद कर देता हूँ।
मेरा वर्कफ़्लो इन चरणों का पालन करता है:
- कॉन्टेक्स्ट को बूटस्ट्रैप करें: AI से अपने कोड से मेमोरी फ़ाइल का ड्राफ्ट बनाने के लिए कहें, फिर आप उसे एडिट करें।
- कार्य को फिर से बताएं: कोड लिखने से पहले AI से लक्ष्य का सारांश (summary) पूछें। इससे गलतियाँ जल्दी पकड़ में आ जाती हैं।
- प्रॉम्प्ट में सुधार करें: AI से पूछें कि आपके अनुरोध में क्या अस्पष्ट है।
इन कार्यों के लिए AI का उपयोग करें:
- बॉयलरप्लेट (boilerplate) और स्कैफ़ोल्डिंग (scaffolding) लिखना।
- पैटर्न-फॉलोइंग रिफ़ैक्टर (refactors)।
- अपरिचित कोड को समझाना।
- पूरे रेपो में मैकेनिकल स्वीप (mechanical sweeps) करना।
- टेस्ट और फिक्स्चर (fixtures) लिखना।
इन कार्यों के लिए AI का उपयोग करने से बचें:
- नए आर्किटेक्चर निर्णय लेना।
- पसंद (taste) या प्रोडक्ट संबंधी निर्णय लेना।
- कोई भी ऐसा काम जहाँ गलत होना महंगा पड़ सकता है।
- सुरक्षा-महत्वपूर्ण (security-critical) डिज़ाइन।
- शिप करने से पहले अंतिम समीक्षा (final review)।
अनुशासन सरल है:
- कार्यों का दायरा छोटा रखें। "यह फीचर बनाएं" न कहें। कहें "यह विशिष्ट बदलाव करें।"
- पहले ही कॉन्टेक्स्ट दें।
- हर आउटपुट को सत्यापित करें। बिल्ड चलाएं और डिफ (diff) पढ़ें।
- इसे एक जूनियर डेवलपर के PR की तरह रिव्यू करें। किसी इंसान द्वारा पढ़े बिना कभी भी कोड कमिट न करें।
- सीखी गई बातों को वापस अपनी कॉन्टेक्स्ट फ़ाइल में डालें।
लीवरेज (leverage) प्रॉम्प्ट में नहीं है। लीवरेज उस कॉन्टेक्स्ट में है जिसे आप बनाए रखते हैं।
वैकल्पिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi
