वाइब कोडिंग के बारे में दो प्रचलित कथाएँ हैं। पहली यह कि आप एक वाक्य लिख सकते हैं, और AI आपको एक मिलियन डॉलर का ऐप दे देगा। दूसरी यह कि चूंकि AI सारा कोड लिख रहा है, मनुष्यों को पता नहीं है कि इसके अंदर क्या है। इसलिए, यह अंततः विफल होना चाहिए और बड़े पैमाने पर प्रलय का कारण बनना चाहिए।
ये दोनों कथाएँ वास्तविकता की कैरिकेचर हैं। पिछले लेखों में, मैंने विभिन्न वाइब-कोडेड प्रोजेक्ट्स पर अपने काम के बारे में बात की है। हमने देखा है कि वे कैसे अद्भुत और बहुत अधिक काम दोनों हैं। इस लेख में, मैं कोडिंग नियंत्रण मशीन को सौंपने से आने वाले रखरखाव और स्थिरता प्रश्नों में गहराई से उतरूंगा।
जब मैं एक युवा उत्पाद प्रबंधक था, मुझे अपने बिक्री VP का समर्थन करने के लिए लॉस एंजिल्स भेजा गया था। उन्होंने मुझे अपने पसंदीदा रेस्तरां में से एक में ले जाने का फैसला किया। यह रेस्तरां फ्यूजन व्यंजनों में विशेषज्ञता रखता था, जिसका मतलब था कि शेफ अपने भोजन में कई अलग-अलग प्रभावों को मिलाता था। इसकी प्रतिष्ठा शेफ के स्पेशल के लिए थी, जो कुछ भी शेफ उस शाम आपके लिए बनाने का फैसला करता था।
मुझे याद है कि मैं सोच रहा था कि मैं किसमें पड़ गया हूँ। मुझे पता था कि मुझे खाना मिलेगा, लेकिन मुझे कोई अंदाजा नहीं था कि मुझे क्या खाने की उम्मीद है। जैसा कि निकला, उस रात हमने जो खाना खाया वह…अजीब था। यह खाने योग्य था। यह ऐसी जगह नहीं थी जहाँ मैं स्वेच्छा से फिर जाऊँ।
एजेंटिक कोडिंग उस रेस्तरां में जाने जैसा है। आप जानते हैं कि आप जिस कोडिंग AI का उपयोग कर रहे हैं उसकी प्रतिष्ठा अच्छी है, लेकिन आपको वास्तव में पता नहीं है कि आपको क्या दिया जाएगा। आपको AI से आने वाले वास्तविक कोड में बहुत कम अंतर्दृष्टि है। आप मूल रूप से इसे खाने वाले हैं, चाहे आपको कुछ भी परोसा गया हो।
जब आपके पास एजेंट आपका कोड लिख रहे हैं, तो यह आपके लिए ठेकेदारों या अधीनस्थों के एक समूह के कोड लिखने जैसा है। जब तक आप इसका परीक्षण और मूल्यांकन नहीं करते, आपको पता नहीं होता कि आपको क्या मिलेगा।
सब कुछ आपके प्रॉम्प्ट पर आधारित है। गार्बेज-इन, गार्बेज-आउट का पुराने घिसे-पिटे वाक्यांश से कहीं अधिक गहरा अर्थ है। यदि आप पर्याप्त स्पष्ट रूप से प्रॉम्प्ट नहीं करते हैं, और आप पर्याप्त स्पष्टता और निगरानी के साथ बातचीत बनाए नहीं रखते हैं, तो AI से आपको मिलने वाला कोड पचाने में मुश्किल होगा।
इंजीनियरिंग प्रबंधकों ने पिरामिडों के दिनों से अपनी निगरानी में ठेकेदारों के प्रबंधन की चुनौती का सामना किया है। कार्य सौंपना और कार्य उत्पाद का मूल्यांकन करना वही है जो इंजीनियरिंग प्रबंधक करते हैं। उस प्रक्रिया में गुणवत्ता और नियंत्रण बनाए रखना सॉफ्टवेयर इंजीनियरिंग का मूल है।
दूसरी ओर, जबकि वाइब-कोडिंग की अधिकांश निराशा और अंधकार अतिशयोक्ति है, वहाँ सच्चाई भी है। गुणवत्ता मानकों और प्रथाओं के बिना, आप समस्याग्रस्त कोड के साथ समाप्त हो सकते हैं। इस लेख में, हम एजेंटिक कोडिंग के आसपास के मिथकों और सर्वोत्तम प्रथाओं पर चर्चा करेंगे जो आपको AIs से वह वापस पाने में मदद करेंगे जो आपने माँगा था।
कई AI कोडिंग अधिवक्ता AI को गहरे, समृद्ध आवश्यकता दस्तावेज़ प्रदान करने की सलाह देते हैं। हालाँकि, मेरा अनुभव यह है कि AIs उस गहरे दस्तावेज़ के एक तत्व की गलत व्याख्या कर सकते हैं और पूरी तरह से पटरी से उतर सकते हैं, जिस तरह से आप ट्रेस या खोज नहीं सकते।
मैं AI को एक सरल कार्य देना पसंद करता हूँ। एक बार जब वह सफलतापूर्वक पूरा हो जाता है, तो मैं उसे दूसरा देता हूँ। इस तरह, AI या मेरे लिए समग्र योजना से दृष्टि खोने का कम अवसर होता है।
एकमात्र डेवलपर के रूप में, मैं कोड लाइन दर लाइन लिखता था। मैं हर एक लाइन पर पसीना बहाता था। मैं अपने कोड के बारे में सब कुछ जानता था। लेकिन जब मैं एक इंजीनियरिंग प्रबंधक था, तो मुझे अपनी टीमों और अपनी टीमों पर व्यक्तिगत डेवलपर्स पर निर्भर रहना पड़ता था।
बेशक, हमारे पास कोडर (मोटे तौर पर एजेंटों के बराबर) थे। लेकिन मुझे अभी भी सिस्टम में परीक्षण और एकीकरण का अनुशासन बनाने की आवश्यकता थी, ताकि यह सुनिश्चित हो सके कि हमारे किसी भी कोडर या ठेकेदार द्वारा प्रस्तुत किया गया कार्य बाकी सब के साथ काम करता है।
यदि आप एजेंटिक कोडिंग का उपयोग करने जा रहे हैं, तो आपको भी ऐसा ही करने की आवश्यकता होगी। हर चरण पर चेकपॉइंट। एकीकरण को ध्यान से ट्रैक करें। मान लें कि आप बाहरी ठेकेदारों से डिलीवरी ले रहे हैं, और इसलिए अपने मुख्य प्रोजेक्ट में शामिल करने से पहले उनके काम की जाँच करने की आवश्यकता है।
मेरा एक दोस्त है जिसके साथ मैं अपने सॉफ्टवेयर साझा करने से डरता हूँ।