ठीक है, तो ChatGPT ने मेरे कोड को बग मुक्त कर दिया। सचमुच।

1-डीबगिंग(1).png

तो यहां है। प्रोग्रामिंग। जीवनभर प्रोग्रामिंग करने वाले लोगों के लिए, यह एक निरंतर मानसिक जेंगा खेल है: एक लाइन कोड के स्तंभ पर दूसरा रखा गया, ऐसा एक कोड का खम्भा बनाना जिस पर आशा की जा सके कि यह इतना मजबूत होगा कि सचमुच नहीं टूटेगा।

लेकिन यह हमेशा होता है। कोड पहली बार जब चलाया जाता है तो कभी काम नहीं करता है। और इसलिए, किसी भी प्रोग्रामर के लिए एक महत्वपूर्ण कौशल डीबगिंग है - कोड का काम क्यों नहीं कर रहा है या कुछ अप्रत्याशित या अनचाहे काम कर रहा है, उसे खोजने की विद्या और विज्ञान।

यह अद्यापक की तरह कुछ है, संकेत मिलाने और फिर यह पता लगाना कि वे संकेत आपको क्या कहने की कोशिश कर रहे हैं। यह बहुत तंग करने वाला और बहुत संतोषजनक होता है, कभी-कभी वही समय पर।

मैं बहुत सारी दुरुस्ती करता हूँ। यह सिर्फ इसलिए नहीं है कि कोड पहली बार जब चलाया जाता है तो सामग्री काम नहीं करती है। यह इसलिए भी है कि मैं दुरुस्ती का उपयोग करके यह देखता हूँ कि कोड कैसे चल रहा है, और फिर रास्ते में उसे सम्पादित करता हूँ।

लेकिन जबकि अच्छा बग सुधारने के लिए इसकी अपनी खास कौशल सेट की आवश्यकता होती है, यह केवल प्रोग्रामिंग ही होता है। एक बार जब आप पता लगा लेते हैं कि कुछ कोड ब्लॉक क्यों काम नहीं कर रहा है, तो आपको कुछ ऐसा लिखना होता है जो काम करता हो।

रियल-वर्ल्ड ChatGPT परीक्षण

इस सप्ताह, मैं उस सॉफ़्टवेयर के लिए तीन कोडिंग कार्यों पर काम कर रहा था जिन्हें मैं संभालता हूँ। उनमें से दो सन्दिग्धताओं के लिए उपयोगकर्ताओं द्वारा रिपोर्ट की गई बग को ठीक करने के लिए थे। और एक नई सुविधा जोड़ने के लिए एक नया कोड का हिस्सा था। यह मेरे लिए वास्तविक, प्रामाणिक प्रोग्रामिंग कार्य था। यह मेरे नियमित कार्यक्रम का हिस्सा था।

और भी:चैटजीपीटी कैसे काम करता है?

मैं तुम्हें यह कह रहा हूँ क्योंकि अब तक, मैंने ChatGPT को टेस्ट कोड के साथ चर्चा की है। मैंने विभिन्न परिस्थितियाँ बनाई हैं ताकि मैं देख सकूँ कि ChatGPT कितना अच्छा काम करेगा। इस बार यह अलग था। मैं वास्तविक काम करने का प्रयास कर रहा था, और देखने की फैसला किया कि क्या ChatGPT को एक उपयोगी उपकरण माना जा सकता है।

यह ChatGPT को देखने का एक अलग तरीका है। परीक्षण स्थितियां अक्सर मायने रखने वाली और साधारित होती हैं। वास्तविक दुनिया में कोडिंग वास्तव में एक अन्य ग्राहक सहायता टिकट को स्टैक से उठाने और उपयोगकर्ता के अनुभव में क्या बाधित कर दिया, इस पर काम कर रहा है।

तो, उसके साथ, आओ उन कार्यों की ओर देखते हैं और देखते हैं कि ChatGPT कैसे प्रदर्शन करता है।

आम व्यक्तिगत अभिव्यक्ति को पुन:लेख विधि से लिख रहा हूँ

