अगले बिल्डरों को यह सिखाना
किसी को मेंटर कैसे करें — किसी जिज्ञासु टीनेजर या जूनियर इंजीनियर को — ताकि वे चैट बॉक्स के इर्द-गिर्द सिर्फ एक और रैपर बनाने के बजाय ऐसे सिस्टम बनाएं जो सच में काम आएं।
60 सेकंड में
अगले बिल्डरों को यह सिखाना
किसी को मेंटर कैसे करें — किसी जिज्ञासु टीनेजर या जूनियर इंजीनियर को — ताकि वे चैट बॉक्स के इर्द-गिर्द सिर्फ एक और रैपर बनाने के बजाय ऐसे सिस्टम बनाएं जो सच में काम आएं।
1 · सिर्फ़ प्रॉम्प्टिंग के बजाय डिटरमिनिस्टिक (deterministic) गार्डरेल्स
- एक लंबा, चतुर प्रॉम्प्ट।
- निर्देश के तौर पर "कृपया सटीक रहें" लिखना।
- हर गलती को ठीक करने के लिए एक और वाक्य जोड़ना।
- कुछ ऐसा बनाकर रिलीज़ करना जो सिर्फ डेमो में काम करता है।
- यह नहीं बता पाना कि मंगलवार को यह फेल क्यों हुआ।
- एक छोटा प्रॉम्प्ट और एक सख्त चेकर।
- सटीकता कोड के ज़रिए लागू की जाती है, अंग्रेज़ी में विनती करके नहीं।
- चेकिंग को और सख्त करके हर गलती को ठीक करना।
- कुछ ऐसा बनाना जो उन इनपुट्स पर भी काम करे जिनके बारे में किसी ने सोचा भी न हो।
- मंगलवार को जो हुआ उसे हूबहू दोबारा चलाकर दिखा पाना।
2 · स्टेट मैनेजमेंट (State management)
- 1
उनसे खुद यह साबित करवाएं
एक नए सेशन में मॉडल से उसका नाम पूछें। देखें कि उन्हें कैसे समझ आता है कि पिछली कोई भी बात याद नहीं रही। सिर्फ दस सेकंड, और यह एक घंटे के लेक्चर से ज़्यादा सिखा देता है। - 2
फिर उन्हें कागज़ वाला उदाहरण दें
इस बार मॉडल जो कुछ भी जानता है, वह कागज़ के उस एक पन्ने पर है जो आप उसे थमाते हैं। वह पन्ना पढ़ता है, जवाब देता है, और भूल जाता है। मेमोरी का मतलब है कि आप एक बेहतर पन्ना लिखें। - 3
फिर उनसे वह पन्ना बनवाएं
बातचीत की लिस्ट। फिर एक स्टेट ऑब्जेक्ट। फिर एक डेटाबेस। फिर रिट्रीवल। इसी क्रम में — हर कदम पर वे खुद किसी सीमा से टकराएंगे जिससे उन्हें अगले कदम की ज़रूरत महसूस होगी। - 4
फिर उन्हें खर्च दिखाएं
हर टर्न पर टोकन की गिनती प्रिंट करें। इसे बढ़ते हुए देखना कॉन्टेक्स्ट बजटिंग को इस तरह समझा देता है जैसा कोई लेक्चर नहीं समझा सकता।
3 · असली समस्याओं और सीमाओं को सुलझाना
| संकेत | यह क्यों मायने रखता है | उदाहरण |
|---|---|---|
| कोई इसे हर हफ्ते खुद अपने हाथों से करता है | असली और बार-बार होने वाली परेशानी | लेज़र (बही-खाते) से इनवॉइस का मिलान करना |
| गलती होने पर बड़ा नुकसान होता है | निश्चिंत होने के लिए कोई पैसे देने को तैयार होगा | नियमों (compliance) की समय-सीमा चूक जाना |
| सही या गलत की जांच की जा सकती है | आप एक वेरिफ़ायर बना सकते हैं | क्या यह संदर्भ किसी असली कानूनी मामले से जुड़ा है? |
| काम उबाऊ है, कोई रचनात्मक नहीं | पुराने ढर्रे को कोई बनाए नहीं रखना चाहता | सिर्फ तीन शर्तों के लिए 400 पन्ने पढ़ना |
| किसी विशेषज्ञ के पास काम अटका रहता है | इसका फायदा बिल्कुल साफ और मापने योग्य है | सुरक्षा से जुड़े सवालों (security questionnaires) की समीक्षा सिर्फ एक ही व्यक्ति कर सकता है |
पहला प्रोजेक्ट जो सब कुछ सिखा दे
- उनकी अपनी ज़िंदगी से कोई ऐसी चीज़ चुनें जिसे जांचा जा सके। जैसे मैथ्स के प्रैक्टिस सवालों को चेक करना। किसी CSV फ़ाइल को वैलिडेट करना। या यह चेक करना कि उनके कोड में टेस्ट शामिल हैं या नहीं।
- पहले इसे टीयर 1 के रूप में बनाएं — सिर्फ एक प्रॉम्प्ट। देखें कि यह कैसे गलत होता है।
- अब एक चेकर जोड़ें। देखें कि यह कैसे भरोसेमंद बन जाता है। यही सबसे बड़ा सबक है।
- इसमें एक लूप जोड़ें ताकि यह अपनी गलतियां खुद सुधारे। देखें कि यह किसी गड़बड़ी से कैसे उबरता है।
- इसमें स्टेट जोड़ें ताकि रीस्टार्ट होने पर भी डेटा न खोए।
- उनसे पूछें: अगर यह गलत हो जाए और कोई इसे न देख रहा हो, तो यह क्या नुकसान कर सकता है? फिर वह सीमा तय करें।
- सिर्फ इसके बाद ही, इसे किसी असली चीज़ पर काम करने दें।
उन्हें किन बातों से सावधान करें
- डेमो झूठ बोलते हैं। जो इनपुट आपने चुना है, उस पर तो कुछ भी काम कर जाएगा। उन इनपुट्स पर टेस्ट करें जो आपने नहीं चुने थे।
- आत्मविश्वास से भरे जवाब का मतलब सही जवाब नहीं होता। मॉडल के बात करने के अंदाज़ से उसकी सटीकता का कोई लेना-देना नहीं होता।
- दिलचस्प हिस्सा मॉडल नहीं है। बल्कि वह लूप, चेकर और सीमाएं हैं — जो सामान्य सॉफ़्टवेयर ही हैं जिन्हें लिखना वे पहले से जानते हैं।
- ऑटोनॉमी (स्वायत्तता) कोई स्विच नहीं, बल्कि एक डायल है। "सिर्फ सुझाव दें" से शुरुआत करें और धीरे-धीरे आगे बढ़ें (मॉड्यूल 13)।
- कुछ छोटा बनाएं और रिलीज़ करें जो सच में इस्तेमाल हो। एक असली यूज़र दस शानदार प्रोटोटाइप्स से बेहतर होता है।
और देखें और पढ़ें
लैब
बिगिनर के लिए पहला प्रोजेक्ट, जिसे आपने डिज़ाइन किया हो।
समस्या
आपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1आपके स्टूडेंट का tier-1 वर्शन उसके टेस्ट केसों पर बिल्कुल ठीक काम करता है। उसे verifier जोड़ने की कोई वजह नहीं दिखती। बहस से नहीं, एक प्रयोग के ज़रिए उसे समझाएं।दिखाएं
अक्सर पूछे जाने वाले सवाल
किस उम्र में इसे शुरू किया जा सकता है?
कोई भी जो for-loop लिख सकता है। यहाँ के सिद्धांत — प्रस्ताव देना और जाँचना, आपने क्या आज़माया उसे याद रखना, काम पूरा होने पर रुक जाना — बिल्कुल मुश्किल नहीं हैं। गणित वैकल्पिक है और सिस्टम बनाने के लिए ज़्यादातर ज़रूरी नहीं है।
क्या शुरुआत करने वालों को किसी फ़्रेमवर्क का इस्तेमाल करना चाहिए?
अपने पहले लूप के लिए तो बिल्कुल नहीं। बीस लाइनें खुद अपने हाथों से लिखने से समझ आता है कि फ़्रेमवर्क अंदर क्या कर रहा है। उसके बाद, जो भी समय बचाए उसका इस्तेमाल करें — असल बात समझना है, कोड की लाइनों की संख्या नहीं।
मैं उन्हें एक और चैटबॉट बनाने से कैसे रोकूँ?
उनके पहले प्रोजेक्ट के लिए चैट इंटरफ़ेस पर रोक लगा दें। इस बात पर ज़ोर दें कि आउटपुट कोई फ़ाइल, रिपोर्ट, पुल रिक्वेस्ट (pull request) या पास होने वाला टेस्ट हो। इससे सोचने और डिज़ाइन करने का पूरा नज़रिया बदल जाता है।
अगर वे इसके बजाय किसी मॉडल को ट्रेन करना चाहते हैं तो?
उन्हें ट्रैक E, मॉड्यूल 36 — छोटे मॉडल वाले प्रोजेक्ट पर भेजें। एक दोपहर 10M-पैरामीटर वाले मॉडल को ट्रेन करना महीनों पढ़ने से ज़्यादा सिखा देता है, और इसका खर्च भी लगभग कुछ नहीं होता।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।