एकाइ 2 / 12

स्क्रिप्टिङ र स्वत: पूर्ण

लाभ:

  • इनलाइन समापनको साथ कार्य प्रकार सही गर्न च्याट मोड नक्सा गर्ने क्षमता
  • शक्तिशाली उत्पादन प्रम्प्टहरू लेख्ने क्षमता जसमा इनपुट/आउटपुट अनुबंधहरू, किनारा केसहरू र शैली अवरोधहरू समावेश छन्।
  • मर्ज गर्नु अघि उत्पन्न कोड र कुनै पनि नयाँ प्रस्तावित निर्भरताहरू मान्य गर्ने क्षमता

एआईसँग विकासकर्ताको सम्पर्कको पहिलो बिन्दु प्रायः स्वत: पूर्ण हुन्छ - एउटा विशेषता जसले तपाइँले टाइप गर्दा अर्को लाइन सुझाव दिन्छ - वा च्याट विन्डोमा "त्यस प्रकार्य टाइप गर्नुहोस्" भन्नुहुन्छ। तिनीहरू दुवै एउटै इन्जिन प्रयोग गर्छन् तर फरक विषयहरू चाहिन्छ। यस एकाइमा, हामी कोड उत्पादनलाई अनियमित "लेख्नुहोस्" बाट इन्जिनियरिङ चरणमा रूपान्तरण गर्छौं जसको आउटपुट अनुमानित र प्रमाणित हुन्छ।

लक्ष्य भनेको एउटा उपकरणबाट AI लाई तपाइँको टाइपिङ मेसिनलाई गति दिने एक प्रशिक्षुमा बदल्नु हो जसले तपाइँले सेट गरेको बाधाहरूमा काम गर्दछ। एक राम्रो निर्देशित प्रशिक्षुले समय बचत गर्छ; एक अनिर्देशित प्रशिक्षुले एक गडबडी उत्पन्न गर्दछ जुन तपाईले पछि सफा गर्नु पर्छ।

दुई उपयोग मोड: इनलाइन पूरा र च्याट

तपाईंले आफ्नो सम्पादकमा टाइप गर्दा इनलाइन पूरा हुन्छ; तपाइँ एक प्रकार्य हस्ताक्षर वा एक टिप्पणी लाइन टाइप गर्नुहोस् र यसले बाँकी सुझाव दिन्छ। यो गतिको लागि उत्कृष्ट छ, तर यसको साँघुरो सन्दर्भ छ: यसले तत्कालको क्षेत्रमा मात्र कोड देख्छ। यसैले यो राम्रो काम गर्दछ जब तपाइँ आफ्नो मनसाय स्पष्ट रूपमा टिप्पणीमा लेख्नुहुन्छ। उदाहरण को लागी, //प्रमाणित प्रयोगकर्ता ईमेल, यदि अमान्य टिप्पणीले तलको सुझावलाई उल्लेखनीय रूपमा सुधार गर्दछ भने ValidationError फेंक गर्नुहोस्।

च्याट मोड ठूला र संरचित कार्यहरूको लागि हो: "यस वर्गमा पृष्ठांकन थप्नुहोस्", "त्यस सेवाको इन्टरफेस निकाल्नुहोस्"। यहाँ तपाईंसँग भूमिका, सन्दर्भ र ढाँचा दिने लक्जरी छ। सामान्य नियम हो: साना र प्रवाहित कार्यहरूको लागि समापन, सोच र संरचना आवश्यक कार्यहरूको लागि कुराकानी।

सुझाव: "ट्याब" को साथ पूरा गर्ने सुझावलाई अन्धाधुन्ध रूपमा स्वीकार नगर्नुहोस्। एक सेकेन्डको लागि सुझाव गरिएको लाइन पढ्नुहोस्; गलत चल नाम वा उल्टो अवस्था यहाँबाट प्राय: लीक हुन्छ।