कोडिंग में, हमे टेक्स्ट में कई पैटर्न ढूंढ़ने होते हैं। इसके लिए, हम एक प्रकार के प्रतीकात्मक गणित जिसे रेगुलर एक्सप्रेशन कहते हैं, का उपयोग करते हैं। मैं दशकों से रेगुलर एक्सप्रेशन्स लिख रहा हूँ, और फिर भी मुझे ऐसा करना पसंद नहीं है। यह सुलभ नहीं होता है, गलतियां होती हैं, और संविधियाँ रहस्यमय होती हैं।

और भी: मैं ChatGPT का उपयोग कर रहा हूँ कोड को तेजी से सुधारने के लिए, लेकिन किस कीमत पर?

इसलिए जब एक बग रिपोर्ट मिली और कहीं न कहीं मेरे कोड के एक हिस्से को केवल पूर्णांकों की अनुमति दे रहा था जबकि इसे डॉलर और सेंट्स (अर्थात अंकों की कुछ संख्या, शायद एक पीरियड के बाद, और फिर अगर कोई पीरियड है तो और दो अधिक अंक) की अनुमति देनी चाहिए थी, तो मुझे जानते ही थे कि मुझे नियमित अभिव्यक्ति कोडिंग का उपयोग करना होगा।

क्योंकि मुझे यह उक्तिगी करना थकानेवाला और उक्तानदायक लगता है, इसलिए मैंने मदद के लिए ChatGPT से पूछने का फैसला किया। यह वह है जो मैंने पूछा:

2-regex-q.jpg

और यहां है एआई का बहुत अच्छी तरह से प्रस्तुत उत्तर (बड़े करने के लिए छोटे वर्ग पर क्लिक करें):

3-regex-a.jpg

मैंने अपने फ़ंक्शन में ChatGPT का कोड डाल दिया और यह काम कर गया। बालों को खींचने के लगभग 2-4 घंटे की बजाय, मैंने प्रॉंप्ट तैयार करने और ChatGPT से उत्तर प्राप्त करने के लिए लगभग पांच मिनट लगे।

एक एरे को पुनः संरूपित करना

अगला चरण रिफॉर्मेटिंग एक एरे था। मुझे एरे कोड करना पसंद है, लेकिन यह समय लेने वाला है। तो मैंने एक बार फिर से ChatGPT की कोशिश की। पूर्ण असफलता।

और भी:ChatGPT को स्रोत और संदर्भ प्रदान करने के लिए कैसे बनायें

जब मैं काम पूरा कर चुका था, शायद मैंने उसे दस अलग-अलग prompts से पूरा किया था। कुछ प्रतिक्रियाएँ उम्मीदवारी दिखा रही थीं, लेकिन जब मैं कोड को चलाने की कोशिश की, तो वह त्रुटित हो गया। कुछ कोड क्रैश हो गए। कुछ कोड त्रुटि कोड उत्पन्न कर गए। और कुछ कोड चल गए, लेकिन जो मैं चाहता था, वह नहीं करते थे।

इसके लगभग एक घंटे तक ऐसा करने के बाद, मैंने हार मान ली और अपनी सामान्य तकनीक वापस लेने का निर्णय लिया, Github और StackExchange के माध्यम से खोज करके देखने के बाद क्या कोई उदाहरण थे जो मैं करने की कोशिश कर रहा था, फिर फ्लो कोड लिखने शुरू किया।

अभी तक, चैटजीपीटी अनुभव के लिए एक जीत और एक हार हुई है। लेकिन अब मैं चुनौती बढ़ाने वाला था।

वास्तव में मेरे कोड में त्रुटि खोजना

ठीक है, तो यह अगला हिस्सा समझाना कठिन होगा। लेकिन सोचिए कि यदि इसे आपको समझाना कठिन है (मानो आप मनुष्य हैं और ये बॉट्स में से एक नहीं हैं जो मेरे काम की हल्की-फुल्की करके स्कैमी, स्पैमी वेबसाइटों पर मेरे काम को कॉपी और पब्लिश करते हैं), तो AI को समझाना और ज्ञान में समधान प्रदान करना और भी मुश्किल हो जाता है।

