युनिट 12 / 12

सीमा: सुरक्षा, गोपनीयता, परवाना आणि नैतिकता

नफा:

  • एआय बोगस API, असुरक्षित कोड आणि कॉपीराइट केलेली सामग्री तयार करू शकते हे ओळखण्याची आणि सत्यापित करण्याची क्षमता
  • स्त्रोत कोड गोपनीयता, वैयक्तिक डेटा आणि कॉर्पोरेट धोरणाच्या मर्यादेत AI वापर व्यवस्थापित करण्याची क्षमता
  • परवान्याचे पालन, सुरक्षा आणि नैतिकतेची अंतिम जबाबदारी अभियंत्याकडेच राहते हे समजून घेणे.

मॉड्यूल परीक्षा

1. संगणक अभियंता म्हणून, एआय कोड जनरेशन टूलसह काम करताना, खालीलपैकी कोणाची अंतिम जबाबदारी नेहमी माणसावर राहिली पाहिजे?

  • अ) उत्पादनात टाकलेल्या कोडची शुद्धता, सुरक्षितता आणि पुनरावलोकन आणि चाचणीची अंतिम मान्यता ✔
  • ब) फंक्शनसाठी पहिला कोड सांगाडा तयार करणे
  • क) परिवर्तनीय नावांसाठी सूचनांची यादी तयार करणे
  • ड) कोड टिप्पण्यांसाठी मसुदा मजकूर तयार करणे

वर्णन: AI; हे कोड स्केलेटन, चाचणी मसुदा आणि दस्तऐवजीकरण यासारख्या कार्यांना गती देऊ शकते. तथापि, व्युत्पन्न केलेल्या कोडचे पुनरावलोकन करणे, चाचणी करणे आणि तो योग्य, सुरक्षित आणि आवश्यकतांच्या पूर्ततेसाठी आहे याची खात्री करणे आणि ते उत्पादनात आणणे ही अभियंत्याची जबाबदारी आहे; हे स्वतंत्र पडताळणीशिवाय AI ला सोपवले जाऊ शकत नाही.

2. AI ने तुमच्यासाठी एक फंक्शन तयार केले आहे आणि ते आनंदी मार्गावर काम करत असल्याचे दिसते. उत्पादनात टाकण्यापूर्वी सर्वोत्तम पाऊल कोणते आहे?

  • अ) फंक्शन कार्य करत असल्याचे दिसत असल्याने, ते थेट उत्पादनात ठेवा
  • ब) एज केसेस समाविष्ट असलेल्या छोट्या युनिट चाचण्या लिहून आणि चालवून वर्तन सत्यापित करा ✔
  • क) फंक्शनच्या ओळींची संख्या पाहणे
  • ड) फंक्शनचे नाव अधिक वर्णनात्मक बनवणे

स्पष्टीकरण: काम करताना दिसणे याचा अर्थ योग्य असणे नाही. लहान युनिट चाचण्या लिहिणे आणि चालवणे ज्यामध्ये रिकाम्या इनपुट, शून्य, ऋण, खूप मोठे मूल्य आणि न जुळणे यासारख्या एज केसेस कव्हर करतात आणि ते थेट वातावरणात न हलवता फंक्शनच्या वास्तविक वर्तनाची पडताळणी करतात.

3. AI ने 'array.sortStable()' नावाची पद्धत सुचवली जी तुमच्या भाषेत अस्तित्वात नाही आणि ती स्पष्टपणे स्पष्ट केली. पहिली योग्य कृती कोणती करावी?

  • अ) पद्धत थेट वापरणे कारण AI आत्मविश्वासू वाटतो
  • ब) पद्धत स्वतः परिभाषित करा आणि तिचे नाव अचूक वापरा
  • क) भाषेच्या/लायब्ररीच्या अधिकृत दस्तऐवजीकरणातून पद्धतीचे अस्तित्व सत्यापित करणे ✔
  • ड) कंपाइलर चेतावणी बंद करा आणि सुरू ठेवा

स्पष्टीकरण: भाषा मॉडेल बहुधा लायब्ररी, पॅकेज किंवा पद्धतीची नावे बनवू शकतात जी प्रत्यक्षात अस्तित्वात नाहीत (भ्रम). प्रत्येक प्रस्तावित API भाषा किंवा लायब्ररीच्या अधिकृत आणि वर्तमान दस्तऐवजीकरणाविरुद्ध शब्दशः सत्यापित केले पाहिजे; दस्तऐवजात समाविष्ट नसल्यास, ते वापरले जाऊ नये.

