A Study on the Continuous Generation of Test Cases for Large Language Models with Project Memory
تقترح هذه الورقة نهجاً لتوليد حالات الاختبار يعتمد على النماذج اللغوية الكبيرة (LLM) ومعزز بمستودع ذاكرة للمشروع يدمج البيانات التاريخية وسياق الإصدار لتحسين تغطية المخاطر بشكل كبير، وتقليل التكرار، وزيادة اكتشاف العيوب في الأنظمة البرمجية واسعة النطاق.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تحاول تعليم روبوت فائق الذكاء كيف يلعب لعبة فيديو معقدة ومتغيرة باستمرار. في عالم البرمجيات، هذه "اللعبة" هي نظام ضخم مثل متجر إلكتروني، حيث تتغير الأزرار والقواعد والأسعار كل أسبوع. لضمان عدم تعطل اللعبة، يكتب البشر "حالات اختبار" (test cases)—وهي عبارة عن نصوص برمجية صغيرة تخبر الروبوت أن ينقر هنا، ويشتري ذاك، ويتأكد من أن السعر صحيح. لفترة طويلة، حاولنا استخدام الذكاء الاصطناعي (AI) لكتابة هذه الاختبارات نيابة عنا. لكن المشكلة تكمكمن في أن معظم نماذج الذكاء الاصطناعي تشبه سمكة الزينة؛ فهي تمتلك عقولاً رائعة، لكنها تنسى كل ما حدث بالأمس. إذا حدث خطأ تقني (bug) الشهر الماضي، فإن الذكاء الاصطناعي لن يتذكره. وإذا تغيرت قاعدة ما هذا الصباح، فقد يستمر الذكاء الاصطناعي في اختبار القاعدة القديمة. تعالج هذه الورقة البحثية مشكلة الذاكرة هذه. إنها تسأل: ماذا لو استطعنا منح الذكاء الاصطناعي "مذكرات مشروع" تتذكر كل خطأ، وكل تغيير في القواعد، وكل مسار معقد سلكه البرنامج؟ من خلال منح الذكاء الاصطناعي وسيلة للالتفات إلى تاريخه، قد نتمكن من رصد الأخطاء التي قد يغفل عنها.
قرر الباحثان وراء هذه الدراسة، يوكسوان لي وهويتشين ما، بناء نظام يعامل "ذاكرة المشروع" ليس مجرد مكتبة بسيطة من الملاحظات القديمة، بل كمركز تحكم حي ونابض للاختبار. لقد عملا مع نظام طلبات تجارة إلكترونية حقيقي—وهو نسخة رقمية من متجر إلكتروني مزدحم يحتوي على مئات الاتصالات المختلفة (APIs) وآلاف الأخطاء السابقة المسجلة. كان هدفهما معرفة ما إذا كان بإمكان الذكاء الاصطناعي، المسلح بهذه الذاكرة العميقة، إنشاء اختبارات أفضل وأكثر استمرارية من الطرق المعتادة.
إليك كيف تعمل "آلة الذاكرة" الخاصة بهم، باستخدام تشبيه بسيط: تخيل أن الذكاء الاصطناعي هو محقق يحاول حل لغز في مدينة يتم إعادة بنائها باستمرار.
- بنك الذاكرة: بدلاً من مجرد سؤال المحقق: "ما هي قاعدة شراء الأحذية؟"، يمنحه النظام دفتر قصاصات ضخم ومنظم. يحتوي هذا الدفتر على المخططات الأصلية (المتطلبات)، وخرائط الشوارع (مواصفات الواجهة)، وسجلات البناء (تغييرات الكود)، والأهم من ذلك، قائمة بكل مرة تعثر فيها المحقق سابقاً في شق في الرصيف (تقارير العيوب).
- البحث الذكي: عندما تتغير المدينة (تحديث جديد)، لا يقوم النظام بمجرد رمي الدفتر بأكمله على مكتب المحقق. بل يستخدم "رادار مخاطر" خاص للعثور فقط على الصفحات ذات الصلة بالتغييرات الجديدة. يسأل النظام: "هل واجهنا مشكلة في إرجاع الأحذية في المرة السابقة؟ هل هذا المسار الجديد يشبه مساراً خطيراً رأيناه من قبل؟" إنه يزن أهمية هذه الذكريات، مع إعطاء الأولوية للمناطق الخطرة وعالية المخاطر.
- تقرير المحقق: يقرأ الذكال الاصطناعي (تحديداً نموذج يسمى Llama3.1-70B-Instruct) هذه الذكريات المختارة ويكتب نص اختبار جديداً. لكنه لا يقوم بمجرد النسخ واللصق؛ بل يراجع عمله للتأكد من أنه لا يكرر نفس القصة القديمة (منع التكرار) ومن أن الاختبار الجديد منطقي فعلياً مع مخطط المدينة الحالي (فحص الاتساق).
كانت نتائج هذه التجربة واعدة للغاية. فعندما اختبروا هذا الذكاء الاصطناعي "المعزز بالذاكرة" مقابل طرق أخرى (مثل الذكاء الاصطناعي بدون ذاكرة، أو البشر الذين يكتبون الاختبارات)، تألق نظام الذاكرة.
- الفعالية: قام الذكاء الاصطناعي بإنشاء حالات اختبار صالحة ومفيدة بنسبة 88.7% من المرات. وفي المقابل، نجحت الطريقة التي تفتقر للذاكرة في تحقيق حوالي 28.1% فقط من الحالات الفعالة.
- قلة التكرار: انخفض معدل التكرار إلى 8.9%.
- رصد الأخطاء الكبرى: تمكن النظام من تغطية 91.3% من المسارات عالية المخاطر—وهي الأجزاء الأكثر خطورة في البرنامج حيث يمكن أن يؤدي أي خلل إلى كارثة.
- إيجاد أعطال جديدة: والأمر الأكثر إثارة للإعجاب، هو أن هذه الطريقة وجدت عيوباً جديدة بنسبة 19.6% أكثر من الطريقة التي لا تملك ذاكرة. كانت هذه أعطالاً معقدة مثل تعطل النظام عند تطبيق قسيمة شراء أو عند محاولة المستخدم شراء نفس السلعة مرتين.
يشير المؤلفون إلى أن هذا النهج ينجح لأنه يساعد الذكاء الاصطناعي على فهم قواعد العمل طويلة المدى وكيفية اعتماد أجزاء النظام المختلفة على بعضها البعض. كما اختبروا نماذج ذكاء اصطناعي أصغر ووجدوا أنها لا تزال تؤدي عملاً جيداً، رغم أن النموذج الأكبر (70B) كان الأفضل في فهم سلاسل الأحداث الطويلة وتصحيح أخطائه المنطقية.
ومع ذلك، توضح الورقة البحثية بحذر أن هذا ليس عصا سحرية تحل كل شيء للأبد. فالنظام يعتمد بشكل كبير على وجود سجلات جيدة للأخطاء السابقة ووثائق واضحة. فإذا كان "دفتر القصص" غير منظم أو مفقوداً، فلن يتمكن المحقق من القيام بعمله. وأيضاً، بينما كانت النتائج قوية في سياق التجارة الإلكترونية هذا، لا يدعي المؤلفون أن هذا يعمل بشكل مثالي لكل أنواع البرمجيات في العالم. ولكن بالنسبة للأنظمة التي تتغير وتتطور باستمرار، يبدو أن منح الذكاء الاصطناعي ذاكرة جيدة هو تغيير لقواعد اللعبة، حيث يحوله من روبوت نساي إلى خبير مخضرم يتعلم من كل خطأ.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.