3 पॉइंट द्वारा GN⁺ 2025-02-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • LLM-आधारित डेवलपमेंट एनवायरनमेंट में उपयोगकर्ता खुद कोड लिखे बिना, बातचीत और कमांड के जरिए परिणाम बनाने के नए ‘वाइब कोडिंग’ कॉन्सेप्ट का प्रस्ताव
  • Cursor Composer और SuperWhisper का उपयोग करके वॉइस कमांड से कोड में बदलाव, और “साइडबार पैडिंग को आधा कर दो” जैसी सरल रिक्वेस्ट से काम पूरा
  • कोड बदलावों के diff को पढ़े बिना ‘Accept All’ से एक साथ मंजूरी, और error message को ज्यों का त्यों कॉपी-पेस्ट करके हल करने वाले ऑटो-फिक्स फ्लो का उपयोग
  • कोड धीरे-धीरे इतना जटिल हो जाता है कि उसे समझना मुश्किल हो जाता है, लेकिन वीकेंड प्रयोग प्रोजेक्ट स्तर पर यह पर्याप्त रूप से काम करता है
  • रीयल-टाइम में दो LLM के मुकाबले वाला Battleship गेम भी इसी तरीके से बनाया गया, और “4o, 4o-mini से ज़्यादा मजबूत है” जैसी टिप्पणी का उल्लेख

वाइब कोडिंग की अवधारणा

  • “वाइब कोडिंग(Vibe Coding)” ऐसा डेवलपमेंट तरीका है जो कोड लिखने की क्रिया से ज़्यादा फ्लो और एहसास पर केंद्रित है
    • उपयोगकर्ता कोड की बारीक संरचना की चिंता किए बिना, LLM द्वारा सुझाए गए परिणामों को वैसे ही स्वीकार करता है
    • “यहां तक कि आप भूल जाते हैं कि कोड मौजूद भी है” जैसी अभिव्यक्ति के जरिए AI-केंद्रित डेवलपमेंट अनुभव पर ज़ोर

इस्तेमाल किए गए टूल और काम करने का तरीका

  • Cursor Composer और Sonnet मॉडल का उपयोग करके कोड जनरेशन किया गया
    • SuperWhisper के जरिए आवाज़ में Composer से बातचीत, और कीबोर्ड इनपुट का लगभग उपयोग नहीं
  • “साइडबार पैडिंग को आधा कर दो” जैसी सरल कमांड से बदलाव की रिक्वेस्ट
    • कोड बदलावों के diff की समीक्षा किए बिना ‘Accept All’ से मंजूरी
    • error message को बिना अलग से समझाए कॉपी-पेस्ट कर देने पर ज़्यादातर मामलों में समाधान हो जाता है

कोड प्रबंधन और सीमाएँ

  • कोड बड़ा होने के साथ यह समझ से बाहर होने लायक जटिल होता जाता है
    • अगर bug ठीक नहीं होता, तो बायपास करना या मनमाने बदलावों की रिक्वेस्ट दोहराना जैसी विधियों से समस्या हटाई जाती है
  • यह तरीका छोटे समय के, प्रयोगात्मक प्रोजेक्ट्स के लिए उपयुक्त है, लेकिन जटिल सिस्टम्स में इसकी सीमाएँ हैं

प्रयोग प्रोजेक्ट: Battleship गेम

  • लगभग एक घंटे की “वाइब कोडिंग” से Battleship गेम बनाया गया
    • इसमें दो LLM मॉडल रीयल-टाइम में एक-दूसरे से मुकाबला करते हैं
    • “4o, 4o-mini से ज़्यादा मजबूत है” जैसी अनौपचारिक ऑब्ज़र्वेशन का उल्लेख
  • ठोस आँकड़े या performance comparison के नंबर अभी उपलब्ध नहीं हैं

समग्र संदर्भ

  • LLM की प्रगति यह दिखाती है कि डेवलपर बिना कोड के हर विवरण को सीधे संभाले भी तेज़ी से काम करने वाले applications बना सकते हैं
  • “वाइब कोडिंग” को AI-केंद्रित नए प्रोग्रामिंग पैरेडाइम के एक प्रयोगात्मक उदाहरण के रूप में देखा जा सकता है

