قام فريق من الباحثين برسم خريطةٍ لتحديات الذكاء الاصطناعي في تطوير البرمجيات، ووضعوا خطةً بحثيةً لدفع هذا المجال قدمًا.
تخيّل مستقبلاً يتولى فيه الذكاء الاصطناعي بلا عناء تطوير البرمجيات: إعادة هيكلة الأكواد المعقدة، ونقل الأنظمة القديمة، ليتمكن المهندسون البشريون من تكريس أنفسهم لمعالجة المشكلات الجديدة التي لا تزال بعيدة المنال.
يبدو أن التطورات الحديثة قد دفعت هذا المستقبل نحو آفاقٍ جديدة، لكن ورقة بحثية جديدة أعدها باحثون في مختبر علوم الحاسوب والذكاء الاصطناعي التابع لمعهد ماساتشوستس للتكنولوجيا (MIT) والعديد من المؤسسات المتعاونة، تُجادل بأن هذا الواقع المستقبلي المُحتمل يتطلب نظرةً فاحصةً إلى تحديات اليوم.
تحت عنوان "التحديات والمسارات نحو الذكاء الاصطناعي في هندسة البرمجيات"، يُحدد هذا العمل مهام هندسة البرمجيات العديدة التي تتجاوز توليد الأكواد، ويُسلط الضوء على اتجاهات البحث للتغلب عليها، بهدف تمكين البشر من التركيز على التصميم عالي المستوى مع أتمتة العمل الروتيني.
يقول أرماندو سولار-ليزاما، أستاذ الهندسة الكهربائية وعلوم الحاسوب في معهد ماساتشوستس للتكنولوجيا (MIT)، والباحث الرئيسي في مختبر علوم الحاسوب والذكاء الاصطناعي  والمؤلف الرئيسي للدراسة: "يتحدث الجميع عن عدم حاجتنا للمبرمجين بعد الآن، وأن كل هذه الأتمتة متاحة الآن". ويضيف: "من ناحية، حقق هذا المجال تقدمًا هائلاً. لدينا أدوات أقوى بكثير من أي أدوات رأيناها من قبل. ولكن لا يزال الطريق طويلًا لنقطعه لتحقيق كامل إمكانات الأتمتة التي نتوقعها".
يُجادل سولار-ليزاما بأن الروايات الشائعة غالبًا ما تختزل هندسة البرمجيات إلى "جزء البرمجة الجامعي: يُعطيك أحدهم مواصفات دالّة صغيرة فتُطبّقها، أو حل مقابلات البرمجة بأسلوب LeetCode". لكن الممارسة العملية أوسع نطاقًا بكثير. فهي تشمل عمليات إعادة هيكلة يومية تُحسّن التصميم، بالإضافة إلى عمليات ترحيل شاملة تنقل ملايين السطور من لغة "كوبول" إلى "جافا" وتُعيد هيكلة أعمال بأكملها. تتطلب هذه الهندسة اختبارًا وتحليلًا مستمرين، مثل الاختبار القائم على الخصائص، وغيرها من الأساليب، لاكتشاف أخطاء التزامن، أو تصحيح ثغرات. كما أنها تتضمن أعمال صيانة شاقة: توثيق برمجيات عمرها عقود، وتلخيص سجلات التغييرات لأعضاء الفريق الجدد، ومراجعة طلبات السحب من حيث الأسلوب والأداء والأمان.
اقرأ أيضا... تعليم نماذج الذكاء الاصطناعي ما لا تعرفه
إذا كان القياس عائقًا، فإن التواصل بين الإنسان والآلة عائق آخر. يرى المؤلف الرئيسي للدراسة أليكس جو أن التفاعل اليوم "خط اتصال رفيع". فعندما يُطلب من نظام إنشاء شيفرة برمجية، غالبًا ما يتلقى ملفًا كبيرًا وغير منظم، بل وحتى مجموعة من اختبارات الوحدات، إلا أن هذه الاختبارات غالبًا ما تكون سطحية. وتمتد هذه الفجوة إلى قدرة الذكاء الاصطناعي على الاستخدام الفعال لمجموعة أدوات هندسة البرمجيات الأوسع، من مصححات الأخطاء إلى المحللات الثابتة، التي يعتمد عليها البشر للتحكم الدقيق والفهم العميق.
ويقول جو "ليس لديّ سيطرة كبيرة على ما يكتبه النموذج"، مضيفا "بدون قناة يُظهر فيها الذكاء الاصطناعي ثقته بنفسه، يُخاطر المطورون بالثقة العمياء بمنطق وهمي يُترجم، لكنه ينهار في الإنتاج. ومن الجوانب المهمة الأخرى معرفة الذكاء الاصطناعي متى يجب عليه اللجوء إلى المستخدم للتوضيح".
يُفاقم الحجم هذه الصعوبات. تُعاني نماذج الذكاء الاصطناعي الحالية بشدة من قواعد الأكواد الضخمة، التي غالبًا ما تمتد لملايين الأسطر. تتعلم نماذج الأساس من منصة GitHub العامة، ولكن يقول جو: "قاعدة الأكواد لكل شركة مختلفة وفريدة نوعًا ما"، مما يجعل اتفاقيات الأكواد ومتطلبات المواصفات الخاصة بها خارج نطاق التوزيع. والنتيجة هي كود يبدو معقولًا ولكنه يستدعي دوالَّ غير موجودة، أو ينتهك قواعد التصميم الداخلية. غالبًا ما يؤدي هذا إلى كود مُولّد بواسطة الذكاء الاصطناعي "يُبالغ فيه"، أي أنه يُنشئ محتوى يبدو معقولًا ولكنه لا يتوافق مع الاتفاقيات الداخلية المحددة، أو الدَّوال المساعدة، أو الأنماط المعمارية لشركة مُعينة.
يذكر مؤلفو الدراسة أنه نظرًا لعدم وجود حل سحري لهذه المشكلات، فإنهم يدعون بدلًا من ذلك إلى جهود على نطاق المجتمع: أكثر ثراءً، تتضمن بيانات ترصد عملية كتابة المطورين للرموز (على سبيل المثال، أي الرموز يحتفظ بها المطورون مقابل تلك التي يتم التخلص منها، وكيف تتم إعادة هيكلة الرموز بمرور الوقت، وما إلى ذلك)، ومجموعات تقييم مشتركة تقيس التقدم في جودة إعادة الهيكلة، وطول عمر إصلاح الأخطاء، وصحة الترحيل؛ وأدوات شفافة تتيح للنماذج كشف عدم اليقين ودعوة التوجيه البشري بدلاً من القبول السلبي.
يضع جو جدول الأعمال كـ"دعوة للعمل" من أجل تعاون مفتوح المصدر أكبر لا يمكن لأي مختبر بمفرده تحقيقه. يتخيل سولار ليزاما تطورات تدريجية، "نتائج بحثية تتناول كل واحد من هذه التحديات على حدة"، تغذي الأدوات التجارية وتحول الذكاء الاصطناعي تدريجيًا من مجرد مساعد للإكمال التلقائي إلى شريك هندسي حقيقي.
لماذا كل هذا؟
يقول جو "تدعم البرمجيات قطاعات التمويل والنقل والرعاية الصحية، وتفاصيل الحياة اليومية، وإن الجهد البشري المطلوب لبنائها وصيانتها بأمان أصبح عائقا. الذكاء الاصطناعي القادر على تحمّل العمل الشاق، دون التسبب في إخفاقات خفية، سيُتيح للمطورين التركيز على الإبداع والاستراتيجية والأخلاق". ويضيف: "لكن هذا المستقبل يعتمد على إدراك أنّ إكمال الشيفرة البرمجية هو الجزء السهل. أمّا الجزء الصعب، فهو شيء آخر. هدفنا ليس استبدال المبرمجين، بل تعزيز قدراتهم. عندما يستطيع الذكاء الاصطناعي معالجة الأمور المُرهقة والمُرعبة، يُمكن للمهندسين البشريين أخيرًا قضاء وقتهم فيما لا يُمكن فعله إلا من قبل البشر".
يقول بابتيست روزيير، عالم الذكاء الاصطناعي في شركة "ميسترال" للذكاء الاصطناعي، والذي لم يُشارك في البحث "مع ظهور العديد من الأعمال الجديدة في مجال الذكاء الاصطناعي للبرمجة، وسعي المجتمع في كثير من الأحيان لمواكبة أحدث الاتجاهات، قد يكون من الصعب التراجع والتفكير في المشكلات الأكثر أهمية التي يجب معالجتها"، ويؤكد "استمتعتُ بقراءة هذه الورقة البحثية لأنها تُقدّم نظرةً شاملةً على المهام والتحديات الرئيسية في مجال الذكاء الاصطناعي لهندسة البرمجيات. كما تُحدّد اتجاهاتٍ واعدةً للأبحاث المستقبلية في هذا المجال".
مصطفى أوفى (أبوظبي)