इरादालाई कोडमा अनुवाद गर्ने चरणहरू

  1. सम्झौता परिभाषित गर्नुहोस्। प्रकार्यको इनपुट, आउटपुट र त्रुटि व्यवहार के हो? जस्तै "इमेल प्राप्त गर्नुहोस्, मान्य भएमा सामान्य गर्नुहोस्, यदि अमान्य भएमा त्रुटि फेंक गर्नुहोस्"।
  2. बाधाहरू बताउनुहोस्। बाह्य निर्भरता प्रयोग नगर्नुहोस्? एक विशिष्ट शैली गाइड? त्यहाँ प्रदर्शन सीमा छ?
  3. एउटा उदाहरण दिनुहोस्। एक इनपुट–आउटपुट जोडी (“ali@x.com → मान्य, ali@ → त्रुटि”) मोडेलको उद्देश्यको बुझाइलाई भविष्यवाणीबाट परिशुद्धतामा लैजान्छ।
  4. सानो टुक्राहरूको लागि सोध्नुहोस्। एक कार्य, एक जिम्मेवारी। त्यसपछि अर्कोमा जानुहोस्।
  5. पढ्नुहोस् र उत्पन्न कोड चलाउनुहोस्। कम्पाइलिङ + एक द्रुत म्यानुअल प्रयास सस्तो आश्वासन चरण हो।

तीन मिनी केसहरू

केस १ - टिप्पणी-संचालित उत्पादनले शुद्धता बढाउँछ। एक विकासकर्ताले पहिले खाली शरीरको साथ मिति पार्सिङ प्रकार्य अनुरोध गर्यो र 3 राउन्डमा सही परिणाम प्राप्त गर्यो। दोस्रो प्रयासमा, जब मैले 4-लाइन टिप्पणी (स्वीकृत ढाँचा, समय क्षेत्र नियम, त्रुटि अवस्था) को साथ प्रकार्य परिभाषित गरें र अनुरोध गरें, पहिलो राउन्डमा काम गर्ने कोड आयो। एउटै मोडेल, उही दिन; फरक उद्देश्यको स्पष्टता मात्र थियो।

केस २ - संस्करण निर्दिष्ट नगर्नु महँगो छ। एउटा टोलीले Node.js को लागि उत्पादन गरिएको कोडमा fs.promises लाई प्रतिस्थापन गर्ने लिगेसी कलब्याक-आधारित API सँग संघर्ष गर्यो। जब लाइन "Node 20 प्रयोग गर्नुहोस्, ESM, async/await" लाई प्रम्प्टमा थपियो, उत्पादनले पहिलो पटक परियोजनालाई पछ्यायो; सुधारमा खर्च भएको १२ मिनेटको औसत रिसेट गरियो।

केस 3 - बॉयलरप्लेट कोडमा वास्तविक लाभ। एउटा माइक्रोसर्भिसलाई ६ नयाँ DTO (डेटा ट्रान्सफर वस्तु — तहहरू बीचको डेटा बोक्ने सरल डेटा वर्ग) र तिनीहरूको प्रमाणीकरण नियमहरू आवश्यक पर्छ। AI द्वारा उत्पादन र समीक्षा गर्दा लगभग 90 मिनेटको म्यानुअल कामलाई 35 मिनेटमा घटाइयो; कोड दोहोरिने उच्च र ढाँचा स्पष्ट भएकोले, AI ले आफ्नो सबैभन्दा प्रभावकारी क्षेत्रमा काम गर्यो।

चार प्रतिलिपि गर्न मिल्ने टेम्प्लेटहरू

सम्झौतामा आधारित प्रकार्य उत्पादन:

भूमिका: तपाईं एक लगनशील {{भाषा}} विकासकर्ता हुनुहुन्छ। प्रकार्य सम्झौता:- नाम: {{नाम}}- इनपुट: {{प्रकार र तिनीहरूको अर्थ}}- आउटपुट: {{प्रकार र अर्थ}}- त्रुटि स्थिति: {{के फ्याँकिन्छ/फिर्ता हुन्छ जब}}बाधाहरू: {{कुनै बाह्य निर्भरताहरू छैनन्:}} {{कुनै बाह्य निर्भरताहरू / शैली}}}-{101}}-प्रदर्शन / शैली {{output_1}}- {{entry_2}} -> {{error_2}}पहिले हस्ताक्षर + छोटो योजना दिनुहोस्, त्यसपछि कोड दिनुहोस्। लेखन परीक्षण, मात्र प्रकार्य।

अवस्थित शैली मिलाउन (कोड आधारमा अनुकूलन):

