वाइब कोडिंग

थंबनेल

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

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

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

ऐसे बहुत सारे टूल्स मौजूद हैं जो वाइब कोडिंग को अधिक सहज बनाते हैं। Cursor IDE, Claude Code CLI, GitHub Copilot, Loveable, Replit, v0, और अन्य आपको अपने वातावरण में सीधे एआई के साथ काम करने देते हैं या वाइब कोडिंग के लिए समर्पित इंटरफ़ेस प्रदान करते हैं। व्यक्तिगत रूप से, मैंने इन प्रोजेक्ट्स के लिए अधिकतर Cursor IDE और Claude Code CLI का ही उपयोग किया।

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

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

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

लेखक

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

प्रोजेक्ट देखें

सीढ़ियाँ

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