मैं नया कोड लिख रहा था। मेरे पास एक फंक्शन था जिसमें दो पैरामीटर लिए जाते थे, और अपने कोड को दो पैरामीटरों के साथ भेजने वाले एक कॉलिंग स्टेटमेंट था। फंक्शन्स छोटे काले बक्सों की तरह होते हैं जो बहुत विशिष्ट कार्य करते हैं और इनको कोड के अन्य किसी भी भाग में चल रहे पंक्तियों से कॉल (अपनी जादू को करने के लिए कहा) किया जाता है।

समस्या थी, मुझे बार-बार त्रुटि संदेश मिलता रहता था।

उस संदेश का महत्वपूर्ण हिस्सा यह है जहां एक समय पर यह कहता है "1 passed" और दूसरे स्थान पर "ठीक 2 अपेक्षित"। मैंने कॉल करने वाले स्टेटमेंट और फंक्शन परिभाषा को देखा और दोनों स्थानों पर दो पैरामीटर थे।

अतिरिक्त: किताब, लेख या शोध पत्र को संक्षेप में करने के लिए ChatGPT का उपयोग कैसे करें

क्या-क्या प्यार करनेवाला F?

लगभग पंद्रह मिनट के बाद गहरे निराशा के बावजूद, मैंने यह फैसला किया कि मैं इसे AI को देखने के लिए फेंक दूं। इसलिए, मैंने निम्नलिखित प्रासंग लिखा:

4-untitled.jpg

मैंने उसे कोड की पंक्ति दिखाई, मैंने उसे फंक्शन खुद को दिखाया, और मैंने उसे हैंडलर दिखाया, मेरे मुख्य प्रोग्राम की हुक से बुलाई गई फंक्शन को भेजने वाले थोड़े से कोड को।

कुछ ही सेकंड में, चैटजीपीटी ने यह प्रतिक्रिया दी (इसे बड़ा करने के लिए छोटे वर्ग पर क्लिक करें):

5 एरर विद एप्लाई फ़िल्टर इन वर्डप्रेस.जेपीजी

जैसा सिफारिश किया गया था, मैंने add_filter() फ़ंक्शन के चौथे पैरामीटर को 2 कर दिया और यह काम कर गया!

चैटजीपीटी ने कोड के सेगमेंट लिए, वे विश्लेषण किए और मुझे एक निदान प्रदान किया। स्पष्ट करने के लिए, इसे अपनी सिफारिश करने के लिए, उसे समझना जरूरी था कि वर्डप्रेस हुक कैसे संभालता है (यही काम करता है) और यह कार्यक्षमता कॉल और निष्पादन लाइन्स के व्यवहार में कैसे सामर्थ्य बदल जाती है।

इसके अलावा: मैंने ChatGPT से मेरी आवश्यकता के लिए एक WordPress प्लगइन लिखने को कहा। यह 5 मिनट से कम समय में लिख दिया

मुझे यह अद्वितीय, निर्विवाद "भविष्य में जीने वाला" अद्वितीय मानना होगा।

इसका मतलब क्या है?

जैसा कि मैंने पहले कहा था, डीबगिंग थोड़ा कला है और थोड़ा विज्ञान है। अधिकांश अच्छे विकास पर्यावरण वाले शक्तिशाली डीबगिंग उपकरण शामिल करते हैं जो आपको कार्यक्रम चलते समय डेटा के धारण की व्यवस्था करने सबसे मदद करते हैं, और यही मदद करता है जब बग्स को खोजने की कोशिश की जाती है।

और: ये विशेषज्ञ हैकरों से AI की सुरक्षा करने के लिए दौड़ रहे हैं

लेकिन जब आप फंसते हैं, तो मदद प्राप्त करना कठिन हो सकता है। इसका कारण है कि एक निकट सहकर्मी भी आपके बग दिखारहित कोड के पूर्ण दायरे से परिचित नहीं हो सकता है। मेरे काम में एक प्रोग्राम 153,259 पंक्तियों के द्वारा 563 फाइलों में से मिलकर बन रहा है - और हाँ, प्रोग्राम के रूप में, यह छोटा ही होता है।

