ইউনিট 12 / 12

সীমানা: নিরাপত্তা, গোপনীয়তা, লাইসেন্স এবং নীতিশাস্ত্র

লাভ:

  • চিনতে এবং যাচাই করার ক্ষমতা যে AI জাল API, অনিরাপদ কোড এবং কপিরাইটযুক্ত সামগ্রী তৈরি করতে পারে
  • সোর্স কোড গোপনীয়তা, ব্যক্তিগত ডেটা এবং কর্পোরেট নীতির সীমার মধ্যে AI ব্যবহার পরিচালনা করার ক্ষমতা
  • লাইসেন্স কমপ্লায়েন্স, সিকিউরিটি এবং নৈতিকতার চূড়ান্ত দায়িত্ব প্রকৌশলীর উপরই রয়ে গেছে তা বোঝা।

মডিউল পরীক্ষা

1. একজন কম্পিউটার প্রকৌশলী হিসাবে, যখন একটি AI কোড জেনারেশন টুলের সাথে কাজ করা হয়, তখন নিচের কোনটির জন্য চূড়ান্ত দায়িত্ব সর্বদা মানুষের কাছে থাকা উচিত?

  • ক) উৎপাদনে রাখা কোডের সঠিকতা, নিরাপত্তা এবং পর্যালোচনা এবং পরীক্ষার চূড়ান্ত অনুমোদন ✔
  • খ) একটি ফাংশনের জন্য প্রথম কোড কঙ্কাল তৈরি করা
  • গ) পরিবর্তনশীল নামের জন্য পরামর্শের একটি তালিকা তৈরি করা
  • ঘ) কোড মন্তব্যের জন্য একটি খসড়া পাঠ্য প্রস্তুত করা

বর্ণনা: এআই; এটি কোড কঙ্কাল, পরীক্ষার খসড়া এবং ডকুমেন্টেশনের মতো কাজগুলিকে ত্বরান্বিত করতে পারে। যাইহোক, এটি সঠিক, নিরাপদ এবং প্রয়োজনীয়তাগুলির সাথে সঙ্গতিপূর্ণ কিনা তা নিশ্চিত করার জন্য উত্পাদিত কোড পর্যালোচনা করা, পরীক্ষা করা এবং অনুমোদন করা এবং এটি উৎপাদনে রাখা প্রকৌশলীর দায়িত্ব; স্বাধীন যাচাই ছাড়া এটি এআই-কে অর্পণ করা যাবে না।

2. AI আপনার জন্য একটি ফাংশন তৈরি করেছে এবং এটি সুখী পথে কাজ করছে বলে মনে হচ্ছে। উত্পাদনে এটি নির্বাণ আগে সেরা পদক্ষেপ কি?

  • ক) যেহেতু ফাংশনটি কাজ করছে বলে মনে হচ্ছে, এটি সরাসরি উৎপাদনে রাখুন
  • খ) ছোট ইউনিট পরীক্ষা লিখে এবং চালানোর মাধ্যমে আচরণ যাচাই করুন যাতে এজ কেস অন্তর্ভুক্ত থাকে ✔
  • গ) শুধু ফাংশনের লাইনের সংখ্যা দেখে
  • ঘ) ফাংশনের নাম আরও বর্ণনামূলক করা

ব্যাখ্যা: কাজে উপস্থিত হওয়া মানে সঠিক হওয়া নয়। খালি ইনপুট, শূন্য, নেতিবাচক, খুব বড় মান এবং অমিলের মতো প্রান্তের ক্ষেত্রে কভার করে এমন ছোট ইউনিট পরীক্ষাগুলি লেখা এবং চালানো হচ্ছে লাইভ পরিবেশে না নিয়েই ফাংশনের প্রকৃত আচরণ যাচাই করে।

3. AI 'array.sortStable()' নামক একটি পদ্ধতির পরামর্শ দিয়েছে যা আপনার ভাষায় বিদ্যমান নেই এবং এটি একটি পরিষ্কারভাবে ব্যাখ্যা করেছে। প্রথম সঠিক পদক্ষেপ কি নিতে হবে?

  • ক) পদ্ধতিটি সরাসরি ব্যবহার করা কারণ AI আত্মবিশ্বাসী বলে মনে হচ্ছে
  • খ) পদ্ধতিটি নিজেই সংজ্ঞায়িত করুন এবং এর নামটি সঠিকভাবে ব্যবহার করুন
  • গ) ভাষা/লাইব্রেরির অফিসিয়াল ডকুমেন্টেশন থেকে পদ্ধতির অস্তিত্ব যাচাই করা ✔
  • ঘ) কম্পাইলার সতর্কতা বন্ধ করুন এবং চালিয়ে যান

