What Mistakes Do Devs Make Coding With AI Assistants?
نظرة عملية على أكثر الطرق شيوعاً التي يسيء فيها المطورون استخدام مساعدات الكود الذكية، وكيفية تجنب شحن الأخطاء والثغرات.
لقد غيّرت مساعدات ذكية مثل Copilot و Claude و النماذج المدمجة في Cursor سرعة كتابة الكود. لم تغيّر مدى الحاجة إلى مراجعته بعناية. معظم الأضرار التي رأيتها من الكود المساعد بالذكاء الاصطناعي تأتي من عدد قليل من العادات القابلة للتكرار، وليس من النماذج نفسها.
قبول الاقتراحات دون قراءتها
الأكبر منها هو قبول الإكمال بضغطة tab لأنه يبدو معقولاً وينجح في التجميع. المعقول لا يعني الصحيح. رأيت استعلام SQL مقترح يسقط بصمت جزء WHERE أثناء إعادة الصياغة، وقبلها الشخص لأن أسماء المتغيرات طابقت. إذا لم تكن تقرأ كل سطر تسلمه لك مساعد بنفس السرعة التي تقرأ بها طلب دمج من زميل، فستقوم بشحن شيء لا تفهمه. تعامل مع كل اقتراح كمسودة أولى من مطور مبتدئ سريع لكنه لا يتذكر اتفاقيات قاعدة الكود لديك.
الثقة به في الكود الحساس للأمان
تم تدريب مساعدات الذكاء الاصطناعي على كميات ضخمة من الكود العام، وكثير من هذا الكود به مشاكل أمان مدمجة. اطلب معالج تحميل ملفات سريع وغالباً ما ستحصل على شيء بدون فحص امتداد، بدون حد حجم، وبمسار مبني بربط السلاسل بدلاً من os.path.join أو استدعاء مكتبة آمن. نفس القصة مع المصادقة: تحب مساعدات الذكاء الاصطناعي اقتراح حفظ JWTs في localStorage، أو مقارنة الأسرار باستخدام == بدلاً من مقارنة ثابتة الزمن. لا شيء من هذا خبيث، إنه مجرد شائع إحصائياً في بيانات التدريب. لأي شيء يتعلق بالمصادقة أو I/O للملفات أو فك التسلسل أو SQL، اكتب المنطق بنفسك أو مرر مخرجات الذكاء الاصطناعي من خلال نفس أسئلة نمذجة التهديدات التي ستطرحها على أي كود جديد: ماذا يحدث مع الإدخال العدائي، ماذا يحدث إذا فشل هذا الاستدعاء، من الذي آخر يمكنه الوصول إلى هذا الإطار.
السماح له باختراع الاعتماديات وواجهات برمجية التطبيقات
النماذج تهلوس أسماء الحزم وتوقيعات الدوال بثقة كاملة. هذه مشكلة "slopsquatting" — يسجل المهاجمون أسماء الحزم المزيفة التي تقترحها النماذج بشكل متكرر، لذا pip install أو npm install غير محقق يمكن أن يسحب شيء ليس مكتبة السجل لديك على الإطلاق. قبل إضافة أي اعتماد توصي به مساعدة، تحقق من أنه يوجد فعلاً على PyPI أو npm، تحقق من عدد التنزيلات وتاريخ آخر نشر، وألقِ نظرة على المصدر إذا كان صغيراً بما يكفي. نفس الاحتياط ينطبق على استدعاءات الواجهة البرمجية: إذا أشارت مساعدة إلى طريقة لا تعرفها، تحقق من الوثائق الفعلية قبل افتراض أنها موجودة.
فقدان النموذج الذهني لكودك الخاص
عندما تكتب الكود بنفسك، تبني خريطة ذهنية لسبب وجود كل قطعة. عندما تقبل كتل كبيرة من الكود الناتج عن الذكاء الاصطناعي عبر جلسة، تصبح الخريطة رقيقة بسرعة. ثم يظهر خطأ بعد ثلاثة أسابيع وأنت تصحح كود لم تكتبه أبداً ولا تتذكره بشكل كامل. الحل ليس تجنب الكود الناتج عن الذكاء الاصطناعي، بل أن تبطئ بما يكفي لشرح كل قطعة لنفسك، أو لزميل، قبل دمجها. إذا لم تستطع شرح ما تفعله دالة وقد تفعله بهذه الطريقة، فلا تدمجها بعد.
تخطي الاختبارات لأن الكود
تمت كتابة هذا المقال بمساعدة الذكاء الاصطناعي، وراجعه ونشره Michal Pilch (CISSP)، Korra Studio.
هذه ملاحظة واحدة من قاعدة معارف Korra Studio — المنصة تجمع كل موضوع مع التوجيه الفردي.
ابدأ بالمجانarrow_forward