← 返回列表

AI श्रृंखला साक्षात्कार 14: वाइब कोडिंग और स्पेक कोडिंग में अंतर?

यह अधिकांश प्रोग्रामर्स को सामना करने वाली समस्या है। Vibe Coding और Spec Coding वर्तमान में बड़े भाषा मॉडल (LLM) की सहायता से प्रोग्रामिंग करते समय दो बिल्कुल अलग कार्य प्रतिमान हैं। उनका मुख्य अंतर यह है: आप AI को जो \"इनपुट\" देते हैं, वह अस्पष्ट अनुभूति है या सटीक विनिर्देश


पहला: खाना पकाने के उदाहरण से वाइब कोडिंग और स्पेक कोडिंग के अंतर को सरलता से समझना

  • Vibe Coding = आप अपने दोस्त से कहते हैं \"मुझे मसालेदार खाना चाहिए\", दोस्त अपनी समझ से एक डिश बनाता है, आप चखकर कहते हैं \"थोड़ा और नमक\", वह फिर नमक डालता है। स्वाद अद्भुत हो सकता है, लेकिन कोई और दोस्त बनाए तो बिल्कुल अलग होगा।
  • Spec Coding = आप एक रेसिपी लिखते हैं: \"पीक्सियान डूबान 20g, बीफ स्लाइस 150g, अजवाइन के टुकड़े 50g, तेज़ आंच पर 2 मिनट भूनें, आंच बंद करने से पहले 3g चीनी डालें\"। अलग-अलग रसोइए इस रेसिपी का पालन करें तो स्वाद लगभग एक जैसा होता है।

दूसरा: दोनों की परिभाषा

आयाम Vibe Coding Spec Coding
उपनाम अनुभूति-संचालित प्रोग्रामिंग, प्रॉम्प्ट इम्प्रोवाइज़ेशन विनिर्देश-संचालित प्रोग्रामिंग, दस्तावेज़-प्रथम
इनपुट प्रारूप \"मेरे लिए एक सुंदर लॉगिन पेज बनाओ, जिसमें टेक फील हो\" \"लॉगिन पेज में ईमेल/पासवर्ड इनपुट बॉक्स, 'मुझे याद रखें' चेकबॉक्स, सबमिट बटन शामिल हो; फ्रंटएंड React + Tailwind का उपयोग करे; फॉर्म सत्यापन नियम: ईमेल प्रारूप, पासवर्ड लंबाई ≥8; विफलता पर लाल संकेत दिखाएं……\"
AI उपयोग विधि संवादात्मक, पुनरावृत्तीय: मोटी दिशा देना → आउटपुट देखना → फिर सूक्ष्म समायोजन इंजीनियरिंग: पहले विस्तृत PRD/तकनीकी विनिर्देश लिखना → AI विनिर्देश के आधार पर कोड उत्पन्न करता है
मानव भागीदारी कम: AI की रचनात्मकता पर निर्भरता, मनुष्य केवल \"क्या अनुभूति सही है\" के लिए जिम्मेदार उच्च: मनुष्य पहले डिज़ाइन/आर्किटेक्चर पूरा करता है, AI मुख्य रूप से निष्पादन करता है
विशिष्ट परिदृश्य त्वरित प्रोटोटाइप, व्यक्तिगत छोटे उपकरण, UI अन्वेषण, रचनात्मक कोडिंग उत्पादन-स्तरीय सिस्टम, टीम सहयोग, रखरखाव योग्य/परीक्षण योग्य कोड की आवश्यकता

तीसरा: दोनों की कार्यप्रवाह तुलना

Vibe Coding प्रक्रिया

  1. अस्पष्ट विचार: \"मैं एक वेब स्क्रैपर लिखना चाहता हूँ जो Zhihu हॉट लिस्ट प्राप्त करे।\"
  2. पहला प्रॉम्प्ट लिखें: सीधे AI से कोड जनरेट करने के लिए कहें।
  3. चलाएं → त्रुटि → त्रुटि वापस चिपकाएं → AI संशोधित करे।
  4. लगता है इंटरफ़ेस बदसूरत है → \"उस बटन को थोड़ा गोल करें, बैकग्राउंड को ग्रेडिएंट नीला बदलें\" → AI बदलता है।
  5. कमी कार्यक्षमता → \"CSV में सहेजने की सुविधा जोड़ें\" → AI जोड़ता है।
  6. चरण 3-5 दोहराएं जब तक \"लगता है लगभग ठीक है\"।