ব্যাখ্যা: ভাষার মডেলগুলি সম্ভবত লাইব্রেরি, প্যাকেজ বা পদ্ধতির নামগুলি তৈরি করতে পারে যা আসলে বিদ্যমান নেই (হ্যালুসিনেট)। প্রতিটি প্রস্তাবিত API ভাষা বা লাইব্রেরির অফিসিয়াল এবং বর্তমান ডকুমেন্টেশনের বিরুদ্ধে মৌখিকভাবে যাচাই করা উচিত; যদি এটি নথিতে অন্তর্ভুক্ত না হয় তবে এটি ব্যবহার করা উচিত নয়।

4. আপনি আপনার কোম্পানির গোপনীয় সোর্স কোড এবং একটি এম্বেড করা API কী একটি পাবলিক AI টুলে পেস্ট করতে চান এবং সাহায্য চাইতে চান। সবচেয়ে সঠিক পন্থা কোনটি?

  • ক) গতির জন্য API কী দিয়ে কোডটি পেস্ট করা
  • খ) শুধুমাত্র কোম্পানির নাম মুছে ফেলা এবং বাকি সবকিছু শেয়ার করাই যথেষ্ট
  • গ) কোড শেয়ার করা এবং তারপর AI কে এটি মুছে ফেলতে বলা
  • ঘ) গোপনীয়তা এবং লুকানো যুক্তি অপসারণ এবং একটি প্রতিনিধি উদাহরণে সমস্যা হ্রাস করা বা একটি প্রাতিষ্ঠানিক সরঞ্জাম ব্যবহার করে ✔

বর্ণনা: গোপন উৎস কোড এবং শংসাপত্র (API কী, পাসওয়ার্ড, সংযোগ স্ট্রিং); এটি কোম্পানির গোপনীয়তা এবং নিরাপত্তার দিক থেকে ঝুঁকিপূর্ণ। গোপনীয়তা এবং লুকানো ব্যবসায়িক যুক্তিকে বের করে আনতে এবং সমস্যাটিকে একটি বেনামী/প্রতিনিধি উদাহরণে কমাতে বা একটি এন্টারপ্রাইজ/নন-ডেটা শেয়ারিং টুল ব্যবহার করতে হবে।

5. AI বলেছেন যে একটি অনুসন্ধান ফাংশনের জটিলতা যা তিনি লিখেছেন O(n); কিন্তু কোডে দুটি নেস্টেড লুপ আছে। সঠিক প্রকৌশল আচরণ কি?

  • ক) কোডটি নিজে বিশ্লেষণ করুন এবং জটিলতা নিজেই বের করুন এবং প্রয়োজনে এটি পরিমাপ করুন ✔
  • B) O(n) স্বীকার করুন এবং চালিয়ে যান কারণ AI বলেছে
  • গ) অনুমান চক্র সংখ্যা কর্মক্ষমতা সঙ্গে কিছুই করার নেই
  • ঘ) শুধু ফাংশনের নাম পরিবর্তন করুন

ব্যাখ্যা: সময় জটিলতা (বিগ-ও) দেখায় কিভাবে ইনপুট বৃদ্ধির সাথে সাথে ক্রিয়াকলাপের সংখ্যা বৃদ্ধি পায়। দুটি নেস্টেড লুপ সাধারণত O(n^2) বোঝায়। AI এর জটিলতা দাবিটি ম্যানুয়ালি কোড বিশ্লেষণ করে এবং প্রয়োজনে ইনপুট বৃদ্ধির মাধ্যমে পরিমাপ করে যাচাই করা উচিত; দাবির উপর নির্ভর করা কর্মক্ষমতা সম্পর্কে একটি মিথ্যা অনুমান তৈরি করে।

6. এআই জেনারেটেড কোড যা সরাসরি পাঠ্য সংযুক্ত করে একটি এসকিউএল ক্যোয়ারীতে ব্যবহারকারীর ইনপুট সন্নিবেশ করে। এখানে মূল সমস্যা এবং সঠিক সমাধান কি?

  • ক) কোন সমস্যা নেই; পাঠ্য একত্রিত করা দ্রুততম পদ্ধতি
  • খ) এসকিউএল ইনজেকশন একটি ঝুঁকি আছে; একটি প্যারামিটারাইজড ক্যোয়ারী (প্রস্তুত বিবৃতি) যা ইনপুটকে আলাদা করে ✔ ব্যবহার করা উচিত
  • গ) শুধুমাত্র ক্যোয়ারীটিকে বড় হাতের অক্ষরে রূপান্তর করাই যথেষ্ট
  • ঘ) প্রশ্নটি ছোট করে লিখলে সমস্যার সমাধান হবে