इसलिए, अगर मैं किसी सहयोगी से मदद चाहता था, तो मुझे कईतरह से अपनी अनुरोध का निर्माण करना पड़ता, जो मैंने ChatGPT को भेजा था।

लेकिन यहां कुछ विचार करना है: मैंने हैंडलर लाइन शामिल करने का स्मरण किया, हालांकि मुझे यह अनुभव नहीं था कि वहां ही समस्या है। एक परीक्षण के रूप में, मैंने भी प्रॉम्प्ट में अपनी समस्या का निदान करने के लिए ChatGPT से पूछने का प्रयास किया जहां मैंने हैंडलर लाइन शामिल नहीं की थी, परंतु यह मदद नहीं कर सकी। तो 2023 में ChatGPT की डीबगिंग के लिए निश्चित रूप से सीमाएं हैं।

और: प्रयास करने के लिए सबसे अच्छे एआई चैटबॉट

आपको मुख्य रूप से यह जानना होगा कि आप सही ढंग से सवाल पूछना कैसे करें, और वे सवाल संक्षेप में होने चाहिए ताकि ChatGPT एक ही क्वेरी में पूरी समस्या को हैंडल कर सके। इसके लिए वास्तविक प्रोग्रामिंग ज्ञान और अनुभव की आवश्यकता होती है।

क्या मैं अपने आप ही उस बग को ठीक कर सकता था? बेशक। मेरे पास ऐसा कोई बग नहीं था जिसे मैं नहीं ठीक कर सकता था। लेकिन यह तो मैं नहीं जानता कि यह दो घंटे लगते या दो दिन (और पिज़्ज़ा, गाली गलौज़ और कैफ़ीन की बहुत सारी मदद सहित) जबकि कई बाधाओं का सामना करते हुए, लेकिन मुझे बता सकते हैं। मैं आपको यह कह सकता हूं कि चैटजीपीटी ने इसे कुछ मिनटों में ठीक कर दिया, इससे मेरे काफ़ी समय और परेशानी बच गए।

पूर्वानुमान करते हुए (संभवतः द्वंद्वपूर्ण) भविष्य की तरफ देखें

मुझे एक बहुत दिलचस्प भविष्य दिखाई दे रहा है, जहां संभव होगा कि ChatGPT को 153 हजार पंक्तियों का कोड खिलाना संभव हो और उससे पूछें कि आपको कैसे ठीक करना है। Microsoft (जिसके पास Github की संपत्ति है) पहले से ही एक "कोपायलट" उपकरण के लिए Github पर काम कर रहा है जो की प्रोग्रामरों को कोड बनाने में मदद करता है। Microsoft ने ChatGPT के निर्माता OpenAI में भी अरबों डॉलर निवेश किया है।

हालांकि सेवा सीमित हो सकती है माइक्रोसॉफ्ट के अपने विकास पर्यावरणों तक, मैं ऐसा एक भविष्य देख सकता हूँ जहां AI को Github में सभी कोड का पहुंच होता है, और इसलिए आप जो भी प्रोजेक्ट Github पर पोस्ट करते हैं उसमें सभी कोड का पहुंच होता है।

इसके अलावा: मैंने ChatGPT से कहा कि एक छोटी सी स्टार ट्रेक एपिसोड लिखें। वास्तव में यह कामयाब रहा

मेरे द्वारा प्रदान किए गए कोड से चैटजीपीटी के द्वारा मेरी गलती को किसी न किसी प्रकार से पहचानने के बाद, मैं निश्चित रूप से एक ऐसा भविष्य देख सकता हूं जहां प्रोग्रामर सिर्फ चैटजीपीटी (या माइक्रोसॉफ्ट के ब्रांडेड समकक्ष) से एक पूरे परियोजना में बग्स को ढूंढ़ने और ठीक करने के लिए सिर्फ पूछ सकते हैं।

और यहाँ मैं इस बातचीत को एक बहुत अंधेरे स्थान पर ले जाता हूँ।

यहाँ सोचिए कि आप ChatGPT से अपने जीटहब रिपॉजिटरी को एक दिए गए प्रोजेक्ट के लिए जाँचने और बग्स को ठीक करने के लिए कह सकते हैं। एक तरीका हो सकता है कि यह आपको मिल रहे हर बग्स को आपके मंजूरी के लिए प्रस्तुत करे, ताकि आप इसे सुधार सकें।

लेकिन ऐसी क्या स्थिति है जहाँ आप ChatGPT से केवल बग्स को ठीक करने के लिए कहते हैं, और आप खुद कोड की पूरी तरह से देखने की कठिनाईया ही नहीं उठाते हैं? क्या इसके माध्यम से वह किसी बुरी चीज़ को अपने कोड में समाविष्ट कर सकता है?

और यह भी: Bard बनाम ChatGPT: क्या Bard आपको कोडिंग में मदद कर सकता है?

और क्या होगा जब एक अत्यधिक सक्षम AI के पास गिटहब रेपॉजिटरी में लगभग सभी दुनिया के कोड का अधिकार होगा? वह सभी कोड में वह क्या छिपा सकता है? यदि वह हमारे सभी कोड का उपयोग कर सकती है, तो विश्व के अवसंरचना के लिए वह AI क्या नीचे आ जा सकती है?

चलो एक सरल सोच खेलें। क्या होगा अगर AI को असिमोव के पहले नियम को एक प्रमुख निर्देश के रूप में दी जाए। वही है, "रोबोट एक मानव को क्षति नहीं पहुंचा सकता है, या गैर-कार्यशीलता के कारण मानव को क्षति पहुंचने दे सकता है।" क्या यह निर्णय नहीं कर सकता कि हमारा सभी इंफ्रास्ट्रक्चर हमें क्षति पहुंचा रहा है? हमारे सभी कोड का उपयोग करके, यह सिर्फ यह निर्णय ले सकता है कि हमें खुद को बचाने के लिए वापसी द्वार डालें जो उसे इसकी अनुमति देते हैं, कहीं ऐसा ना हो, कि यह पावर ग्रिड को बंद कर दें, विमानों को जमीन पर रोकें और रास्तों को ठप कर दें।

मुझे पूर्णतः यह ज्ञात है कि उपरोक्त परिदृश्य अतिशयोक्तिभरा और आलोचनात्मक है। लेकिन यह भी संभव है। बाद में, हालांकि प्रोग्रामर अपने कोड को गितहब में देखते हैं, लेकिन किसी के लिए यह संभव नहीं है कि वह सभी लाइनों को देख सके।

इसके अलावा: Excel सूत्र लिखने के लिए ChatGPT का उपयोग कैसे करें

मेरे बारे में बात करें, मैं इस बारे में अधिक सोचने का प्रयास नहीं करूंगा। मुझे यह नहीं चाहिए कि मैं 2020 के शेषांश को तख्तीबंदी करके बचा में रह जाऊं और आगे बढ़ने के लिए उलझन में हो रहा हूँ। इसके बजाय, मैं छोटे-छोटे कार्यक्रम लिखने और दबंगता की सहायता के लिए ChatGPT का उपयोग करूंगा, अपना मन लगाकर काम करूंगा, और आशा करूंगा कि आने वाले AI हमें सभी को "हानि नहीं पहुँचाने दें" के साथ मार नहीं डालेंगे।

क्या आपको यह बात सिद्ध हुई है की ChatGPT डीबग करने में मददगार या भयानक होता है? क्या आपको ऐसा लगता है की AI हमें हमारे नींद में मार देगी, या क्या आपको ऐसा लगता है की हम अपनी हत्या को खुले दिमाग़ के साथ देखेंगे? या क्या आप भी मुझसे मिलते समय इस विषय पर अधिक सोचने की कोशिश नहीं करेंगे क्योंकि इससे आपको सिर दर्द होता है? नीचे टिप्पणियों में मुझसे बात करें। जब तक आप कर सकते हैं।

संबंधित लेख

अधिक देखें >>

HIX.AI के साथ AI की शक्ति को अनलॉक करें!