1 टिप्पणियां

 
GN⁺ 2025-02-04
Hacker News की राय
  • हर साल लगता है कि सॉफ़्टवेयर के quality standards इससे नीचे नहीं जा सकते, लेकिन हर बार पता चलता है कि यह सोच गलत थी

    • समझ नहीं आता कि जो काम ठीक से करना ही नहीं है, उसे करने की ज़रूरत क्यों है
    • यह वैसा है जैसे लकड़ी को ढंग से काटे बिना उसे ठोक-पीटकर कुर्सी जैसी कोई चीज़ बना देना और फिर उस पर बैठना
    • कुछ लोग कहते हैं, “कभी-कभी बस बैठने की जगह चाहिए होती है”, लेकिन फिर भी कम-से-कम एक न्यूनतम स्तर की पूर्णता तो होनी चाहिए
    • मैंने ऐसे लोगों को देखा है जो अंग्रेज़ी में आत्मविश्वास की कमी के कारण LLM पर पूरी तरह निर्भर हो गए, और नतीजतन अपनी अभिव्यक्ति की क्षमता और आत्मविश्वास खो बैठे
    • सॉफ़्टवेयर में यह बहुत कम पता होता है कि आप शुरू से ही ‘कुर्सी’ बना रहे हैं
      • आखिरकार यह exploratory programming या prototyping का ही दूसरा नाम है
    • कई बार मंज़िल महत्वपूर्ण नहीं होती, बस कहीं जल्दी पहुँच जाने की इच्छा होती है
      • यह उस थके हुए इंसान को डाँटने जैसा है जो थोड़ी देर के लिए फर्श पर बैठ गया हो
    • आजकल यह वास्तविक एहसास ही गायब होता दिख रहा है कि code असली hardware पर चलता है
      • कई युवा developers code के भौतिक परिणामों को समझ नहीं पाते
      • मुझे लगता है कि AI और उसका hype किसी दिन टूट जाएगा, लेकिन quality बचाए रखने की लड़ाई जारी रहनी चाहिए
  • मैं भी इस तरह के हल्के प्रोजेक्ट्स करते समय मज़ा महसूस करता हूँ

    • लेकिन security को कभी भी हल्के में नहीं लिया जा सकता
    • AI coding assistants ने कई बार बिना authentication वाले API बना दिए, या XSS जोखिम वाले templates तैयार किए
    • मैं रोज़ LLM इस्तेमाल करता हूँ, लेकिन मुझे पूरा भरोसा है कि security engineer की भूमिका आगे भी भरपूर बनी रहेगी
  • इस approach को देखकर लगता है जैसे कोई ‘खाते-खाते coding करने वाला’ व्यक्ति deliverable जमा कर रहा हो

  • चिंता है कि अगर coding की शुरुआत इसी तरह की जाए, तो मुश्किल समस्याएँ सुलझाने की क्षमता कमज़ोर पड़ जाएगी क्या

    • लेकिन कुछ लोग कहते हैं कि ज़रूरी हिस्सों पर अब भी हाथ से ध्यानपूर्वक काम किया जा सकता है
    • इसके बदले नई चीज़ें आज़माने की entry barrier कम हो जाती है, जिससे कहीं ज़्यादा स्वतंत्र रूप से explore किया जा सकता है
  • आजकल ऐसे AI-native developers बढ़ रहे हैं जो शुरू से ही इसी तरीके से सीख रहे हैं

    • अब यह coding से ज़्यादा AI coder management का दौर लगता है
  • “प्राकृतिक भाषा के निर्देशों से बदला जा सकने वाला WYSIWYG” जैसे tools में, RAD tools की सीमाओं की तरह अचानक कठिनाई की खड़ी दीवार आ सकती है

  • कुछ लोग कहते हैं, “इस तरह सीखना नहीं चाहिए,” लेकिन मेरा मानना है कि मेहनत और पूर्णता के अनुपात को संतुलित करना ज़रूरी है

    • Vibe Coding सीखने और exploration के लिए एक अच्छा तरीका है
    • यह effort–quality spectrum का एक नया आयाम खोल सकता है
    • लेकिन Fred Brooks की बात की तरह, अगर पहली कोशिश कमजोर हो तो उसे बेझिझक छोड़ सकना चाहिए
      • अगर LLM द्वारा बनाई गई पहली implementation से चिपक गए, तो समस्या को सही तरह समझे बिना ही गलत baseline से बँध सकते हैं
  • मुझे लगता है कि CSS तक तो Vibe Coding काफ़ी है

    • लेकिन कुछ लोग कहते हैं कि accessibility और responsive design को ध्यान में रखें तो बात इतनी सरल नहीं है
    • अच्छी CSS उल्टा ज़्यादा संक्षिप्त होती है और maintain करना आसान होता है
    • AI को बीच में लाना उल्टा रुकावट बन सकता है
    • एक और व्यक्ति ने कहा कि उसने Claude के साथ छोटी web utility पूरी तरह implement की है
    • किसी और ने बताया कि उसने React-आधारित search DSL या GUI pipeline editor भी इसी तरह बनाया, और यह approach सिर्फ साधारण CSS तक सीमित नहीं है