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



