المكاسب:
- القدرة على التعرف والتحقق من أن الذكاء الاصطناعي قد ينتج واجهات برمجة التطبيقات الزائفة، والتعليمات البرمجية غير الآمنة، والمحتوى المحمي بحقوق الطبع والنشر
- القدرة على إدارة استخدام الذكاء الاصطناعي ضمن حدود سرية كود المصدر والبيانات الشخصية وسياسة الشركة
- فهم أن المسؤولية النهائية عن الامتثال للترخيص والأمن والأخلاقيات تقع على عاتق المهندس.
امتحان الوحدة
1. كمهندس كمبيوتر، عند العمل باستخدام أداة إنشاء أكواد الذكاء الاصطناعي، أي مما يلي يجب أن تظل المسؤولية النهائية دائمًا على عاتق الإنسان؟
- أ) الموافقة النهائية على الصحة والأمان ومراجعة واختبار الكود الذي تم وضعه في الإنتاج ✔
- ب) إنشاء الهيكل الأساسي للكود الأول للوظيفة
- ج) إنتاج قائمة الاقتراحات لأسماء المتغيرات
- د) إعداد مسودة نص لتعليقات الكود
الوصف: الذكاء الاصطناعي؛ يمكنه تسريع المهام مثل هيكل التعليمات البرمجية ومسودة الاختبار والوثائق. ومع ذلك، تقع على عاتق المهندس مسؤولية مراجعة التعليمات البرمجية التي تم إنشاؤها واختبارها والموافقة عليها للتأكد من أنها صحيحة وآمنة ومتوافقة مع المتطلبات، ووضعها في مرحلة الإنتاج؛ ولا يمكن تفويض هذا إلى الذكاء الاصطناعي دون التحقق المستقل.
2. لقد أنتج الذكاء الاصطناعي وظيفة لك ويبدو أنها تعمل في المسار السعيد. ما هي أفضل خطوة قبل وضعه في الإنتاج؟
- أ) بما أن الوظيفة تبدو وكأنها تعمل، ضعها مباشرة في الإنتاج
- ب) التحقق من السلوك عن طريق كتابة وتشغيل اختبارات الوحدة الصغيرة التي تشمل حالات الحافة ✔
- ج) مجرد النظر إلى عدد أسطر الدالة
- د) جعل اسم الوظيفة أكثر وصفًا
توضيح: الظهور في العمل لا يعني أنك على حق. كتابة وتشغيل اختبارات الوحدات الصغيرة التي تغطي حالات الحافة مثل المدخلات الفارغة والصفر والسالب والقيمة الكبيرة جدًا وعدم التطابق للتحقق من السلوك الفعلي للوظيفة دون نقلها إلى البيئة الحية.
3. اقترح الذكاء الاصطناعي طريقة تسمى "array.sortStable()" غير موجودة في لغتك وشرحها بطريقة واضحة. ما هو أول إجراء صحيح يجب اتخاذه؟
- أ) استخدام الطريقة مباشرة لأن الذكاء الاصطناعي يبدو واثقًا
- ب) حدد الطريقة بنفسك واستخدم اسمها بالضبط
- ج) التحقق من وجود الطريقة من التوثيق الرسمي للغة/المكتبة✔
- د) أغلق تحذير المترجم واستمر
Explanation: يمكن لنماذج اللغة أن تشكل أسماء مكتبات أو حزم أو طرق غير موجودة بالفعل (الهلوسة). يجب التحقق حرفيًا من كل واجهة برمجة تطبيقات مقترحة مقابل الوثائق الرسمية والحالية للغة أو المكتبة؛ إذا لم يتم تضمينه في المستند، فلا ينبغي استخدامه.
4. تريد لصق كود المصدر السري لشركتك ومفتاح API المضمن في أداة الذكاء الاصطناعي العامة وطلب المساعدة. ما هو النهج الأكثر صحة؟
- أ) لصق الكود كما هو الحال مع مفتاح API للسرعة
- ب) يكفي فقط حذف اسم الشركة ومشاركة كل شيء آخر
- ج) مشاركة الرمز ثم مطالبة الذكاء الاصطناعي بحذفه
- د) إزالة الأسرار والمنطق الخفي واختزال المشكلة إلى مثال تمثيلي أو باستخدام أداة مؤسسية✔
الوصف: كود المصدر السري وبيانات الاعتماد (مفتاح API، كلمة المرور، سلسلة الاتصال)؛ إنه أمر محفوف بالمخاطر من حيث سر الشركة وأمنها. من الضروري إزالة الأسرار ومنطق العمل المخفي وتقليل المشكلة إلى مثال مجهول/تمثيلي أو استخدام أداة مؤسسة/غير مشاركة البيانات.
5. قال الذكاء الاصطناعي إن تعقيد وظيفة البحث التي كتبها هو O(n); ولكن هناك حلقتان متداخلتان في الكود. ما هو السلوك الهندسي الصحيح؟
- أ) قم بتحليل الكود يدويًا واستخرج التعقيد بنفسك وقم بقياسه إذا لزم الأمر ✔
- ب) اقبل O(n) واستمر لأن الذكاء الاصطناعي قال
- ج) بافتراض أن عدد الدورات لا علاقة له بالأداء
- د) فقط قم بتغيير اسم الوظيفة
Explanation: يوضح التعقيد الزمني (Big-O) كيف يزداد عدد العمليات مع نمو المدخلات. عادة ما تعني الحلقتان المتداخلتان O(n^2). يجب التحقق من ادعاء تعقيد الذكاء الاصطناعي عن طريق التحليل اليدوي للكود والقياس مع زيادة المدخلات إذا لزم الأمر؛ الاعتماد على المطالبة ينتج عنه افتراض خاطئ للأداء.
6. كود تم إنشاؤه بواسطة الذكاء الاصطناعي يقوم بإدراج إدخال المستخدم مباشرة في استعلام SQL عن طريق سلسلة النص. ما هي المشكلة الرئيسية والحل الصحيح هنا؟
- أ) لا مشكلة؛ دمج النص هو أسرع طريقة
- ب) هناك خطر حقن SQL؛ يجب استخدام استعلام ذو معلمات (بيان مُعد) يفصل بين المدخلات ✔
- ج) يكفي مجرد تحويل الاستعلام إلى أحرف كبيرة
- د) كتابة الاستعلام بشكل أقصر سيحل المشكلة
الوصف: تؤدي إضافة مدخلات المستخدم مباشرة إلى نص الاستعلام إلى إنشاء ثغرة أمنية في حقن SQL؛ يمكن للمهاجم تعديل الاستعلام بالإدخال. الحل الصحيح هو استخدام استعلام ذو معلمات (بيان مُجهز) يفصل الإدخال عن نص الاستعلام. يعد هذا أحد الأخطاء الأمنية الأكثر شيوعًا في كود الذكاء الاصطناعي.
7. لديك وقت محدود لمراجعة جزء من التعليمات البرمجية التي ينتجها الذكاء الاصطناعي. ما هي القضايا الأفضل لتحديد أولوياتها؟
- أ) تفاصيل التنسيق فقط مثل المسافة البادئة والتباعد
- ب) طول أسماء المتغيرات فقط
- ج) الصحة المنطقية ونقاط الضعف وسلوك حالة الحافة ✔
- د) إجمالي عدد أسطر الملف فقط
الوصف: أعلى المخاطر في مراجعة التعليمات البرمجية؛ وهي مشكلات تسبب ضررًا جسيمًا، مثل الأخطاء المنطقية والثغرات الأمنية وتسريب المعلومات السرية. يتم إصلاح مشكلات التنسيق والنمط باستخدام الأدوات التلقائية؛ ينبغي تكريس الاهتمام البشري الرئيسي للدقة والأمان وسلوك حالة الحافة.
8. تريد أن يقوم الذكاء الاصطناعي بحل خطأ ما. ما هي المدخلات التي من شأنها أن تساعد الذكاء الاصطناعي بشكل أفضل في العثور على السبب الجذري؟
- أ) مجرد قول "الرمز لا يعمل، قم بإصلاحه"
- ب) فقط أعط اسم الملف
- ج) فقط أقول النتيجة المتوقعة، دون نص الخطأ
- د) تقديم رسالة الخطأ الكاملة وتتبع المكدس والرمز ذي الصلة ومثال الحد الأدنى لإعادة الإنتاج ✔
Explanation: من أجل التصحيح الفعال، من الضروري إعطاء AI رسالة الخطأ الكاملة، وتتبع المكدس، ومقتطف التعليمات البرمجية ذات الصلة، وأصغر عينة قابلة للتكرار تنتج الخطأ. البيان الغامض "لا يعمل" يجبر الذكاء الاصطناعي على التخمين وتقديم توصيات شاملة.
9. تنجح جميع اختبارات الوحدات التي ينتجها الذكاء الاصطناعي في الجولة الأولى. ما هو الخطر الذي لا ينبغي تجاهله في هذه الحالة؟
- أ) قد تؤكد الاختبارات الحالة الحالية للكود ولكن ليس السلوك الفعلي/المتوقع ✔
- ب) الكود خالٍ تمامًا من الأخطاء نظرًا لنجاح جميع الاختبارات
- ج) يتم ضمان الجودة إذا كان عدد الاختبارات كبيرًا
- د) اجتياز الاختبار يثبت اكتمال التغطية
Explanation: قد تكون الاختبارات تتحقق من صحة السلوك الحالي (الذي ربما يكون به خطأ) للتعليمة البرمجية، وليس السلوك المقصود؛ أو قد لا يحتوي على أي تأكيد ذي معنى ويتم تمريره دائمًا. للتأكد من أن الاختبارات تتحقق من التوقع الحقيقي، من الضروري كسر الكود بوعي والتأكد من أن الاختبار يتحول إلى اللون الأحمر.
10. لقد أنتج لك الذكاء الاصطناعي مجموعة جاهزة من التعليمات البرمجية لحل مشكلة ما. أنت تشك في أن الكود قد تم نسخه حرفيًا من مشروع مفتوح المصدر. ما هو النهج الصحيح؟
- أ) استخدام الترخيص دون تفكير لأن الكود يعمل
- ب) التحقق من مصدر/ترخيص الكود وإعادة كتابته إذا لزم الأمر والامتثال لسياسة الشركة ✔
- ج) فقط قم بتغيير أسماء المتغيرات واعتبر أن المشكلة قد تم حلها
- د) بافتراض أن الترخيص يخص الشركات الكبيرة فقط
الوصف: يمكن للذكاء الاصطناعي إعادة إنتاج التعليمات البرمجية المحمية بحقوق الطبع والنشر/المرخصة في بيانات التدريب حرفيًا. انتهاك الترخيص في منتج تجاري يخلق مخاطر قانونية خطيرة. من الضروري التحقق من مصدر الكود وترخيصه، وإعادة كتابته بكلماتك الخاصة إذا لزم الأمر، والامتثال لسياسة الترخيص الخاصة بالمؤسسة.
11. اقترحت منظمة العفو الدولية أن تقوم بالتبديل فورًا إلى بنية الخدمات المصغرة لمشروعك. ما هو النهج الهندسي الأنسب عند تقييم هذا الاقتراح؟
- أ) قم بتقسيم النظام بأكمله على الفور إلى خدمات صغيرة كما يقترح الذكاء الاصطناعي
- ب) بافتراض أن الخدمة الصغيرة هي الخيار الأفضل دائمًا
- ج) قم بتقييم الاقتراح وفقًا للحاجة الحقيقية والحمل وهيكل الفريق والرصيد الزائد ✔
- د) اتخاذ القرار بناءً على شعبية العمارة فقط
الشرح: القرارات المعمارية تعتمد على السياق؛ تضيف الخدمات الصغيرة قيمة إلى احتياجات مثل النطاق وفصل الفريق، ولكنها تأتي مصحوبة بتكاليف مثل التعقيد التشغيلي وتصحيح الأخطاء الموزعة والتكلفة. تقييم الاقتراح وفقًا للحاجة الفعلية والحمل وهيكل الفريق وتوازن الإيجابيات والسلبيات؛ لا ينبغي اتباع النصائح العامة بشكل أعمى.
12. أنتجت منظمة العفو الدولية وثائق README وAPI مبسطة للتعليمات البرمجية الخاصة بك؛ لكن بعض نقاط النهاية والمعلمات غير متطابقة في الكود. ما هو السلوك الصحيح؟
- أ) نشر الوثيقة كما هي لسلاسة النص
- ب) فقط أصلح العنوان واترك الباقي كما هو
- ج) إضافة المستند إلى المستودع دون قراءته
- د) قارن كل نقطة نهاية ومعلمة بالرمز الفعلي وقم بإصلاح أي نقطة غير متطابقة ✔
الوصف: يجب أن يكون التوثيق انعكاسًا دقيقًا للكود الفعلي؛ يدفع المستند الخاطئ المطورين الذين قرأوه إلى استخدامه بشكل غير صحيح. يجب التحقق من كل نقطة نهاية ومعلمة وقيمة إرجاع مقابل الكود الفعلي، ويجب تصحيح أي عدم تطابق.
13. ما هو أسلوب الإدخال المناسب لتحقيق أعلى جودة للمخرجات عند طلب التعليمات البرمجية من الذكاء الاصطناعي؟
- أ) توفير اللغة/الإصدار بوضوح، وعقد الإدخال والإخراج، والقيود وحالات الخطأ ✔
- ب) أقول فقط "اكتب لي بعض رموز العمل"
- ج) اكتب أقصر طلب دون إعطاء أي سياق
- د) ما عليك سوى تحديد عدد أسطر التعليمات البرمجية الموجودة
الوصف: موجه قوي؛ ويتضمن اللغة والإصدار المستخدم، وعقد المدخلات والمخرجات، وقيود الأداء والأسلوب، وشروط الخطأ، وتعليمات "البقاء ضمن النطاق المطلوب فقط". يعد طلب "اكتب لي وظيفة" بدون سياق أمرًا عامًا وغالبًا ما ينتج عنه تعليمات برمجية غير مناسبة.
14. قام الذكاء الاصطناعي بإنشاء تكوين لخط أنابيب CI/CD (التكامل/النشر المستمر) الخاص بك وقام بتضمين كلمة مرور قاعدة البيانات فيه بنص عادي. ما هو الإصلاح الصحيح؟
- أ) ترك كلمة المرور كنص عادي لأنها تعمل
- ب) نقل الأسرار عبر متغير البيئة أو أداة إدارة السرية، وعدم وضع نص عادي في المستودع ✔
- ج) انقل كلمة المرور إلى سطر التعليق فقط
- د) تغيير اسم الملف يحل المشكلة
Explanation: كتابة الأسرار مثل كلمات المرور والمفاتيح بنص عادي إلى ملف التكوين يشكل خطر تسرب التحكم في الإصدار والوصول غير المصرح به. أسرار؛ يجب أن يتم إبقاؤه بعيدًا عن طريق متغيرات البيئة أو مدير أسرار خاص، ويجب ألا يدخل أبدًا إلى المستودع بنص عادي.