तल हाम्रो परियोजनाबाट एक उदाहरण प्रकार्य छ; यहाँ नामकरण, त्रुटि ह्यान्डलिङ र टिप्पणी शैली सिक्नुहोस्। समान शैलीमा {{new_task}} को लागि एउटा प्रकार्य लेख्नुहोस्। उदाहरण: {{current_code}}

कंकाल देखि भरिने सम्म (स्टब → कार्यान्वयन):

टिप्पणीहरूमा TODOs अनुसार तलको प्रकार्य कंकाल भर्नुहोस्। हस्ताक्षर र फिर्ताको प्रकार परिवर्तन गर्नुहोस्। अवस्थित नभएको सहायक प्रकार्य नगर्नुहोस्; यदि आवश्यक छ भने, मलाई थाहा दिनुहोस् "यो सहयोगी आवश्यक छ"। {{skelet_kod}}

वैकल्पिक एप तुलना:

{{task}} का लागि २ फरक कार्यान्वयन दिनुहोस्: (a) पठनीयतालाई प्राथमिकता दिनुहोस्, (b) कार्यसम्पादनलाई प्राथमिकता दिनुहोस्। प्रत्येक अन्तर्गत 1 वाक्य "जब राम्रो छ" लेख्नुहोस्।

कमजोर प्रम्प्ट / बलियो प्रम्प्ट

कमजोर: "मलाई इमेल प्रमाणिकरण प्रकार्य लेख्नुहोस्।"
बलियो: "TypeScript 5, मानक पुस्तकालय मात्र। isValidEmail(इनपुट: string): बुलियन लेख्नुहोस्। खाली ठाउँहरू ट्रिम गर्नुहोस्, यसलाई केस असंवेदनशील बनाउनुहोस्, a@b.co मान्य छ, a@, @b.co, खाली स्ट्रिङ अमान्य छ। यदि तपाइँ regex प्रयोग गर्न जाँदै हुनुहुन्छ भने, टिप्पणीहरू भन्दा बढी थप्नुहोस्। "

शक्तिशाली संस्करण; भाषा, संस्करण, हस्ताक्षर, किनारा केसहरू, र शैली बाधा फर्काउँछ। यसैले, उत्पन्न कोड दुबै काम गर्दछ र तपाइँको परियोजना मा फिट हुन्छ।

दृष्टिकोण

कहिले प्रयोग गर्ने

ध्यान

इनलाइन पूरा

प्रवाहमा साना इन्सर्टहरू

नपढाई सुझाव स्वीकार नगर्नुहोस्

च्याट मा अनुबंध आधारित उत्पादन

नयाँ प्रकार्य/वर्ग

उदाहरण र किनारा मामला दिनुहोस्

शैली नमूना द्वारा उत्पादन

अवस्थित कोडमा थप्दै

हालको नमूना कोड चयन गर्नुहोस्

कंकाल भराई

हस्ताक्षर निश्चित, शरीर खाली

हस्ताक्षर परिवर्तन गर्दै

कोड नक्कल र निर्भरता जाल

AI ले प्राय: आफ्नो काम सजिलो बनाउन नयाँ पुस्तकालय सिफारिस गर्छ। कहिलेकाहीँ यो सही हुन्छ, कहिलेकाहीँ यसले तपाईंको परियोजनामा ​​अनावश्यक निर्भरता थप्छ वा अवस्थित नभएको प्याकेज सुझाव दिन्छ (एक भ्रम)। नियम: तपाइँ प्रत्येक नयाँ निर्भरता पुष्टि गर्नुहुन्छ। प्याकेज वास्तवमा अवस्थित छ, मर्मत गरिएको छ, र उपयुक्त इजाजतपत्र छ भनेर प्रमाणित नगरी यसलाई परियोजनामा ​​थप्नुहोस्। धेरै जसो समय परियोजनामा ​​पहिले नै सहयोगी नयाँ प्याकेज भन्दा राम्रो हुन्छ।

सावधानी: AI द्वारा सुझाव गरिएको आयात लाइनहरूको समीक्षा गर्नुहोस्। एक अस्तित्वहीन प्याकेज नाम (जसले "टाइपो-स्क्वाटिंग" भनिने नक्कली प्याकेजहरू पनि मिल्दोजुल्दो हुन सक्छ) दुबै संकलन तोड्छ र सुरक्षा जोखिम खडा गर्छ।