4. तुम्हाला तुमच्या कंपनीचा गोपनीय स्त्रोत कोड आणि एम्बेडेड API की सार्वजनिक AI टूलमध्ये पेस्ट करायची आहे आणि मदत मागायची आहे. सर्वात योग्य दृष्टीकोन कोणता आहे?

  • अ) गतीसाठी API की प्रमाणे कोड पेस्ट करणे
  • ब) फक्त कंपनीचे नाव हटवणे आणि बाकी सर्व काही शेअर करणे पुरेसे आहे
  • C) कोड शेअर करणे आणि नंतर AI ला तो हटवण्यास सांगणे
  • ड) गुपिते आणि छुपे तर्क काढून टाकणे आणि प्रातिनिधिक उदाहरणापर्यंत समस्या कमी करणे किंवा संस्थात्मक साधन वापरणे ✔

वर्णन: गुप्त स्त्रोत कोड आणि क्रेडेन्शियल (API की, पासवर्ड, कनेक्शन स्ट्रिंग); कंपनी गुप्तता आणि सुरक्षिततेच्या दृष्टीने ते धोकादायक आहे. गुपिते आणि लपलेले व्यवसाय तर्क काढून टाकणे आणि समस्या निनावी/प्रतिनिधी उदाहरणापर्यंत कमी करणे किंवा एंटरप्राइझ/नॉन-डेटा शेअरिंग टूल वापरणे आवश्यक आहे.

5. AI ने सांगितले की त्याने लिहिलेल्या शोध कार्याची जटिलता O(n); परंतु कोडमध्ये दोन नेस्टेड लूप आहेत. योग्य अभियांत्रिकी वर्तन काय आहे?

  • अ) कोडचे मॅन्युअली विश्लेषण करा आणि गुंतागुंत स्वतः काढा आणि आवश्यक असल्यास ते मोजा ✔
  • ब) O(n) स्वीकारा आणि सुरू ठेवा कारण AI ने सांगितले
  • क) सायकलच्या संख्येचा कार्यक्षमतेशी काहीही संबंध नाही असे गृहीत धरले जाते
  • ड) फंक्शनचे नाव बदला

स्पष्टीकरण: वेळेची जटिलता (बिग-ओ) इनपुट वाढते म्हणून ऑपरेशन्सची संख्या कशी वाढते हे दर्शवते. दोन नेस्टेड लूपचा अर्थ सहसा O(n^2) असतो. कोडचे मॅन्युअली विश्लेषण करून आणि आवश्यक असल्यास वाढत्या इनपुटसह मोजमाप करून एआयच्या जटिलतेचा दावा सत्यापित केला पाहिजे; दाव्यावर विसंबून राहिल्याने कामगिरीची चुकीची धारणा निर्माण होते.

6. AI व्युत्पन्न केलेला कोड जो मजकूर एकत्रित करून वापरकर्ता इनपुट थेट SQL क्वेरीमध्ये समाविष्ट करतो. येथे मुख्य समस्या आणि योग्य उपाय काय आहे?

  • अ) काही हरकत नाही; मजकूर विलीन करणे ही सर्वात वेगवान पद्धत आहे
  • ब) एसक्यूएल इंजेक्शनचा धोका आहे; इनपुट वेगळे करणारी पॅरामीटराइज्ड क्वेरी (तयार स्टेटमेंट) वापरली जावी ✔
  • क) फक्त क्वेरीला अपरकेसमध्ये रूपांतरित करणे पुरेसे आहे
  • ड) प्रश्न लहान लिहिल्यास समस्या सुटेल

वर्णन: क्वेरी टेक्स्टमध्ये थेट वापरकर्ता इनपुट जोडल्याने SQL इंजेक्शन भेद्यता निर्माण होते; आक्रमणकर्ता इनपुटसह क्वेरी सुधारू शकतो. योग्य उपाय म्हणजे पॅरामीटराइज्ड क्वेरी (तयार विधान) वापरणे जे इनपुटला क्वेरी मजकूरापासून वेगळे करते. ही एआय कोडमधील सर्वात सामान्यपणे चुकलेल्या सुरक्षा चुकांपैकी एक आहे.

7. AI द्वारे निर्मित कोडच्या तुकड्याचे पुनरावलोकन करताना तुमच्याकडे मर्यादित वेळ आहे. कोणत्या मुद्द्यांना प्राधान्य देणे चांगले आहे?

  • अ) फक्त फॉरमॅट तपशील जसे की इंडेंटेशन आणि स्पेसिंग
  • ब) व्हेरिएबल नावांची फक्त लांबी
  • क) तार्किक शुद्धता, भेद्यता आणि एज केस वर्तन ✔
  • ड) फक्त फाइलच्या एकूण ओळींची संख्या

वर्णन: कोड पुनरावलोकनात सर्वाधिक धोका; तार्किक त्रुटी, सुरक्षितता भेद्यता आणि गोपनीय माहिती लीक यांसारख्या गंभीर हानी करणाऱ्या या समस्या आहेत. स्वरूप आणि शैली समस्या स्वयंचलित साधनांसह निश्चित केल्या आहेत; मुख्य मानवी लक्ष अचूकता, सुरक्षितता आणि धार केस वर्तन समर्पित केले पाहिजे.