বর্ণনা: ক্যোয়ারী টেক্সটে সরাসরি ব্যবহারকারীর ইনপুট যোগ করা একটি এসকিউএল ইনজেকশন দুর্বলতা তৈরি করে; আক্রমণকারী ইনপুট দিয়ে ক্যোয়ারী পরিবর্তন করতে পারে। সঠিক সমাধান হল একটি প্যারামিটারাইজড ক্যোয়ারী (প্রস্তুত বিবৃতি) ব্যবহার করা যা ক্যোয়ারী টেক্সট থেকে ইনপুটকে আলাদা করে। এটি AI কোডে সবচেয়ে বেশি মিস করা নিরাপত্তা ভুলগুলির মধ্যে একটি।

7. AI দ্বারা উত্পাদিত কোডের একটি অংশ পর্যালোচনা করার সময় আপনার কাছে সীমিত সময় আছে। কোন বিষয়গুলিকে অগ্রাধিকার দেওয়া ভাল?

  • ক) শুধুমাত্র বিন্যাসের বিবরণ যেমন ইন্ডেন্টেশন এবং স্পেসিং
  • খ) পরিবর্তনশীল নামের শুধুমাত্র দৈর্ঘ্য
  • গ) যৌক্তিক সঠিকতা, দুর্বলতা এবং প্রান্ত ক্ষেত্রে আচরণ ✔
  • D) শুধুমাত্র ফাইলের মোট লাইন সংখ্যা

বর্ণনা: কোড পর্যালোচনায় সর্বোচ্চ ঝুঁকি; এগুলি এমন সমস্যা যা গুরুতর ক্ষতির কারণ হয়, যেমন যৌক্তিক ত্রুটি, সুরক্ষা দুর্বলতা এবং গোপনীয় তথ্য ফাঁস৷ বিন্যাস এবং শৈলী সমস্যা স্বয়ংক্রিয় সরঞ্জাম দিয়ে সংশোধন করা হয়; প্রধান মানুষের মনোযোগ সঠিকতা, নিরাপত্তা এবং প্রান্ত কেস আচরণ নিবেদিত করা উচিত.

8. আপনি AI একটি বাগ সমাধান করতে চান। কোন ইনপুট AI কে মূল কারণ খুঁজে পেতে সাহায্য করবে?

  • ক) শুধু বলুন 'কোড কাজ করে না, ঠিক করুন'
  • খ) শুধু ফাইলের নাম দিন
  • গ) ভুল টেক্সট ছাড়াই শুধু প্রত্যাশিত ফলাফল বলছে
  • ঘ) সম্পূর্ণ ত্রুটি বার্তা, স্ট্যাক ট্রেস, প্রাসঙ্গিক কোড এবং ন্যূনতম প্রজনন উদাহরণ প্রদান করুন ✔

ব্যাখ্যা: কার্যকর ডিবাগিংয়ের জন্য, AI-কে সম্পূর্ণ ত্রুটির বার্তা, স্ট্যাক ট্রেস, প্রাসঙ্গিক কোড স্নিপেট এবং ক্ষুদ্রতম পুনরুত্পাদনযোগ্য নমুনা দেওয়া প্রয়োজন যা ত্রুটি তৈরি করে। অস্পষ্ট বিবৃতি 'কাজ করে না' এআইকে অনুমান করতে এবং কম্বল সুপারিশ করতে বাধ্য করে।

9. AI দ্বারা উত্পাদিত সমস্ত ইউনিট পরীক্ষা প্রথম রানে পাস করে। এই পরিস্থিতিতে কোন ঝুঁকি উপেক্ষা করা উচিত নয়?

  • ক) পরীক্ষাগুলি কোডের বর্তমান অবস্থা নিশ্চিত করতে পারে কিন্তু প্রকৃত/প্রত্যাশিত আচরণ নয় ✔
  • খ) কোডটি সম্পূর্ণ ত্রুটিমুক্ত কারণ সমস্ত পরীক্ষায় উত্তীর্ণ হয়েছে
  • গ) পরীক্ষার সংখ্যা বড় হলে গুণমান নিশ্চিত করা হয়
  • ঘ) পরীক্ষায় উত্তীর্ণ হওয়া প্রমাণ করে যে কভারেজ সম্পূর্ণ

