- हाल के वर्षों में कंप्यूटर उपयोगकर्ता अपनी इच्छा से अलग, बेमतलब के कई काम बार-बार करते रहे हैं और कंप्यूटर जो कहता है वही मानते रहे हैं
- LLM डेवलपर्स के API design करने के तरीके को प्रभावित कर रहे हैं, और अब ऐसी भविष्यवाणियां भी सामने आ रही हैं कि AI द्वारा सुझाए गए features को डेवलपर्स अपना रहे हैं और जल्द ही ज़्यादातर code AI ही लिखेगा
- उदाहरण के तौर पर, Soundslice ने ChatGPT द्वारा गलत तरीके से बताए गए feature को वास्तव में जोड़ दिया
- इसकी वजह यह है कि LLM कई APIs का विश्लेषण करके डेवलपर के दिमाग में सबसे पहले आने वाली intuitive design सुझाते हैं
- नई ideas या अनोखे approaches विकसित करने में LLM उपयुक्त नहीं हैं, लेकिन ज़्यादातर मामलों में सबसे स्वाभाविक design का पालन करना प्रभावी हो सकता है
- अब हम ऐसे दौर में प्रवेश कर चुके हैं जहां AI सिर्फ tools का उपयोग नहीं, बल्कि tools को design करने के तरीके को भी lead कर रहा है
Gaslight-driven development
रोज़मर्रा के बेमतलब काम
- पिछले 10 वर्षों में कंप्यूटर इस्तेमाल करने वाले लोग sign up, email verification, cookie consent, CAPTCHA भरने जैसे मूल रूप से अनावश्यक काम बार-बार करते रहे हैं
- उपयोगकर्ता यह सब चाहते नहीं थे, फिर भी उन्हें कंप्यूटर के कहे अनुसार चलना पड़ा
- इन दोहराए जाने वाले कामों के ज़रिए हम पहले ही कुछ हद तक मशीन जो कहे वैसा करने वाली ज़िंदगी के आदी हो चुके हैं
LLM से बदलती development की हकीकत
इस घटना का अर्थ
- इस बदलाव को सकारात्मक मानें या नकारात्मक, यह तय करना आसान नहीं है
- एक तरफ, LLM ने असंख्य APIs सीखी हैं, इसलिए वे डेवलपर की नज़र से 'सबसे intuitive' तरीका सुझाने का असर पैदा करते हैं
- यह newbie’s POV से API को test करने का एक नया तरीका भी है
- पहले डेवलपर गलती होने पर खुद documentation देखकर उसे ठीक करता था, लेकिन अब LLM लगातार गलत usage examples देकर डेवलपर को भी समस्या जल्दी पहचानने में मदद कर सकता है
सीमाएं और दुविधाएं
- innovative कामों के लिए यह approach उपयुक्त नहीं है
- जिन patterns या बिल्कुल नए concepts से LLM परिचित नहीं हैं, उन्हें वे समझ नहीं पाते
- आखिरकार API जैसे क्षेत्रों में 'साधारणपन' ही सबसे अच्छा हो सकता है
- ज़्यादातर स्थितियों में जटिल design करने की बजाय, ऐसा रूप बेहतर है जिसे AI और डेवलपर दोनों सहज रूप से समझ सकें
निष्कर्ष: एक नए युग की शुरुआत
- AI अब सिर्फ दिए गए tools का उपयोग करने तक सीमित नहीं है, बल्कि tools को कैसे design किया जाना चाहिए इस पर भी राय रखने लगा है
- और यह राय अक्सर डेवलपर्स और संगठनों को gaslighting करते हुए, मानो "हमेशा से ऐसा ही था", उस दिशा में धकेल देती है
- आगे चलकर AI की expectations और उसकी common sense के अनुरूप development एक स्वाभाविक standard बन सकता है
6 टिप्पणियां
कभी-कभी ऐसा लगता है कि path dependency की बड़ी अवधारणा में LLM dependency नाम की एक ताकतवर कील ठोकी जा रही है। 'क्योंकि हम पहले से यही इस्तेमाल करते आए हैं' से 'क्योंकि LLM को यही पसंद है' में जो बदलाव हो रहा है, उसका आखिर नतीजा क्या होगा...
यह तो पहले से लिखा/इस्तेमाल किया जा रहा था, और LLM ने उसी को सीख लिया था..
"अब आप कंप्यूटर की पावर बंद कर सकते हैं"
एकदम परफेक्ट उपमा!!
Hacker News राय
421: Misdirected Requeststatus code लौटाया जाए, या फिर असली501: Not Implementedभी इस्तेमाल किया जा सकता है; अगर501का nuance ठीक न बैठे, तो513: Your Coding Assistant Is Wrongजैसा नया status code प्रस्तावित किया जा सकता हैHTTP status code wiki देखें
513: Your Coding Assistant Is Wrongवाला आइडिया बहुत मज़ेदार लगा, इससे काफ़ी आनंद आया; साथ ही मैंHTTP 407 Hallucinationभी सुझाना चाहूँगा, यानी server request को समझता है लेकिन तय करता है कि यह वास्तविकता से मेल नहीं खातीGPS is wrong उदाहरण
418code पहले से है, तो513न होने की कोई वजह नहीं लगती418response इस्तेमाल करें, अच्छा होगा अगर उसका उपयोग और फैले(JavaScript code दिया गया है)
science paper link, neuroscience wiki देखें
tx.updatefunction entity insert और update दोनों संभालता है, लेकिन LLM बार-बारtx.createcode लिखता रहा, इसलिए अंत में मैंनेtx.createfunction भी बना दिया; ऐसे भ्रमित करने वाले हिस्सों में शायद सिर्फ़ LLM ही नहीं, असली developers भी बेकार में बहुत समय गंवाते होंगेtx.createपहले से था ही नहीं, तो किसी का समय बर्बाद कैसे होता?updateकी जगहputहोना चाहिए;updateग़लतफ़हमी पैदा कर सकता हैupsertसही लगता हैputनाम मौजूदा content को overwrite करने का संकेत देता है, जबकिupsertinsert/update दोनों का अर्थ देता हैusers email verification या sign-up इसलिए नहीं करते कि computer ने कहा, बल्कि यह इंसानों द्वारा किया गया design choice था
thesisकहना भी मुझे काफ़ी उदार व्याख्या लगता है; वह हिस्सा देखते ही मैंने page बंद कर दियाआगे चलकर code readability, SOLID principles, या complexity पर ध्यान देने से ज़्यादा महत्वपूर्ण शायद यह होगा कि मेरा agentic IDE code context को कितनी अच्छी तरह index कर सकता है, और model उस code पर कितना अच्छा generation कर सकता है
code change की speed बहुत तेज़ होने वाली है, इसलिए code maintainability उल्टा एक core metric बन सकती है, और prompt तथा code की alignment या संयोग से अच्छी तरह मेल खा जाने वाले code की usability पर ज़्यादा ध्यान जाएगा—ऐसी दुनिया आने की संभावना लगती है
उदाहरण के लिए AWS में
dev,prodहैं, जबकि Expo मेंtest,productionहैं; कई projects के बीच आते-जाते हुए इसमें उम्मीद से ज़्यादा दिमाग़ लगाना पड़ता हैLLM भी शायद इसी समस्या का बहुत बड़े पैमाने पर सामना करता होगा
अगर API naming/behavior की ऐसी अनावश्यक उलझनों में खर्च होने वाले दिमाग़ी synapses को किसी सचमुच अर्थपूर्ण काम में लगाया जा सके, तो वही सबसे अच्छा होगा
LLM चाहे जितना भी बुद्धिमानी से नाम रखे, चूँकि वह एक incoherent stochastic process पर आधारित है, इसलिए समस्या बनी रहती है
और मैं यह भी पूछना चाहूँगा कि क्या आपने कभी गंभीरता से सोचा है कि environment naming एक जैसी क्यों नहीं है
एक पूर्व CTO के रूप में मुझे यह संगठन के भीतर communication, standards की कमी, और सुधार की ज़रूरत का संकेत लगता है
क्योंकि यह ऐसी चीज़ है जिसे आसानी से सुधारा जा सकता है और इससे culture व टीम की जागरूकता वास्तव में बेहतर हो सकती है, इसलिए इसे LLM पर छोड़ने के बजाय सीधे ध्यान देना चाहिए
पिछली Hacker News चर्चा देखें
Soundslice की वायरल सफलता