Spec Coding प्रक्रिया

  1. विनिर्देश दस्तावेज़ लिखें: इनपुट/आउटपुट, डेटा संरचना, त्रुटि प्रबंधन, प्रदर्शन आवश्यकताएँ, गैर-कार्यात्मक आवश्यकताएँ (जैसे लॉगिंग, रेट लिमिटिंग) स्पष्ट करें।
  2. विनिर्देश को कार्यों में विभाजित करें: उदाहरण कार्य 1: fetch_hot_topics() फ़ंक्शन को लागू करें, spec में API हस्ताक्षर का पालन करें।
  3. प्रत्येक कार्य AI से लागू करवाएं: प्रॉम्प्ट में फ़ंक्शन हस्ताक्षर, टिप्पणियाँ, परीक्षण मामलों की अपेक्षा शामिल करें।
  4. मानवीय समीक्षा और सत्यापन: सुनिश्चित करें कि विनिर्देश के अनुसार है, यूनिट टेस्ट चलाएं।
  5. एकीकरण और प्रतिगमन

चौथा: फायदे और नुकसान की तुलना

विशेषता Vibe Coding Spec Coding
शुरुआती गति बहुत तेज़, मिनटों में प्रोटोटाइप धीमी, दस्तावेज़ लिखने, कार्य विभाजित करने की आवश्यकता
कोड गुणवत्ता कम (संभावित रूप से अनावश्यक, असंगत, छिपे बग) उच्च (पढ़ने योग्य, परीक्षण योग्य, आर्किटेक्चर के अनुरूप)
रखरखाव क्षमता खराब, बाद में आने वाले समझ नहीं पाते \"ऐसा क्यों लिखा गया\" अच्छी, विनिर्देश ही दस्तावेज़ है
LLM पर निर्भरता बहुत अधिक, मॉडल बदलने पर आउटपुट पूरी तरह भिन्न हो सकता है मध्यम, जब तक विनिर्देश स्पष्ट है, विभिन्न मॉडल समान संरचना उत्पन्न कर सकते हैं
डिबगिंग कठिनाई कठिन, पता नहीं कोड का तर्क कहाँ से आया आसान, spec के अनुसार बिंदुवार जाँच करें
टीम सहयोग के लिए उपयुक्तता लगभग असंभव संभव (spec संवाद अनुबंध के रूप में)
आउटपुट निश्चितता कम, प्रत्येक वार्तालाप में परिणाम भिन्न हो सकता है उच्च, समान spec से स्थिर आउटपुट

पाँचवाँ: वास्तविक जीवन में उपयोग के सुझाव

\"कार्य में, vibe coding और spec coding में से एक का चयन नहीं किया जाता, बल्कि मिश्रित उपयोग किया जाता है, उपयुक्त परिदृश्य में उपयुक्त योजना का उपयोग करें:
- अन्वेषण चरण में (जब तकनीकी चयन या UI शैली सुनिश्चित न हो), Vibe Coding का उपयोग कर विभिन्न योजनाओं का त्वरित सत्यापन करें, जैसे 'Tailwind से एक कार्ड कम्पोनेंट लिखकर देखें कि कैसा दिखता है।'
- एक बार योजना निर्धारित हो जाए, तो तुरंत Spec Coding पर स्विच करें: सफल प्रोटोटाइप को पीछे से स्पष्ट विनिर्देशों (इनपुट/आउटपुट, सीमा शर्तें, त्रुटि प्रबंधन) में व्यवस्थित करें, फिर AI या मानव को spec का सख्ती से पालन करते हुए प्रोडक्शन-स्तरीय कोड लिखने दें।
शुद्ध Vibe मोड केवल एक-बार के स्क्रिप्ट या आंतरिक छोटे उपकरणों के लिए उपयुक्त है; दीर्घकालिक रखरखाव और कई उपयोगकर्ताओं वाले सिस्टम के लिए, Spec Coding एक कठोर आवश्यकता है।\"

评论

暂无已展示的评论。

发表评论(匿名)