قاعدة 80/20 في برمجة الذكاء الاصطناعي
كتب الذكاء الاصطناعي 80% من الميزة التي أعمل عليها في 10 دقائق. بدا الكود نظيفاً. والمنطق كان منطقياً. وعمل من المحاولة الأولى. شعرت برضا تام.
لكن الذكاء الاصطناعي مفيد في الـ 80% الأولى، وغير مفيد في الـ 20% الأخيرة.
الذكاء الاصطناعي يحسن العمل من أجل "المسار المثالي" (happy path). فهو يبني برمجيات لعالم يسير فيه كل شيء على ما يرام. بينما تعيش البرمجيات الحقيقية في عالم تسوء فيه الأمور.
قمت ببناء Sol Email Worker مؤخراً. قام الذكاء الاصطناعي بإنشاء المنطق الأساسي، والـ threading، والـ routing في 20 دقيقة. كان ذلك الجزء السهل.
الـ 20% الأخيرة تطلبت خبرتي الفعلية:
• إزالة التكرار (Deduplication): التعامل مع الرسائل المكررة. • منطق تخطي المرسل (Sender-skip logic): تجنب معالجة رسائلي الخاصة. • التعافي من الأخطاء (Error recovery): إدارة استجابات الـ API غير المتوقعة. • مخرجات السجلات (Log output): جعل عملية تصحيح الأخطاء (debugging) ممكنة في الثانية صباحاً.
فعل الذكاء الاصطناعي ما طلبته منه. لقد فشلت في الطلب منه مراعاة الحالات الاستثنائية (edge cases) لأنني لم أكن قد فكرت فيها بعمق بعد.
لدينا مشكلة في القياس. نحن نتتبع عدد أسطر الكود والتذاكر المغلقة (closed tickets). هذه المقاييس تكافئ الـ 80% السريعة. لا أحد يتتبع الوقت المستغرق في معالجة الأخطاء أو التحقق من القيم الفارغة (null checks).
الـ 20% غير مرئية على لوحة البيانات (dashboard)، ولكنها المكان الذي يحدث فيه العمل الحقيقي. أنا الآن أتتبع الوقت من "الأمر إلى الإطلاق" (prompt-to-ship time). وهو الوقت المستغرق من أول أمر (prompt) حتى الوصول إلى ميزة مستقرة في بيئة الإنتاج. هذا الرقم يكون دائماً 4 أضعاف وقت توليد الذكاء الاصطناعي على الأقل.
إليكم كيف أعمل الآن:
- أخصص 4 أضعاف الوقت الذي يستغرقه الذكاء الاصطناعي لكل مهمة.
- أكتب أوامر (prompts) للمسار غير المثالي (unhappy path). أخبر الذكاء الاصطناعي أن يفترض فشل الشبكة أو أن الـ API يعيد قيمة null.
- أتعامل مع المسودة الأولى كنقطة انطلاق، وليس كخط نهاية.
الساعات الثلاث التي قضيتها في معالجة الأخطاء بعد 30 ثانية من التوليد لم تكن ضائعة. لقد كانت هي الوظيفة الفعلية. لقد نقل الذكاء الاصطناعي العمل من كتابة الهيكل إلى جعل الكود حقيقياً.
جعل الكود حقيقياً عملية بطيئة. فهي تتطلب سياقك الخاص، ومستخدميك، وتاريخ قاعدة الكود (codebase) الخاصة بك. هذا هو معنى الخبرة.
يعمل الذكاء الاصطناعي في مناطق مألوفة. أما الحالات الاستثنائية (edge cases) فهي مناطق غير مألوفة في كل مرة.
في المرة القادمة التي يبهرك فيها عرض توضيحي (demo) للذكاء الاصطناعي، اسأل عما حدث بعد انتهاء العرض.
المصدر: https://dev.to/amrree/the-8020-rule-of-ai-code-id
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi
