वाइब कोडिंग

थंबनेल

वाइब कोडिंग क्या है?

वाइब कोडिंग एक एआई-संचालित प्रोग्रामिंग विधि है जिसे आंद्रे कर्पाथी ने 2024/2025 में पेश किया था। वाइब कोडिंग के साथ, आप प्राकृतिक भाषा प्रॉम्प्ट में जो चाहते हैं उसका वर्णन करते हैं और आमतौर पर बड़े भाषा मॉडल (LLMs) आपके लिए अधिकांश, अक्सर सभी, कार्यशील कोड उत्पन्न करते हैं। यदि आपके पास समय है, तो वाइब कोडिंग की कला देखें जिसे रिक रुबिन ने अनुकूलित किया है ताकि आप वाइब कोडिंग का तरीका और अधिक जान सकें।

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

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

लेकिन यहाँ एक बात है। ये उपकरण और मॉडल पैसे खर्च करते हैं। पारंपरिक कोडिंग के साथ, आप ज्यादातर अपने समय के साथ भुगतान कर रहे हैं। वाइब कोडिंग के साथ, आप अपने बटुए के साथ भुगतान कर रहे हैं। और यदि आप नहीं जानते कि आप क्या कर रहे हैं, तो आप अपने बटुए और अपने समय दोनों के साथ भुगतान कर रहे हैं। इस पृष्ठ पर प्रत्येक परियोजना को बनाने में लगभग $10 से $20 का खर्च आता है। यदि आप बहुत प्रयोग कर रहे हैं तो यह बढ़ता है। मुझे लगता है कि जैसे-जैसे ये मॉडल सुधारते हैं और अधिक कुशल होते हैं, लागत अंततः कम हो जाएगी। फिलहाल, यह विचार करने लायक है जब आप तय कर रहे हैं कि क्या वाइब कोडिंग आपके प्रोजेक्ट के लिए समझ में आती है।

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

अनंत बंदर प्रमेय

लेखक

क्या आपने अनंत बंदर प्रमेय के बारे में सुना है? यह एक दार्शनिक विचार प्रयोग है जो कहता है कि यदि आप अनंत बंदरों को अनंत टाइपराइटर और अनंत समय देते हैं, तो अंततः उनमें से एक शेक्सपियर के संपूर्ण कार्यों का उत्पादन करेगा बस कुंजियों पर यादृच्छिक रूप से मारकर।

बेतुका लगता है, है ना? लेकिन यहाँ एक जंगली हिस्सा है। वाइब कोडिंग कुछ ऐसा ही है, सिवाय इसके कि बंदरों के बजाय हमारे पास एआई मॉडल हैं, टाइपराइटर के बजाय हमारे पास कोडिंग भाषाएँ हैं, और शेक्सपियर के बजाय हम कार्यशील सॉफ़्टवेयर प्राप्त कर रहे हैं।

इस पर विचार करें। बड़े भाषा मॉडल अरबों लाइनों के कोड, पैटर्न और उदाहरणों पर प्रशिक्षित होते हैं। जब आप एक LLM को एक प्रॉम्प्ट देते हैं, तो यह वास्तव में आपके समस्या को एक मानव डेवलपर की तरह चरण-दर-चरण “सोच” नहीं रहा है। इसके बजाय, यह प्रशिक्षण के दौरान सीखे गए पैटर्न के आधार पर अगला सबसे संभावित टोकन की भविष्यवाणी कर रहा है। यह मूल रूप से सांख्यिकीय रूप से सही प्रतीत होने वाले कोड को उत्पन्न करके शिक्षित अनुमान लगा रहा है।

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

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

प्रश्न उत्तर से अधिक महत्वपूर्ण है

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

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

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

जब वाइब कोडिंग पर्याप्त नहीं है

नवीनतम एआई मॉडल प्रभावशाली हैं, लेकिन ये कोई जादुई समाधान नहीं हैं। वाइब कोडिंग उत्पादन में काम कर सकती है, लेकिन केवल यदि आप इसके प्रति गंभीर हैं। आपको मजबूत यूनिट परीक्षण की आवश्यकता है। आपको यह स्पष्ट स्रोत चाहिए कि आपका सिस्टम क्या करना चाहिए। आपको यह पकड़ने की आवश्यकता है कि जब चीजें टूटती हैं या भटकती हैं। और आपको हैकर का मानसिकता की आवश्यकता है। बॉक्स के बाहर सोचें और अपने वाइब कोडेड प्रोजेक्ट को अनपेक्षित तरीकों से तोड़ने की कोशिश करें। कौन से किनारे के मामले हैं जिन्हें आपने नहीं माना? कौन सी सुरक्षा कमजोरियाँ किसी ने शोषण कर सकती हैं? यही वह चीज है जो केवल काम करने वाले कोड को वास्तव में मजबूत कोड से अलग करती है।

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

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

वाइब कोडेड प्रोजेक्ट्स

नीचे दो परियोजनाएँ हैं, सीढ़ियाँ (repo) और ट्रांसेंडेंटल (repo), जिन्हें मैंने वाइब कोडिंग की पद्धति का उपयोग करके बनाया। ज्यादातर प्रॉम्प्ट से उत्पन्न, मैनुअल कार्य संदर्भ प्रदान करने, डिबगिंग, और गिटहब पेजेस पर तैनात करने तक सीमित है। ये मजेदार स्थिर साइट प्रयोग हैं जो दिखाते हैं कि जब आप रचनात्मक विचारों को वाइब कोडिंग के माध्यम से कोड के साथ मिलाते हैं तो क्या संभव है। दोनों गिटहब पर होस्ट किए गए हैं।

परियोजनाएँ देखें

सीढ़ियाँ

ट्रांसेंडेंटल