8. तुम्हाला एआयने बग सोडवायचे आहे. कोणते इनपुट AI ला मूळ कारण शोधण्यात मदत करेल?

  • अ) फक्त 'कोड काम करत नाही, त्याचे निराकरण करा' असे म्हणणे
  • ब) फक्त फाइलचे नाव द्या
  • क) त्रुटी मजकूर न करता फक्त अपेक्षित परिणाम सांगणे
  • ड) संपूर्ण त्रुटी संदेश, स्टॅक ट्रेस, संबंधित कोड आणि किमान पुनरुत्पादन उदाहरण प्रदान करा ✔

स्पष्टीकरण: प्रभावी डीबगिंगसाठी, AI ला संपूर्ण त्रुटी संदेश, स्टॅक ट्रेस, संबंधित कोड स्निपेट आणि त्रुटी निर्माण करणारा सर्वात लहान पुनरुत्पादक नमुना देणे आवश्यक आहे. 'काम करत नाही' हे अस्पष्ट विधान AI ला अंदाज घेण्यास आणि ब्लँकेट शिफारसी करण्यास भाग पाडते.

9. AI द्वारे उत्पादित केलेल्या सर्व युनिट चाचण्या पहिल्या धावत उत्तीर्ण होतात. या परिस्थितीत कोणत्या धोक्याकडे दुर्लक्ष केले जाऊ नये?

  • अ) चाचण्या कोडच्या वर्तमान स्थितीची पुष्टी करू शकतात परंतु वास्तविक/अपेक्षित वर्तन नाही ✔
  • ब) कोड पूर्णपणे त्रुटीमुक्त आहे कारण सर्व चाचण्या उत्तीर्ण झाल्या आहेत
  • क) चाचण्यांची संख्या मोठी असल्यास गुणवत्तेची हमी दिली जाते
  • ड) चाचणी उत्तीर्ण केल्याने कव्हरेज पूर्ण झाल्याचे सिद्ध होते

स्पष्टीकरण: चाचण्या कोडच्या वर्तमान (कदाचित बग्गी) वर्तनाचे प्रमाणीकरण करत असू शकतात, त्याचे हेतू वर्तन नाही; किंवा त्यात कोणतेही अर्थपूर्ण प्रतिपादन असू शकत नाही आणि ते नेहमी पास केले जाते. चाचण्या वास्तविक अपेक्षा तपासत आहेत हे पाहण्यासाठी, जाणीवपूर्वक कोड तोडणे आणि चाचणी लाल झाल्याची पुष्टी करणे आवश्यक आहे.

10. AI ने तुम्हाला समस्येसाठी कोडचा एक रेडीमेड ब्लॉक तयार केला आहे. तुम्हाला शंका आहे की ओपन सोर्स प्रोजेक्टवरून कोड शब्दशः कॉपी केला गेला असावा. योग्य दृष्टीकोन कोणता आहे?

  • अ) विचार न करता परवाना वापरणे कारण कोड कार्य करते
  • ब) कोडचा स्त्रोत/परवाना तपासणे, आवश्यक असल्यास पुन्हा लिहिणे आणि कॉर्पोरेट धोरणाचे पालन करणे ✔
  • क) फक्त व्हेरिएबलची नावे बदला आणि समस्या सोडवल्याचा विचार करा
  • ड) असे गृहीत धरून की परवाना केवळ मोठ्या कंपन्यांशी संबंधित आहे

वर्णन: AI कॉपीराईट/परवानाकृत कोड प्रशिक्षण डेटामध्ये शब्दशः पुनरुत्पादित करू शकते. व्यावसायिक उत्पादनामध्ये परवान्याचे उल्लंघन गंभीर कायदेशीर धोके निर्माण करते. कोडचा स्त्रोत आणि परवाना तपासणे आवश्यक आहे, आवश्यक असल्यास ते आपल्या स्वतःच्या शब्दात पुन्हा लिहा आणि संस्थेच्या परवाना धोरणाचे पालन करा.

11. AI ने सुचवले की तुम्ही तुमच्या प्रोजेक्टसाठी मायक्रोसर्व्हिसेस आर्किटेक्चरवर त्वरित स्विच करा. या प्रस्तावाचे मूल्यमापन करताना सर्वात योग्य अभियांत्रिकी दृष्टीकोन कोणता आहे?

  • अ) ताबडतोब संपूर्ण प्रणाली मायक्रोसर्व्हिसेसमध्ये विभाजित करा कारण AI सुचवते
  • ब) मायक्रोसर्व्हिस ही नेहमीच सर्वोत्तम निवड असते असे गृहीत धरून
  • क) वास्तविक गरज, भार, सांघिक रचना आणि अधिक-वजा शिल्लक यानुसार प्रस्तावाचे मूल्यमापन करा ✔
  • ड) केवळ आर्किटेक्चरच्या लोकप्रियतेवर आधारित निर्णय घेणे