ব্যাখ্যা: পরীক্ষাগুলি কোডের বর্তমান (সম্ভবত বগি) আচরণকে যাচাই করতে পারে, এর উদ্দেশ্যমূলক আচরণ নয়; অথবা এতে কোনো অর্থপূর্ণ দাবী নাও থাকতে পারে এবং সর্বদা পাস হয়। পরীক্ষাগুলি প্রকৃত প্রত্যাশা পরীক্ষা করছে তা দেখতে, সচেতনভাবে কোডটি ভাঙ্গতে হবে এবং পরীক্ষাটি লাল হয়ে গেছে তা নিশ্চিত করতে হবে।

10. একটি সমস্যার জন্য AI আপনাকে কোডের একটি রেডিমেড ব্লক তৈরি করেছে। আপনি সন্দেহ করছেন যে কোডটি একটি ওপেন সোর্স প্রকল্প থেকে মৌখিকভাবে অনুলিপি করা হয়েছে। কোনটি সঠিক পন্থা?

  • ক) চিন্তা না করে লাইসেন্স ব্যবহার করা কারণ কোড কাজ করে
  • খ) কোডের উৎস/লাইসেন্স পরীক্ষা করা, প্রয়োজনে পুনরায় লেখা এবং কর্পোরেট নীতি মেনে চলা ✔
  • গ) শুধু পরিবর্তনশীল নাম পরিবর্তন করুন এবং সমস্যার সমাধান বিবেচনা করুন
  • D) অনুমান করা হচ্ছে যে লাইসেন্সিং শুধুমাত্র বড় কোম্পানিগুলির সাথে সম্পর্কিত

বর্ণনা: AI কপিরাইটযুক্ত/লাইসেন্সযুক্ত কোডটি প্রশিক্ষণের ডেটা শব্দে পুনরুত্পাদন করতে পারে। একটি বাণিজ্যিক পণ্যে লাইসেন্স লঙ্ঘন গুরুতর আইনি ঝুঁকি তৈরি করে। কোডটির উত্স এবং লাইসেন্স পরীক্ষা করা প্রয়োজন, প্রয়োজনে এটি আপনার নিজের ভাষায় পুনরায় লিখুন এবং প্রতিষ্ঠানের লাইসেন্সিং নীতি মেনে চলুন।

11. AI পরামর্শ দিয়েছে যে আপনি অবিলম্বে আপনার প্রকল্পের জন্য মাইক্রোসার্ভিসেস আর্কিটেকচারে স্যুইচ করুন। এই প্রস্তাবটি মূল্যায়ন করার সময় সবচেয়ে উপযুক্ত প্রকৌশল পদ্ধতি কি?

  • ক) অবিলম্বে পুরো সিস্টেমটিকে মাইক্রোসার্ভিসে ভাগ করুন কারণ এআই পরামর্শ দেয়
  • খ) মাইক্রোসার্ভিস সর্বদা সর্বোত্তম পছন্দ
  • গ) প্রকৃত প্রয়োজন, লোড, দলের গঠন এবং প্লাস-মাইনাস ব্যালেন্স অনুযায়ী প্রস্তাবটি মূল্যায়ন করুন ✔
  • ঘ) শুধুমাত্র স্থাপত্যের জনপ্রিয়তার উপর ভিত্তি করে সিদ্ধান্ত নেওয়া

ব্যাখ্যা: স্থাপত্য সংক্রান্ত সিদ্ধান্ত প্রেক্ষাপটের উপর নির্ভর করে; মাইক্রোসার্ভিস স্কেল এবং টিম সেপারেশনের মতো প্রয়োজনে মূল্য যোগ করে, কিন্তু অপারেশনাল জটিলতা, ডিস্ট্রিবিউটেড ডিবাগিং এবং খরচের মতো খরচের সাথে আসে। প্রকৃত প্রয়োজন, লোড, দলের গঠন এবং ভালো-মন্দ ভারসাম্য অনুযায়ী প্রস্তাবের মূল্যায়ন করুন; সাধারণ উপদেশ অন্ধভাবে অনুসরণ করা উচিত নয়।

