विगत दुई वर्षदेखि, Work & Co मा मेरो टोली र म जनताले प्रयोग गर्ने वेब अनुभवहरू पठाउन मद्दत गर्न Copilot, Cursor, Claude, र ChatGPT जस्ता AI कोडिङ उपकरणहरूको परीक्षण र बिस्तारै एकीकृत गर्दैछौं। निस्सन्देह, केहि प्रारम्भिक शंका र केहि अहा क्षण पछि, विभिन्न एआई उपकरणहरूले मेरो दैनिक प्रयोगमा आफ्नो बाटो फेला पारेका छन्। समय बित्दै जाँदा, एआई लाई ओभर ओभर गर्न दिनुको लागि हामीले बुझेका एप्लिकेसनहरूको सूची बढ्न थालेको छ, त्यसैले मैले "जिम्मेवार विकासकर्ता" भनेर बोलाउने AI उपकरणहरूको लागि केही व्यावहारिक प्रयोग केसहरू साझा गर्ने निर्णय गरें। म एक जिम्मेवार विकासकर्ता को मतलब के हो? हामीले हाम्रा सरोकारवालाहरू र ग्राहकहरूले अपेक्षा गरेअनुसार गुणस्तर कोड डेलिभर गर्ने कुरा सुनिश्चित गर्नुपर्छ। हाम्रा योगदानहरू (जस्तै, पुल अनुरोधहरू) हाम्रा सहकर्मीहरूमा बोझ बन्नु हुँदैन जसले हाम्रो कामको समीक्षा र परीक्षण गर्नुपर्नेछ। साथै, यदि तपाइँ कुनै कम्पनीको लागि काम गर्नुहुन्छ भने: हामीले प्रयोग गर्ने उपकरणहरू हाम्रो रोजगारदाताद्वारा अनुमोदित हुन आवश्यक छ। सुरक्षा र गोपनीयता जस्ता संवेदनशील पक्षहरू राम्ररी ह्यान्डल गर्न आवश्यक छ: गोप्य, ग्राहक डेटा (PII), वा स्वामित्व कोडलाई नीति अनुमोदन बिना उपकरणहरूमा टाँस्नुहोस्। यसलाई इन्टरनेटमा अपरिचित व्यक्तिको कोड जस्तै व्यवहार गर्नुहोस्। सधैं परीक्षण र प्रमाणित गर्नुहोस्। नोट: यो लेखले VSCode वा कर्सर भित्रको Copilot जस्तै AI कोडिङ उपकरणहरूसँग केही धेरै आधारभूत परिचिततालाई ग्रहण गर्दछ। यदि यी सबै तपाईंलाई पूर्णतया नयाँ र अपरिचित लाग्छ भने, Github Copilot भिडियो ट्यूटोरियलहरू तपाईंको लागि उत्कृष्ट सुरूवात बिन्दु हुन सक्छ।
एआई कोडिङ उपकरणहरूको उपयोगी अनुप्रयोगहरू नोट: निम्न उदाहरणहरू मुख्य रूपमा जाभास्क्रिप्ट-आधारित वेब अनुप्रयोगहरू जस्तै प्रतिक्रिया, Vue, Svelte, वा Angular मा काम गर्नमा केन्द्रित हुनेछन्। अपरिचित कोडबेसको बुझाइ प्राप्त गर्दै स्थापित कोडबेसहरूमा काम गर्नु असामान्य छैन, र ठूलो लिगेसी कोडबेसमा सामेल हुनु डरलाग्दो हुन सक्छ। केवल आफ्नो प्रोजेक्ट र आफ्नो AI एजेन्ट खोल्नुहोस् (मेरो केसमा, VSCode मा Copilot Chat) र तपाईंले सहकर्मीलाई सोधे जस्तै प्रश्नहरू सोध्न सुरु गर्नुहोस्। सामान्यतया, म कुनै पनि एआई एजेन्टसँग कुरा गर्न चाहन्छु जस्तै म सँगी मानवसँग कुरा गर्छु। यहाँ थप परिष्कृत उदाहरण प्रम्प्ट छ: "मलाई उच्च-स्तरको आर्किटेक्चर सिंहावलोकन दिनुहोस्: एन्ट्रीपोइन्टहरू, राउटिंग, प्रमाणीकरण, डेटा तह, निर्माण उपकरण। त्यसपछि 5 फाइलहरू क्रमबद्ध रूपमा पढ्नको लागि सूचीबद्ध गर्नुहोस्। व्याख्याहरूलाई परिकल्पनाको रूपमा व्यवहार गर्नुहोस् र सन्दर्भित फाइलहरूमा जम्प गरेर पुष्टि गर्नुहोस्।"
तपाईंले "कसरी राउटिङले विस्तृत रूपमा काम गर्छ?" जस्ता फलो-अप प्रश्नहरू सोधिरहन सक्नुहुन्छ। वा "मलाई प्रमाणीकरण प्रक्रिया र विधिहरू मार्फत कुरा गर्नुहोस्" र यसले तपाईंलाई अपरिचित कोडबेसको अँध्यारोमा केही प्रकाश चम्काउन मद्दतकारी निर्देशनहरूमा लैजान्छ। निर्भरताहरू अपग्रेड गर्दा ट्राइजिङ ब्रेकिङ परिवर्तनहरू npm प्याकेजहरू अद्यावधिक गर्दा, विशेष गरी जब तिनीहरू ब्रेकिङ परिवर्तनहरूसँग आउँछन्, कठिन र समय-उपभोग गर्ने काम हुन सक्छ, र तपाइँलाई पर्याप्त मात्रामा प्रतिगमनहरू डिबग गर्न सक्नुहुन्छ। मैले भर्खरै डाटा भिजुअलाइजेशन लाइब्रेरी plotly.js लाई संस्करण 2 देखि 3 सम्मको एउटा प्रमुख रिलीज संस्करण अपग्रेड गर्नुपर्यो, र त्यसको परिणाम स्वरूप, केही ग्राफहरूमा अक्ष लेबलिङले काम गर्न छोड्यो। मैले ChatGPT लाई सोधें: "मैले Plotly प्रयोग गर्ने मेरो Angular प्रोजेक्ट अपडेट गरें। मैले plotly.js — डिस्ट प्याकेज संस्करण २.३५.२ देखि ३.१.० सम्म अपडेट गरें — र अब x र y अक्षका लेबलहरू गएका छन्। के भयो?"
एजेन्ट तुरुन्तै समाधानको साथ फिर्ता आयो (तल आफ्नै लागि हेर्नुहोस्)। नोट: मैले अझै पनि फिक्स ढुवानी गर्नु अघि आधिकारिक माइग्रेसन गाइड विरुद्ध स्पष्टीकरण प्रमाणित गरें।
फाइलहरूमा सुरक्षित रूपमा रिफ्याक्टरहरू प्रतिकृति गर्दै बढ्दो कोडबेसहरूले निश्चित रूपमा कोड समेकनका लागि अवसरहरू अनावरण गर्दछ। उदाहरणका लागि, तपाईंले फाइलहरूमा कोड नक्कल देख्नुहुन्छ जुन एकल प्रकार्य वा कम्पोनेन्टमा निकाल्न सकिन्छ। नतिजाको रूपमा, तपाइँ एक साझा कम्पोनेन्ट सिर्जना गर्ने निर्णय गर्नुहुन्छ जुन सट्टामा समावेश गर्न सकिन्छ र एक फाइलमा त्यो रिफ्याक्टर प्रदर्शन गर्न सकिन्छ। अब, तपाइँका बाँकी फाइलहरूमा ती परिवर्तनहरू म्यानुअल रूपमा गर्नुको सट्टा, तपाइँ तपाइँको एजेन्टलाई तपाइँको लागि रिफ्याक्टर रोल आउट गर्न भन्नुहुन्छ। एजेन्टहरूले तपाईंलाई सन्दर्भको रूपमा धेरै फाइलहरू चयन गर्न दिन्छ। एकपटक एउटा फाइलको लागि रिफ्याक्टर सकिएपछि, म प्रसङ्गमा रिफ्याक्टर गरिएका र नछोइएका फाइलहरू थप्न सक्छु र एजेन्टलाई अन्य फाइलहरूमा यस प्रकारका परिवर्तनहरू रोल आउट गर्न प्रम्प्ट गर्न सक्छु: "मैले फाइल A मा गरेको परिवर्तनहरू B फाइलमा पनि दोहोर्याउनुहोस्"। अपरिचित टेक्नोलोजीहरूमा सुविधाहरू लागू गर्दै AI कोडिङ उपकरणहरू प्रयोग गरेर मेरो मनपर्ने अहा-क्षणहरू मध्ये एक थियो जब यसले मलाई GLSL मा एकदमै जटिल एनिमेटेड ग्रेडियन्ट एनिमेसन सिर्जना गर्न मद्दत गर्यो, जुन भाषा म एकदमै अपरिचित थिएँ। भर्खरको परियोजनामा, हाम्रा डिजाइनरहरूले 3D वस्तुमा लोड हुने अवस्थाको रूपमा एनिमेटेड ग्रेडियन्ट लिएर आएका थिए। मलाई यो अवधारणा साँच्चै मन पर्यो र हाम्रा ग्राहकहरूलाई अनौठो र रोमाञ्चक कुरा प्रदान गर्न चाहन्थें। दसमस्या: मसँग यसलाई लागू गर्नको लागि दुई दिन मात्र थियो, र GLSL सँग एकदमै ठुलो सिकाइ कर्भ छ। फेरि, एक AI उपकरण (यस अवस्थामा, ChatGPT) काममा आयो, र मैले यसलाई मेरो लागि एक स्ट्यान्डअलोन HTML फाइल सिर्जना गर्न प्रोम्प्ट गर्न थालेँ जसले क्यानभास र धेरै सरल एनिमेटेड कलर ग्रेडियन्ट प्रदान गर्दछ। स्टेप पछी, मैले राम्रो नतिजामा नआउञ्जेल मैले AI लाई यसमा थप चासो थप्न प्रेरित गरें ताकि म मेरो वास्तविक कोडबेसमा शेडरलाई एकीकृत गर्न सुरु गर्न सकूँ। The end result: Our clients were super happy, and we delivered a complex feature in a small amount of time thanks to AI. लेखन परीक्षण मेरो अनुभवमा, एकाइ र एकीकरण परीक्षणहरूको उचित सूट निरन्तर लेख्न र कायम राख्नको लागि परियोजनाहरूमा विरलै पर्याप्त समय हुन्छ, र त्यसको शीर्षमा, धेरै विकासकर्ताहरूले परीक्षणहरू लेख्ने कार्यमा साँच्चै आनन्द लिन सक्दैनन्। तपाइँको AI सहयोगीलाई तपाइँको लागि परीक्षणहरू सेटअप गर्न र लेख्न प्रेरित गर्नु पूर्ण रूपमा सम्भव छ र थोरै समयमा गर्न सकिन्छ। अवश्य पनि, तपाइँ, एक विकासकर्ताको रूपमा, तपाइँको परीक्षणहरूले तपाइँको आवेदनको महत्वपूर्ण भागहरूमा एक नजर राख्दछ र समझदार परीक्षण सिद्धान्तहरू पालना गर्दछ भन्ने कुरा सुनिश्चित गर्नुपर्दछ, तर तपाइँ हाम्रो एआई सहायकलाई परीक्षणहरूको लेखन "आउटसोर्स" गर्न सक्नुहुन्छ। उदाहरण प्रम्प्ट: "यस प्रकार्यको लागि जेस्ट प्रयोग गरेर एकाइ परीक्षणहरू लेख्नुहोस्। सुखी मार्ग, किनारा केसहरू, र असफलता मोडहरू कभर गर्नुहोस्। प्रत्येक परीक्षण किन अवस्थित छ भनेर व्याख्या गर्नुहोस्।"
तपाईले तलका जस्तै तपाईको एजेन्टलाई दिशानिर्देशका रूपमा गुरु केन्ट सी. डोड्सको परीक्षणका उत्कृष्ट अभ्यासहरू पनि पास गर्न सक्नुहुन्छ:
आन्तरिक उपकरण केहि हदसम्म पहिले उल्लेख गरिएको shader उदाहरण जस्तै, मलाई भर्खरै कोडबेसमा कोड डुप्लिकेशन विश्लेषण गर्न र रिफ्याक्टर अघि र पछि तुलना गर्न जिम्मेवारी दिइएको थियो। पक्कै पनि मामूली कार्य होइन यदि तपाईं म्यानुअल रूपमा फाइलहरू तुलना गर्ने समय-उपभोग मार्गमा जान चाहनुहुन्न। Copilot को सहयोगमा, मैले एउटा स्क्रिप्ट सिर्जना गरें जसले मेरो लागि कोड नक्कलको विश्लेषण गर्यो, तालिकामा आउटपुटलाई व्यवस्थित र अर्डर गर्यो, र एक्सेलमा निर्यात गर्यो। त्यसपछि मैले यसलाई एक कदम अगाडि बढाएँ। जब हाम्रो कोड रिफ्याक्टर सकियो, मैले एजेन्टलाई मेरो अवस्थित एक्सेल पानालाई आधारभूत रूपमा लिन, अलग स्तम्भहरूमा नक्कलको वर्तमान स्थितिमा थप्न र डेल्टा गणना गर्न प्रेरित गरें। कोड अपडेट गर्दै धेरै समय पहिले लेखिएको भर्खरै, मेरो एक पुरानो ग्राहकले मलाई हिर्काए, समय बित्दै जाँदा, केहि सुविधाहरू अब उसको वेबसाइटमा ठीकसँग काम गर्दैनन्। क्याच: वेबसाइट लगभग दस वर्ष पहिले बनाइएको थियो, र JavaScript र SCSS ले आवश्यकताJS जस्तै पुरानो कम्पाइल उपकरणहरू प्रयोग गरिरहेको थियो, र सेटअपलाई Node.js को पुरानो संस्करण चाहिन्छ जुन मेरो 2025 MacBook मा पनि चल्दैन। सम्पूर्ण निर्माण प्रक्रियालाई हातले अद्यावधिक गर्न मलाई दिन लाग्ने थियो, त्यसैले मैले AI एजेन्टलाई प्रोम्प्ट गर्ने निर्णय गरें, "के तपाइँ JS र SCSS निर्माण प्रक्रियालाई Vite जस्तै दुबला 2025 स्ट्याकमा अद्यावधिक गर्न सक्नुहुन्छ?" यो पक्कै भयो, र एजेन्टसँग परिष्करणको लगभग एक घण्टा पछि, मैले मेरो SCSS र JS बिल्डलाई Vite मा स्विच गरेको थिएँ, र म वास्तविक बगफिक्सिङमा ध्यान केन्द्रित गर्न सक्षम भएँ। तपाईंको निर्माण प्रक्रियामा त्यस्ता अभिन्न परिवर्तनहरू गर्दा आउटपुट र कम्पाइल गरिएका फाइलहरू ठीकसँग मान्य गर्न निश्चित गर्नुहोस्। संक्षेप र मस्यौदा के तपाइँ कमिट सन्देशको लागि तपाइँको हालैका सबै कोड परिवर्तनहरू एक वाक्यमा संक्षेप गर्न चाहनुहुन्छ, वा कमिटहरूको लामो सूची छ र तिनीहरूलाई तीन बुलेट बिन्दुहरूमा जोड्न चाहनुहुन्छ? कुनै समस्या छैन, AI लाई यसको हेरचाह गर्न दिनुहोस्, तर कृपया यसलाई प्रमाणित गर्न निश्चित गर्नुहोस्। एउटा उदाहरण प्रम्प्ट एक सँगी मानवलाई सन्देश पठाउन जत्तिकै सरल छ: "कृपया संक्षिप्त बुलेट बिन्दुहरूमा मेरो हालैका परिवर्तनहरू जोड्नुहोस्"। मेरो सल्लाह यहाँ सावधानीका साथ लेख्नको लागि GPT प्रयोग गर्ने हो, र कोडको रूपमा, कृपया पठाउनु वा पेश गर्नु अघि आउटपुट जाँच गर्नुहोस्। सिफारिसहरू र उत्तम अभ्यासहरू प्रम्प्ट गर्दै AI प्रयोग गर्नुको एक अस्पष्ट फाइदा भनेको यो हो कि तपाईका प्रम्प्टहरू जति धेरै विशिष्ट र अनुकूलित हुन्छन्, आउटपुट त्यति नै राम्रो हुन्छ। एआई एजेन्टलाई प्रम्प्ट गर्ने प्रक्रियाले हामीलाई लेख्न र कोड गर्नु अघि हाम्रा आवश्यकताहरू विशेष रूपमा सम्भव भएसम्म तयार गर्न बाध्य पार्छ। यसैले, एक सामान्य नियमको रूपमा, म तपाइँको प्रम्प्टिंग संग सकेसम्म विशिष्ट हुन सिफारिस गर्दछु। रायन फ्लोरेन्स, रिमिक्सका सह-लेखक, वाक्यको साथ तपाईंको प्रारम्भिक प्रम्प्ट समाप्त गरेर यस प्रक्रियालाई सुधार गर्न सरल तर शक्तिशाली तरिका सुझाव दिन्छन्: "हामीले सुरु गर्नु अघि, के तपाइँसँग मेरो लागि कुनै प्रश्न छ?"
यस बिन्दुमा, AI सामान्यतया उपयोगी प्रश्नहरूको साथ आउँछ जहाँ तपाइँ तपाइँको विशेष अभिप्राय स्पष्ट गर्न सक्नुहुन्छ, एजेन्टलाई तपाइँको कार्यको लागि थप अनुकूल दृष्टिकोण प्रदान गर्न मार्गदर्शन गर्दछ।
संस्करण नियन्त्रण प्रयोग गर्नुहोस् र पाचन योग्य भागहरूमा काम गर्नुहोस् Git जस्तै संस्करण नियन्त्रण प्रयोग गर्नु एकल कोडबेसमा टोलीको रूपमा सहयोग गर्दा मात्र काममा आउँदैन तर तपाईंलाई एकको रूपमा प्रदान गर्न पनि।आपतकालिन अवस्थामा रोल फिर्ता गर्न स्थिर बिन्दुहरूको साथ व्यक्तिगत योगदानकर्ता। यसको गैर-निश्चयवादी प्रकृतिको कारण, AI कहिलेकाहीं बदमास हुन सक्छ र परिवर्तनहरू गर्न सक्छ जुन तपाईले हासिल गर्न खोज्दै हुनुहुन्छ र अन्ततः चीजहरूलाई अपूरणीय रूपमा तोड्न मद्दत गर्दैन। तपाइँको कामलाई धेरै कमिटहरूमा विभाजन गर्नाले तपाइँलाई स्थिर बिन्दुहरू सिर्जना गर्न मद्दत गर्दछ जुन तपाइँ चीजहरू तिर लागेमा फर्काउन सक्नुहुन्छ। र तपाईंका टोलीका साथीहरूले पनि तपाईंलाई धन्यवाद दिनेछन्, किनकि तिनीहरूले तपाईंको कोडलाई सिमेन्टिक रूपमा राम्रो-संरचित भागहरूमा विभाजित गर्दा समीक्षा गर्न सजिलो समय पाउनेछन्। राम्ररी समीक्षा गर्नुहोस् यो एक सामान्य उत्तम अभ्यास हो, तर मेरो विचारमा, विकास कार्यको लागि AI उपकरणहरू प्रयोग गर्दा यो अझ महत्त्वपूर्ण हुन्छ: तपाईंको कोडको पहिलो महत्वपूर्ण समीक्षक बन्नुहोस्। तपाईंले अरू कसैको कोडको समीक्षा गर्नुभएझैं आफ्नो परिवर्तनको लाइनमा जानको लागि केही समय लिन निश्चित गर्नुहोस्, र तपाईंको आफ्नै समीक्षा पास भएपछि मात्र तपाईंको काम पेश गर्नुहोस्। "अहिले मेरो लागि दुईवटा कुराहरू सत्य छन्: एआई एजेन्टहरू अद्भुत छन् र ठूलो उत्पादकत्व बढाउँछन्। यदि तपाईंले आफ्नो दिमाग बन्द गर्नुभयो र पूर्ण रूपमा छोड्नुभयो भने तिनीहरू पनि ठूलो स्लप मेसिनहरू हुन्।
निष्कर्ष र आलोचनात्मक विचार मेरो विचारमा, एआई कोडिङ उपकरणहरूले दैनिक आधारमा विकासकर्ताहरूको रूपमा हाम्रो उत्पादकता सुधार गर्न र थप योजना र उच्च-स्तरको सोचको लागि मानसिक क्षमतालाई मुक्त गर्न सक्छ। तिनीहरूले हामीलाई सावधानीपूर्वक विवरणको साथ हाम्रो इच्छित परिणामहरू व्यक्त गर्न बाध्य पार्छन्। कुनै पनि AI ले, कहिलेकाहीं, भ्रमित गर्न सक्छ, जसको मूलतया अर्थ यो एक आत्मविश्वास टोन मा निहित छ। त्यसैले कृपया जाँच र परीक्षण गर्न निश्चित गर्नुहोस्, विशेष गरी जब तपाईं शंकामा हुनुहुन्छ। AI चाँदीको बुलेट होइन, र मलाई विश्वास छ, उत्कृष्टता र विकासकर्ताको रूपमा समस्याहरू समाधान गर्ने क्षमता कहिल्यै फेसनबाट बाहिर जानेछैन। विकासकर्ताहरूका लागि जो भर्खर आफ्नो क्यारियरमा सुरू गर्दै छन् यी उपकरणहरू उनीहरूको लागि कामको बहुमत गर्न अत्यधिक प्रलोभन हुन सक्छ। यहाँ के हराउन सक्छ कि बगहरू र समस्याहरू मार्फत अक्सर निकास र पीडादायी काम हो जुन डिबग गर्न र समाधान गर्न गाह्रो हुन्छ, उर्फ "द ग्रान्ड"। यहाँ सम्म कि कर्सर एआई को आफ्नै ली रोबिन्सन ले आफ्नो एक पोस्ट मा यो प्रश्न गर्दछ:
एआई कोडिङ उपकरणहरू द्रुत गतिमा विकसित भइरहेका छन्, र अब के हुनेछ भनेर म उत्साहित छु। मलाई आशा छ कि तपाईंले यो लेख र यसका सुझावहरू उपयोगी पाउनुभयो र यी मध्ये केही आफैंको लागि प्रयास गर्न उत्साहित हुनुहुन्छ।