सामान्य गल्तीहरू

  • मोडेल द्वारा निर्धारित हस्ताक्षर भएको। यदि तपाईंले इनपुट/आउटपुट प्रकारहरू ठीक गर्नुभएन भने, प्रत्येक उत्पादनसँग फरक हस्ताक्षर आउँछ र एकीकरण गाह्रो हुन्छ।
  • किनारा मामिलाहरू उल्लेख नगर्नुहोस्। खाली इनपुट, शून्य, ऋणात्मक संख्या, धेरै ठूलो मान — यदि तपाईंले यी निर्दिष्ट गर्नुभएन भने, मोडेलले "खुशी मार्ग" लेख्छ, किनारहरू छोड्दै।
  • यसलाई परीक्षण नगरी सुझाव संयोजन गर्दै। कोड जुन काम गर्छ जस्तो देखिन्छ यसको मतलब यो काम गर्दैन।
  • अनावश्यक निर्भरता स्वीकार गर्दै। एक-लाइनरको लागि सम्पूर्ण पुस्तकालय थप्दा प्राविधिक ऋण सिर्जना हुन्छ।
  • शैली असंगति। परियोजनाको बाँकी भागबाट फरक नामकरण र त्रुटि ह्यान्डलिङले कोड आधारलाई प्याची बनाउँछ।

संक्षेपमा

जब तपाइँ स्पष्ट सम्झौतामा अभिप्राय अनुवाद गर्नुहुन्छ कोड उत्पादन शक्तिशाली हुन्छ। साना, इन-स्ट्रीम कार्यहरू र कुराकानीमा संरचना स्थापना गर्ने कार्यहरूका लागि इनलाइन पूर्णता प्रयोग गर्नुहोस्। तपाईंले इनपुट/आउटपुट प्रकारहरू, किनारा केसहरू, संस्करण, र शैली निर्दिष्ट गर्नुहुन्छ; मोडेल को एक उदाहरण दिनुहोस्; प्रत्येक नयाँ निर्भरता प्रमाणित गर्नुहोस्; र चलाउनुहोस् र उत्पादन गरिएको प्रत्येक टुक्रा पढ्नुहोस्। AI ले सूत्रगत, दोहोरिने कोडमा उत्कृष्ट भुक्तानी गर्छ — तपाईंले सेट गर्नुभएको सीमाभित्र, यसलाई त्यहीँ चलाउनुहोस्।

आवेदन कार्य

तपाईको प्रोजेक्टबाट एउटा वास्तविक सानो प्रकार्य छान्नुहोस् जुन तपाईले लेख्न आवश्यक छ। पहिले यसलाई "अनुबंध-आधारित प्रकार्य उत्पादन" टेम्प्लेटको साथ AI मा प्रिन्ट गर्नुहोस्, इनपुट/आउटपुट प्रकारहरू, दुई किनारा केसहरू, र शैली अवरोधहरू दिँदै। उत्पन्न कोड कम्पाइल गर्नुहोस् र यसलाई दुई फरक इनपुटहरूको साथ प्रयास गर्नुहोस्। त्यसपछि एउटै प्रकार्यलाई फेरि सोध्नुहोस्, यस पटक कुनै सन्दर्भ बिना "मलाई यो लेख्नुहोस्" र लाइनद्वारा दुई आउटपुटहरू तुलना गर्नुहोस्: कुन किनारा केसहरू छुटेका थिए, कतिवटा सुधारहरू आवश्यक थिए?

चेकलिस्ट

  • [ ] मलाई थाहा छ इनलाइन पूर्णताको साथ च्याट मोड कहाँ प्रयोग गर्ने।
  • [] म प्रकार्य उत्पादनमा इनपुट/आउटपुट अनुबंध र किनारा केसहरू निर्धारण गर्छु।
  • [ ] मैले प्रम्प्टमा भाषा र संस्करण जानकारी थप्ने बानी बनाएको छु।
  • म प्रत्येक उत्पादित टुक्रालाई एसेम्बल गर्नु अघि कम्पाइल र परीक्षण गर्छु।
  • [ ] म AI ले प्रस्ताव गरेको प्रत्येक नयाँ निर्भरतालाई यसको अस्तित्व र आवश्यकता प्रमाणित गरेर पुष्टि गर्छु।
  • [ ] म जाँच गर्छु कि उत्पन्न कोड परियोजनाको शैलीसँग मेल खान्छ।