Conventional Commit Classification using Large Language Models and Prompt Engineering
تثبت هذه الورقة أن النماذج اللغوية الكبيرة التي لا تتطلب تدريباً، ولا سيما نموذج DeepSeek-R1-32B باستخدام تقنية التلقين بلقطات قليلة (few-shot prompting)، يمكنها تصنيف الالتزامات التقليدية (conventional commits) من فروق الأكواد (code diffs) بفعالية، مما يقدم بديلاً عملياً لنهج تعلم الآلة الخاضع للإشراف التقليدي.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك مدير مكتبة ضخمة وفوضوية حيث تُضاف آلاف الكتب يومياً. وللحفاظ على تنظيمها، تتبع المكتبة قاعدة صارمة: يجب أن يكون لكل كتاب جديد ملصق محدد على كعبه (مثل "ميزة جديدة"، أو "إصلاح خطأ"، أو "توثيق") حتى تتمكن الروبوتات من فرزها تلقائياً، وتحديث الفهرس، وإخبار الزوار بما هو جديد.
ولكن في الواقع، غالباً ما يتجاهل الأشخاص الذين يضيفون الكتب هذه القواعد، ويكتبون ملاحظات فوضوية مثل "أصلحت الشيء" أو "غيرت بعض الكود"، مما يجعل من المستحيل على الروبوتات معرفة الفئة التي ينتمي إليها هذا الكتاب.
هذه الورقة البحثية تدور حول تعليم روبوت ذكي جداً (ذكاء اصطناعي) قراءة تلك الملاحظات الفوضوية وتحديد الملصق الصحيح، دون أن يضطر لقضاء سنوات في دراسة آلاف الأمثلة أولاً.
المشكلة: الملاحظات الفوضوية مقابل القواعد الصارمة
في تطوير البرمجيات، يكتب المبرمجون "رسائل الالتزام" (commit messages) -وهي ملاحظات- في كل مرة يحفظون فيها تغييرات الكود الخاص بهم. هناك معيار صناعي يسمى الالتزام التقليدي (Conventional Commits) يعمل كنظام أرشفة صارم؛ فهو يتطلب أن تبدأ الملاحظات بوسم محدد (مثل feat: أو fix:).
لكن البشر فوضويون، وغالباً ما ينسون هذه الوسوم. تقليدياً، ولإصلاح ذلك، كان الباحثون يبنون روبوتاً مخصصاً عبر تغذيته بآلاف الأمثلة المصنفة (مثل طالب يحفظ كتاباً مدرسياً عن ظهر قلب). وهذا يستغرق الكثير من الوقت والبيانات.
النهج الجديد: استراتيجية "المطالبة" (The Prompt Strategy)
بدلاً من تدريب روبوت جديد من الصفر، تساءل المؤلفون: هل يمكننا فقط إعطاء ذكاء اصطناعي موجود مسبقاً وذكي جداً مجموعة من التعليمات ("المطالبة/البرومبت") للقيام بالمهمة؟
لقد عاملوا الذكاء الاصطناعي كمتدرب عبقري يعرف الكثير عن اللغة ولكنه يحتاج لمعرفة المهمة المطلقة منه بالضبط. واختبروا ثلاث طرق مختلفة لإعطاء التعليمات:
التعلم من الصفر (نهج "فقط أخبرني"):
- التشبيه: تذهب إلى المتدرب وتقول له: "هذه ملاحظة فوضوية. من فضلك أخبرني إلى أي فئة تنتمي بناءً على القواعد". أنت لا تعطي أي أمثلة.
- النتيجة: يخمن المتدرب، لكنه غالباً ما يخطئ لأنه لا يعرف بالضبط ما تريده.
التعلم من أمثلة قليلة (نهج "أرني أمثلة"):
- التشبيه: تقول للمتدرب: "هذه ملاحظة فوضوية تعني 'ميزة جديدة'. وهذه ملاحظة أخرى تعني 'إصلاح خطأ'. الآن، انظر إلى هذه الملاحظة الفوضوية الجديدة وأخبرني ما هي". أنت تعرض عليه بعض الأمثلة الواضحة أولاً.
- النتيجة: كان هذا هو الأفضل. لقد فهم المتدرب النمط بسرعة وفرز الكتب بدقة.
سلسلة الأفكار (نهج "التفكير بصوت عالٍ"):
- التشبيه: تقول له: "قبل أن تعطيني الإجابة، يرجى كتابة منطق تفكيرك خطوة بخطوة: 'أرى كلمة (fix)، لذا أعتقد أنه خطأ...'".
- النتيجة: من المثير للدهشة أن هذا لم يساعد. بالنسبة لهذه المهمة المحددة المتمثلة في فرز الملصقات، فإن جعل المتدرب "يفكر بصوت عالٍ" أضاف خطوات إضافية دون تحسين النتيجة النهائية. كان الأمر أشبه بطلب من أمين المكتبة كتابة مقال قبل وضع الكتاب على الرف؛ لقد أدى ذلك إلى إبطائه دون تحسين النتيجة.
المتنافسون: كم يحتاج العقل ليكون كبيراً؟
اختبر الباحثون ثلاثة "متدربين" (نماذج ذكاء اصطناعي) بأحجام متفاوتة:
- Mistral-7B: عقل متوسط الحجم (7 مليارات معلمة/parameter).
- LLaMA-3-8B: عقل أكبر قليلاً (8 مليارات معلمة).
- DeepSeek-R1-32B: عقل عملاق (32 مليار معلمة).
النتيجة: العقل الأكبر هو الفائز. كان نموذج DeepSeek-R1-32B هو الأكثر دقة في قراءة الملاحظات الفوضوية وإيجاد الملصق الصحيح. وهذا يشير إلى أنه بالنسبة لهذا النوع من المهام، فإن امتلاك نموذج ذكاء اصطناعي أكبر وأكثر قوة يحدث فرقاً حقيقياً.
الخلاصة
تخلص الورقة البحثية إلى أنك لست بحاجة لبناء نموذج تعلم آلي مخصص من الصفر لتنظيم ملاحظات البرمجيات الفوضوية. بدلاً من ذلك، يمكنك استخدام ذكاء اصطناعي قوي وموجود مسبقاً، وببساطة إعطاؤه بضعة أمثلة جيدة (Few-Shot prompting) لإنجاز المهمة.
- أفضل استراتيجية: اعرض على الذكاء الاصطناعي بضعة أمثلة أولاً.
- أفضل ذكاء اصطناعي: النموذج الأكبر والأكثر قوة المتاح.
- إضاعة للوقت: جعل الذكاء الاصطناعي يكتب عملية تفكير طويلة قبل الإجابة.
يوفر هذا النهج الوقت والجهد لأنه يتخطى الحاجة لجمع وتصنيف آلاف الأمثلة التدريبية، مما يسمح للمطورين بأتمتة تنظيم ملفاتهم على الفور.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.