- Generative AI से कोई project पूरा कर लेने पर भी, अगर request करने वाला व्यक्ति और असल में बनाने वाला अलग हों, तो ‘मैंने बनाया’ वाली उपलब्धि की भावना पाना मुश्किल होता है
- Prompt में vision, judgment, communication और तकनीकी समझ चाहिए, लेकिन यह सीधे बनाने की skill से ज्यादा किसी दूसरे अस्तित्व से बनवाने की skill के करीब है
- खुद लिखे गए 177-line Spanish flashcard system में Claude की तुलना में करीब 50 गुना ज्यादा समय लगा, लेकिन उसने AI द्वारा बनाए किसी भी code से ज्यादा गर्व दिया
- Compiler, assembler और hammer निर्माता के tools जैसे महसूस होते हैं, जबकि मानव भाषा का जवाब देने वाला AI निर्देश पाने वाले व्यक्ति जैसा दिखता है, जिससे tool और proxy maker की सीमा धुंधली हो जाती है
- AI के जरिए generation भी creative act हो सकता है, लेकिन परिणाम पूरा करना और खुद बनाना व्यक्तिगत संतुष्टि के लिहाज से समान नहीं हैं, और उनकी सीमा को साफ-साफ परिभाषित करना भी कठिन है
AI development से बदलती उपलब्धि की भावना
- Generative AI और LLM इस्तेमाल करने वाले developers एक साथ विरोधाभासी बदलाव अनुभव करते हैं
- हाथ से coding करने वाली craftsmanship, low-level problem solving और मजा खो सकता है
- high-level problem solving बढ़ सकती है, टाले हुए projects पूरे हो सकते हैं और नया मजा मिल सकता है
- इन फायदे-नुकसान से आगे, मुख्य चिंता यह है कि क्या AI द्वारा पूरा किए गए परिणाम को व्यक्ति अपना बनाया हुआ महसूस कर सकता है
- यह 1980s के microcomputer era से coding कर रहे, industry में 20 साल काम कर चुके और अब computer science पढ़ाने वाले developer के अनुभव से शुरू होता है
- AI utopia और doom scale पर वह खुद को 65% doom की तरफ मानते हैं
- Claude Code इस्तेमाल करते हुए साथ-साथ खुद coding भी करते हैं
AI outputs से सजाई गई ‘बहुमुखी प्रतिभा’
- शुरुआत में कई ऐसे outputs आते हैं जो खुद बनाए हुए लगते हैं
- battle scene वाला SF novel The Vorrkai Interval
- pastel रंगों वाला woodcut Mirrors of the Machine
- नया बनाया गया cedar front-porch deck
- Rust में लिखा TUI adventure roguelike code
- असल में novel, picture और code AI-generated थे, और deck paid skilled workers ने बनाया था
- लेखक की भूमिका production शुरू करना और requirements बताना थी, इसलिए इन outputs को अपना बनाया कहना असहज लगता है
‘मैंने बनाया’ कहना कठिन क्यों है
- किसी और द्वारा बनाए गए deck के लिए “मैंने install किया” के बजाय “मैंने install करवाया” कहना ज्यादा सटीक लगता है
- Claude द्वारा generated code के लिए भी “मैंने बनाया” नहीं, बल्कि “मैंने अपने लिए बनवाया” कहना ठीक लगता है
- employment relationship न होने वाले AI output पर अपने नाम से MIT license लगाना भी असहज लगता है, इसलिए Unlicense इस्तेमाल किया
- Manager के तौर पर काम करते समय भी “मैंने product बनाया” नहीं बल्कि “हमारी team ने बनाया” कहते हैं, और अगर LLMs को manage किया होता तो “मेरे agents ने बनाया” कहते
- Project खत्म होना अपने-आप में अच्छा है, लेकिन खुद शुरू किए project को कोई और पूरा करे तो खुद बनाने की तुलना में संतुष्टि बहुत कम मिलती है
- जो खोता है वह सिर्फ coding skill या problem solving का मजा नहीं, बल्कि कुछ खुद बनाने का अनुभव है
हाथ से बनाया 177-line flashcard
- पत्नी ने एक simple Spanish learning system मांगा, जिसमें वह spreadsheet में desired words डालकर flashcards की तरह देख सकें
- Implementation खुद किया और Claude को code generate न करने का निर्देश दिया; उससे सिर्फ basic जानकारी पूछी, जैसे Google Sheets से data लाने का सबसे आसान तरीका
- Google Sheets का CSV endpoint इस्तेमाल किया
- JavaScript 112 lines, CSS 33 lines, HTML 32 lines — कुल 4 files और 177 lines लिखीं
- Claude से बनवाने की तुलना में करीब 50 गुना ज्यादा समय लगा, लेकिन इस पर अपना नाम लगा सकते हैं और कह सकते हैं कि इसे खुद बनाया
- यह बड़ा या groundbreaking code नहीं था, फिर भी Claude द्वारा लिखे किसी भी code से कहीं ज्यादा गर्व महसूस हुआ
- जैसे request शुरू करने वाली पत्नी यह नहीं कहतीं कि उन्होंने flashcard system लिखा, वैसे ही requester जरूरी नहीं कि maker भी हो
Prompt writing एक अलग skill है
- Effective prompts में साफ human contribution चाहिए
- vision लगाना होता है
- result judge करना होता है
- communication और prompt writing क्षमता चाहिए
- सभी prompts और AI users की efficiency समान नहीं होती, इसलिए prompting में भी महत्वपूर्ण skill मौजूद है
- लेकिन यह सीधे बनाने की क्षमता से ज्यादा जो चाहिए उसे प्रभावी ढंग से बनवाने का अनुरोध करने की क्षमता के करीब है
- Software prompting भी सीधे software बनाने की क्रिया की बजाय किसी दूसरे अस्तित्व से बनवाने जैसा महसूस होता है
Compiler और AI के बीच grey area
- C या Rust program लिखते समय असल में चलने वाली machine code खुद नहीं लिखते, लेकिन फिर भी लगता है कि program खुद लिखा है
- C code से machine code में transformation काफी हद तक mathematically precise process जैसा है, लेकिन कुछ सवाल बचे रहते हैं
- Clang और GCC अलग instructions generate करते हैं, इसलिए result पूरी तरह uniquely determined नहीं होता
- Platform के हिसाब से machine code अलग हो सकती है, फिर भी C code portable रहता है
- भले ही केवल Linux पर build किया हो, Windows पर चलने वाले program को भी अपना लिखा माना जा सकता है
- Claude से recursive Fibonacci C program को x86_64 Linux assembly में बदलने को कहा तो build और run होने वाला code generate हुआ
- Output ने
0: 0से9: 34तक सही Fibonacci sequence दिखाया - Exit status 0 set करने के लिए XOR भी इस्तेमाल किया
- Output ने
- Original C code खुद लिखा था, इसलिए assembly Claude ने generate की हो तब भी वह program अपना लिखा हुआ महसूस होता है
- Assembly से machine code में transformation strict और non-intelligent process है, इसलिए कील ठोकते समय hammer इस्तेमाल करने की तरह इसे बनाने की क्रिया न छीनने वाला tool use माना जाता है
Tool और proxy maker को अलग करने का मापदंड
- खुद किए जाने वाले कामों में C code लिखकर run करना, hammer से कील ठोकना, assembler से assembly को machine code में बदलना शामिल है
- निर्देश देकर दूसरों को सौंपे जाने वाले कामों में software लिखना, deck construction और picture creation आते हैं
- ChatGPT द्वारा generated picture को व्यक्ति अपना बनाया हुआ नहीं मानता, लेकिन hammer या compiler से कुछ करवा लेने का एहसास नहीं होता
- Claude से C code compile करने का उदाहरण दोनों categories में आता है
- इसे खुद लिखे C code को execute करना माना जा सकता है
- इसे AI से software लिखवाने का अनुरोध भी माना जा सकता है
- वही result केवल English requirements से भी generate करवाया जा सकता है
- AI अस्पष्ट human language समझता है और human की तरह respond करता है, इसलिए compiler या hammer की तुलना में यह manager और subordinate relationship जैसा महसूस हो सकता है
- अगर AI-built-in hammer से कील ठोकने को कहा जाए, तो creative process में शामिल होने पर भी यह कहना कठिन होगा कि hammering खुद की
- Grey area को जितना देखते हैं, AI को निर्माण सौंपना भी creative act हो सकता है, यह विचार उतना मजबूत होता है; लेकिन किसे खुद बनाया कहा जाए, इसकी सीमा अब भी अस्पष्ट है
Result में असल में दिया गया contribution
- SF scene के लिए prompt में hero और दो refugees के enemy laser attack में फंसने और exit खोजने वाले तीन paragraphs और novel title generate करने को कहा गया
- Picture के लिए दो wizard-like hackers को आमने-सामने computer पर focus करते हुए woodcut और pastel colors में बनाने, और दोनों तरफ contrasting yet complementary colors इस्तेमाल करने को कहा गया
- Game के लिए Ultima I जैसा fantasy TUI game मांगा गया
- प्रति map cell 3×3 characters, प्रति screen 7×7 map cells और water animation मांगी गई
- Perlin noise-based procedural world, randomly moving predefined monsters और D&D-style stats शामिल किए गए
- Classless general player इस्तेमाल करने, Rust और Ratatui से implement करने, और UI व game logic को अलग रखने को कहा गया
- Carpentry work के लिए “front-porch deck बदल दीजिए” कहा गया, लेकिन intro photo के लिए जरूरी लकड़ी के टुकड़े की एक कील असल में खुद ठोकी
- लेख में इस्तेमाल em dash जानबूझकर चुना गया था, और Vim digraph
^K-Mहै
1 टिप्पणियां
Hacker News की राय
भले ही मैंने LLM से खुद कोड की एक भी लाइन न लिखवाई हो, फिर भी मैं अपने बनाए हुए नतीजे पर गर्व महसूस कर सकता हूँ
मैं खुद को कोई महान प्रोग्रामर बताने की कोशिश नहीं कर रहा, लेकिन कोडिंग शुरू से ही मेरे लिए तैयार चीज़ बनाने का एक साधन थी
यह वैसा ही है जैसे मैंने बगीचा खुद बनाकर तैयार न किया हो, बल्कि किसी landscaping company को रखा हो, फिर भी अपने सोचे हुए बगीचे से संतोष महसूस कर सकता हूँ
vibe coding से बना guitar tab editor ऐसी समस्या हल करता है जिसके लिए दूसरे software में फीचर नहीं है, और नौकरी·परिवार·शौक साथ लेकर चलते हुए मैं इसे AI के बिना कभी नहीं बना पाता
peanut butter jelly sandwich की तरह बिना किसी खास creativity के खुद हाथ से बनाया जाए, तब भी हम उसे बनाना ही कहते हैं, और circular saw जैसे tool से हाथ का काम बदला जाए तब भी यही बात लागू होती है
लेकिन web से
Articulated dragon.stlडाउनलोड करके सिर्फ print बटन दबाना और खुद design करके print करना अलग बात हैCNC और 3D printer चलाने में भी हाथ के काम से अलग ज्ञान और skill चाहिए, लेकिन जैसे-जैसे tool आसान होते जाते हैं, यह सीमा धुंधली होती जाती है
भले कोई साफ रेखा न हो, पर “नए tool cheating हैं कहकर सब कुछ हाथ से बनाना” और “sandwich ऑर्डर करके इंतज़ार करना” के बीच कहीं न कहीं यह बात आती है
अगर आपने project किसी और को सौंपा है, तो यह कह सकते हैं कि आपने उसे manage किया या कुछ हिस्सा design किया, लेकिन उसे खुद करके उसका श्रेय लेना मुश्किल है
भले आपने असल निर्माण न किया हो, समस्या सुलझाने के लिए दिशा और vision देने वाली भूमिका पर पर्याप्त गर्व किया जा सकता है
makingमें खुद सक्रिय होकर बनाने का अर्थ ज्यादा मजबूत है, जबकिproducingमें supervision और coordination का अर्थ ज्यादा मजबूत हैgame development में producers के साथ काम शुरू करने के बाद यह फर्क और साफ हो गया
हाल में Claude से मुख्य हिस्से लिखवाकर बनाए गए side projects मनचाहा काम तो कर रहे थे, फिर भी अजीब तरह से नतीजे से कटा हुआ महसूस हुआ, और इससे सोचना पड़ा कि खाली समय में AI का इस्तेमाल कैसे करना चाहिए
compiler सटीक निर्देशों पर deterministic और consistent नतीजे देता है, लेकिन Claude code की तुलना में कम सटीक निर्देशों का अनुमान लगाकर हर बार अलग नतीजे और मांगे बिना जोड़ा गया व्यवहार भी डाल देता है, यानी वह user की जगह फैसले लेता है
बड़े Markdown spec या detailed tests के जरिए उसे सख्ती से निर्देश दिए जा सकते हैं, लेकिन अगर इतना लिखने में ही समय लगना है, तो फिर खुद coding करने से फर्क बहुत कम रह जाता है
AI अटकी हुई समस्या सुलझाने या किसी concept को personal context में समझाने में शानदार है, लेकिन जैसे ही आप उसे फैसले सौंपते हैं, रचना से ज्यादा नतीजा प्राथमिक हो जाता है
जो side project खुद बनाने की खुशी के लिए होते हैं, वे product से ज्यादा art के करीब होते हैं, इसलिए AI product के लिए ठीक हो सकता है, art के लिए नहीं
टेक क्षेत्र में कुछ लोग details पसंद करते हैं और कुछ लोग systems, और system-oriented लोग LLM को मजेदार और संतोषजनक पाते हैं, जबकि detail-oriented लोग इसका ठीक उलटा महसूस कर सकते हैं
एक परिचित, जो neural network से पहले computer vision के लिए मशहूर थे, कहते थे कि पहले वे अनगिनत चीजें पहली बार हल करते थे, लेकिन अब software development का बड़ा हिस्सा पहले से जानी चीजों को जोड़ने का काम रह गया है, इसलिए वह उबाऊ लगता है
LLM इस रुझान को और तेज करता दिखता है
LLM से script उगलवाना मुझे ऐसा लगता है जैसे Sudoku में random numbers भरते जाना जब तक app न कह दे कि यही सही जवाब है
मैं Hacker News पर LLM से बनी submissions नहीं देखना चाहता
भले वे सफल product न हों, इंसानी मौलिकता को वास्तव में लागू होते देखना ही आनंददायक था
जैसे मैं computers के बीच खेला गया chess नहीं देखता, वैसे ही AI से बने software और art को आसानी से पहचानकर उनसे बचने का तरीका चाहिए
फर्क इस बात में है कि input में बदलाव से output के देखे जा सकने वाले व्यवहार पर क्या असर पड़ेगा, इसे कितनी हद तक तर्कसंगत रूप से समझा जा सकता है
अगर compiler से बनी executable मेरी मंशा के मुताबिक काम नहीं करती, तो 99.99% जिम्मेदारी मेरी है, और source code से मैं नतीजे का अनुमान लगा सकता हूँ और खराब व्यवहार का विश्लेषण भी कर सकता हूँ
vibe coding program और generation prompt के बीच ऐसा तुलनीय संबंध बनता ही नहीं
अगर पूरी तरह autonomous lawn-mowing robot ने ठीक-ठीक काम किया, तो घास robot ने काटी; लेकिन अगर मैं उस पर बैठकर चलाऊँ या joystick से control करूँ, तो घास मैंने काटी
कहाँ घास काटनी है यह तय करने वाला कौन है, यही ownership की भावना तय करता है
vibe coding project में भी आपने जितना ध्यान और समझ लगाई है, उसके अनुपात में अलग-अलग स्तर की ownership महसूस होती है
कुछ लोग बस यह तय करते हैं कि process कब शुरू हो और नतीजा अच्छा है या बुरा, लेकिन खुद निर्णय लेने की क्षमता कम होने से वे मान लेते हैं कि maker ने नीचे के सारे हिस्से ठीक से संभाल लिए होंगे
compiler लगभग हमेशा program को सही binary में बदलता है, और fail होने पर साफ बता देता है; algorithm की correctness user की जिम्मेदारी होती है, इसलिए सीमा साफ रहती है
इसके उलट LLM की responsibility boundary धुंधली है, और prompt में साफ न लिखे गए हर तत्व को वह भरोसेमंद ढंग से संभाल नहीं पाता
यह इंसानी collaboration जैसा भी नहीं है; अगर आपने किसी professional painter से Batman बनाने को कहा हो, तो आपको पैर की उंगलियों या हाथों की संख्या तक जांचने की जरूरत नहीं पड़ती
सिर्फ इसलिए कि LLM तेज है, उसका उपयोग करते-करते मुझे पहले जैसी खुशी मिलनी बंद हो गई
speed को हमेशा fun पर प्राथमिकता देने की जरूरत नहीं है, और मुझे फिर से यह सीखना होगा कि खुद लिखने के काम को “inefficient” न मानकर उस पर ध्यान कैसे केंद्रित किया जाए
मैं 13 साल की उम्र में आधी रात को coding करने वाली वही भावना वापस पाना चाहता हूँ, और Beej की लिखी बातें हमेशा प्रभावशाली लगती हैं
writing·code·music को सिर्फ prompt से बनवाने पर वही प्रक्रिया गायब हो जाती है
लगभग दो महीनों तक शराब पीने के अलावा TV देखना भी अच्छा नहीं लगता था, लेकिन कई हफ्तों से शराब से दूर रहने पर लगता है कि रचनात्मक इच्छा धीरे-धीरे लौट रही है
मैं खुद camera और छोटे autonomous driving robot डिज़ाइन और बना चुका हूँ, और गाड़ी के अंदर लुढ़ककर खराब हो गया camera भी आखिरकार ठीक कर लिया
हर vintage C mount lens के लिए वीडियो बनाते-बनाते दिलचस्पी खत्म हो गई और सिर्फ lens का डिब्बा और सजावटी सामान बन चुके camera ही बचे, लेकिन इन्हीं hardware projects की वजह से मुझे software engineer की दो नौकरियाँ मिलीं
Claude Code से code generate हुए project के बारे में अगर मैं कहूँ कि “मैंने इसे बनाया”, तो सम्मान तुरंत कुछ कम हो जाता है, लेकिन आखिरकार असली बात पैसा और आज़ादी है, और मैं भी आज़ादी हासिल करने के बाद अपनी पसंद का काम करना चाहता हूँ
अगर अभी तक जाँच नहीं की है, तो ADHD या किसी और कारण की संभावना भी देखना ठीक रहेगा
इंसान मशीन नहीं बल्कि जटिल जैविक अस्तित्व है, इसलिए अपनी विशेषताओं को समझना सही दिशा में फिर से आगे बढ़ने में बहुत मदद करता है
हाल में AI को सौंपे गए कामों के बारे में मोटे तौर पर भी बारीकियाँ याद रखना मुश्किल है, जबकि कई साल पहले लिखे गए 1 लाख से अधिक lines वाले codebase को आज भी दिमाग में लगभग ट्रेस कर सकता हूँ
लेकिन सिर्फ 2 हफ्ते पहले AI के साथ बनाया गया project एक धुंधले से गुच्छे की तरह रह जाता है कि “किसी ने prompt लिखा और code निकल आया”
OSU में student रहते हुए practical system programming खुद सीखते समय मैं हर दिन
Beej's Guide to Network Programmingदेखता थामुझे अफसोस होता था कि महँगी university से यह free website कहीं ज़्यादा उपयोगी है, लेकिन अब Beej OSU में पढ़ाते हैं — यह एक शानदार चक्र है और बेहतरीन hiring भी
मेरा ध्यान system-level design, AI के सक्रिय उपयोग, और बड़े projects व teams पर होगा
coding सीखना अब भी ज़रूरी है, लेकिन पहले जिन software engineering skills को काम के दौरान सीखा जाता था, उन्हें अब शिक्षा के शुरुआती चरण में ज़्यादा रखना होगा
फिर भी लगता है कि LLM का आना 15 साल देर से होता तो भी ठीक था
Le Corbusier और Frank Lloyd Wright ने इमारतें खुद नहीं बनाईं, बल्कि उन्हें डिज़ाइन किया, फिर भी वे इमारतें बिना किसी संदेह के उनकी कृतियाँ मानी जाती हैं
Steve Jobs ने भी न circuit board डिज़ाइन किया, न coding की, फिर भी उसने Mac, iPod, iPhone बनाए, और Renaissance काल के painters भी ऐसे workshops चलाते थे जहाँ शागिर्द काम करते थे
software creation सिर्फ code लिखने से बढ़कर है: इसमें market और ज़रूरत को समझना, marketing और copy तैयार करना, क्या बनाना है और क्या छोड़ना है यह तय करना, और अंतिम रूप की कल्पना करना शामिल है
Wright के घर को बनाने वाले कारीगर गर्व से कह सकते हैं कि छत, दीवार या झरना उन्होंने बनाया, लेकिन पूरा घर स्पष्ट रूप से Wright का ही है
आज की यह आह असल में तकनीकी एकाधिकार खोने के डर के अधिक करीब है
जैसे handmade furniture की जगह IKEA आने के बाद कुशल बढ़ई high-end market पर ध्यान देने लगे, वैसे बदलाव हो सकते हैं, लेकिन programming के ग्राहक ज़्यादातर कंपनियाँ हैं और पास होने का मानदंड “क्या यह काम करता है” जैसा द्विआधारी है — यही फर्क है