12. AI আপনার কোডের জন্য একটি সুবিন্যস্ত README এবং API ডকুমেন্টেশন তৈরি করেছে; কিন্তু কিছু এন্ডপয়েন্ট এবং প্যারামিটার কোডে মেলে না। সঠিক আচরণ কি?

  • ক) নথিটি যেমন প্রকাশ করা হয় কারণ পাঠ্যটি সাবলীল
  • খ) শুধু শিরোনাম ঠিক করুন এবং বাকিটা যেমন আছে রেখে দিন
  • গ) ডকুমেন্টটি না পড়ে গুদামে যোগ করা
  • D) প্রতিটি এন্ডপয়েন্ট এবং প্যারামিটারকে প্রকৃত কোডের সাথে তুলনা করুন এবং মেলে না এমন যেকোনও ঠিক করুন ✔

বর্ণনা: ডকুমেন্টেশন প্রকৃত কোডের একটি সঠিক প্রতিফলন হওয়া উচিত; ভুল নথিটি ডেভেলপারদের যারা এটি পড়ে তাদের ভুলভাবে ব্যবহার করার জন্য চাপ দেয়। প্রতিটি এন্ডপয়েন্ট, প্যারামিটার এবং রিটার্ন মান প্রকৃত কোডের বিপরীতে যাচাই করা উচিত এবং যেকোন অমিলগুলি সংশোধন করা উচিত।

13. AI থেকে কোড অনুরোধ করার সময় সর্বোচ্চ মানের আউটপুটের জন্য কোন ইনপুট পদ্ধতিটি সঠিক?

  • ক) স্পষ্টভাবে ভাষা/সংস্করণ, ইনপুট-আউটপুট চুক্তি, সীমাবদ্ধতা এবং ত্রুটির পরিস্থিতি প্রদান করা ✔
  • খ) শুধু বলছে 'আমাকে কিছু কাজের কোড লিখুন'
  • গ) কোন প্রসঙ্গ না দিয়ে সংক্ষিপ্ততম অনুরোধটি লিখুন
  • ঘ) কোডের কয়টি লাইন থাকবে তা শুধু উল্লেখ করা

বর্ণনা: শক্তিশালী প্রম্পট; এতে ব্যবহৃত ভাষা এবং সংস্করণ, ইনপুট-আউটপুট চুক্তি, কর্মক্ষমতা এবং শৈলীর সীমাবদ্ধতা, ত্রুটির শর্তাবলী এবং 'শুধুমাত্র অনুরোধকৃত সুযোগের মধ্যে থাকুন' নির্দেশ অন্তর্ভুক্ত রয়েছে। একটি প্রাসঙ্গিক 'আমাকে একটি ফাংশন লিখুন' অনুরোধটি জেনেরিক এবং প্রায়শই অনুপযুক্ত কোড তৈরি করে।

14. AI আপনার CI/CD (নিরবিচ্ছিন্ন ইন্টিগ্রেশন/ডিপ্লয়মেন্ট) পাইপলাইনের জন্য একটি কনফিগারেশন তৈরি করেছে এবং ডাটাবেস পাসওয়ার্ডটি প্লেইন টেক্সটে এম্বেড করেছে। কোনটি সঠিক ফিক্স?

  • ক) পাসওয়ার্ডটিকে প্লেইন টেক্সট হিসাবে রেখে দেওয়া কারণ এটি কাজ করে
  • খ) এনভায়রনমেন্ট ভেরিয়েবল বা সিক্রেট ম্যানেজমেন্ট টুলের মাধ্যমে গোপনীয়তা সরিয়ে ফেলা, ভান্ডারে প্লেইনটেক্সট না রাখা ✔
  • গ) পাসওয়ার্ডটি শুধুমাত্র মন্তব্য লাইনে সরান
  • ঘ) ফাইলের নাম পরিবর্তন করলে সমস্যার সমাধান হয়

ব্যাখ্যা: কনফিগারেশন ফাইলে প্লেইন টেক্সটে পাসওয়ার্ড এবং কীগুলির মতো গোপনীয়তা লিখলে সংস্করণ নিয়ন্ত্রণ এবং অননুমোদিত অ্যাক্সেস ফাঁস হওয়ার ঝুঁকি থাকে। গোপনীয়তা; এটি পরিবেশের ভেরিয়েবল বা বিশেষ সিক্রেটস ম্যানেজার দ্বারা বাইরে রাখা উচিত এবং প্লেইন টেক্সটে কখনও রিপোজিটরিতে প্রবেশ করা উচিত নয়।