स्पष्टीकरण: वास्तुशास्त्रीय निर्णय संदर्भावर अवलंबून असतात; मायक्रोसर्व्हिसेस स्केल आणि टीम सेपरेशन यासारख्या गरजांमध्ये मूल्य वाढवतात, परंतु ऑपरेशनल क्लिष्टता, वितरित डीबगिंग आणि खर्च यासारख्या खर्चासह येतात. वास्तविक गरज, भार, सांघिक रचना आणि साधक-बाधक समतोल यानुसार प्रस्तावाचे मूल्यांकन करा; सामान्य सल्ल्याचे आंधळेपणाने पालन करू नये.

12. AI ने तुमच्या कोडसाठी एक सुव्यवस्थित README आणि API दस्तऐवजीकरण तयार केले आहे; परंतु काही एंडपॉइंट्स आणि पॅरामीटर्स कोडमध्ये जुळत नाहीत. योग्य वर्तन काय आहे?

  • अ) दस्तऐवज जसेच्या तसे प्रकाशित करणे कारण मजकूर अस्खलित आहे
  • ब) फक्त शीर्षक निश्चित करा आणि बाकीचे आहे तसे सोडा
  • क) दस्तऐवज न वाचता गोदामात जोडणे
  • ड) प्रत्येक एंडपॉईंट आणि पॅरामीटरची वास्तविक कोडशी तुलना करा आणि जे जुळत नाही ते निश्चित करा ✔

वर्णन: दस्तऐवजीकरण वास्तविक कोडचे अचूक प्रतिबिंब असावे; चुकीचे दस्तऐवज ते वाचणाऱ्या विकसकांना ते चुकीच्या पद्धतीने वापरण्यासाठी ढकलतात. प्रत्येक एंडपॉईंट, पॅरामीटर आणि रिटर्न व्हॅल्यू हे वास्तविक कोडच्या विरूद्ध सत्यापित केले जावे आणि कोणत्याही विसंगती दुरुस्त केल्या पाहिजेत.

13. AI कडून कोडची विनंती करताना उच्च दर्जाच्या आउटपुटसाठी कोणता इनपुट दृष्टीकोन योग्य आहे?

  • अ) स्पष्टपणे भाषा/आवृत्ती, इनपुट-आउटपुट करार, मर्यादा आणि त्रुटी परिस्थिती प्रदान करणे ✔
  • ब) फक्त 'मला काही कार्य कोड लिहा' असे म्हणणे
  • क) कोणताही संदर्भ न देता सर्वात लहान विनंती लिहा
  • ड) कोडच्या किती ओळी असतील ते फक्त निर्दिष्ट करणे

वर्णन: शक्तिशाली प्रॉम्प्ट; यामध्ये वापरलेली भाषा आणि आवृत्ती, इनपुट-आउटपुट करार, कार्यप्रदर्शन आणि शैलीतील मर्यादा, त्रुटी अटी आणि 'केवळ विनंती केलेल्या कार्यक्षेत्रात राहा' सूचना समाविष्ट आहे. संदर्भहीन 'मला एक फंक्शन लिहा' विनंती सामान्य आहे आणि अनेकदा अयोग्य कोड तयार करते.

14. AI ने तुमच्या CI/CD (सतत एकीकरण/उपयोजन) पाइपलाइनसाठी एक कॉन्फिगरेशन तयार केले आणि त्यात डेटाबेस पासवर्ड प्लेन टेक्स्टमध्ये एम्बेड केला. योग्य निराकरण कोणते आहे?

  • अ) पासवर्ड साधा मजकूर म्हणून सोडणे कारण ते कार्य करते
  • ब) रेपॉजिटरीमध्ये साधा मजकूर न ठेवता, पर्यावरण परिवर्तनीय किंवा गुप्त व्यवस्थापन साधनाद्वारे गुपिते बाहेर हलवणे ✔
  • क) पासवर्ड फक्त टिप्पणी ओळीवर हलवा
  • ड) फाइलचे नाव बदलल्याने समस्या सुटते

स्पष्टीकरण: कॉन्फिगरेशन फाईलमध्ये साध्या मजकुरात पासवर्ड आणि की यासारखे रहस्ये लिहिल्याने आवृत्ती नियंत्रण आणि अनधिकृत प्रवेश लीक होण्याचा धोका असतो. गुपिते; हे पर्यावरणीय चलने किंवा विशेष रहस्य व्यवस्थापकाद्वारे बाहेर ठेवले पाहिजे आणि साध्या मजकुरात कधीही रेपॉजिटरी प्रविष्ट करू नये.