← أحدث الأبحاث
🤖 machine learning

Merge-Bench: Resolve Merge Conflicts with Large Language Models

تقدم هذه الورقة البحثية Merge-Bench، وهي مجموعة بيانات واسعة النطاق لتعارضات الدمج في العالم الحقيقي، وتقدم LLMergeJ، وهو نموذج مخصص للغة جافا تم تدريبه باستخدام تحسين السياسة النسبي المجموعاتي (Group Relative Policy Optimization) والذي يتفوق على العديد من النماذج اللغوية الكبيرة التجارية، رغم أن أفضل النماذج حالياً تحل أقل من 60% من التعارضات عبر 11 لغة برمجة.

المؤلفون الأصليون: Benedikt Schesch, Michael D. Ernst

نُشر 2026-05-26
📖 4 دقيقة قراءة☕ قراءة في استراحة قهوة

المؤلفون الأصليون: Benedikt Schesch, Michael D. Ernst

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

تخيل أنك تعمل في مشروع جماعي حيث يقوم صديقان بتعديل نفس المستند في نفس الوقت. قام الصديق (أ) بتغيير فقرة، وقام الصديق (ب) بتغيير نفس الفقرة تماماً. عندما تحاول دمج عملهما، يصاب الكمبيوتر بالارتباك ويصرخ: "لا أعرف أي نسخة يجب أن أحتفظ بها!" وهذا ما يسمى بـ تعارض الدمج (merge conflict).

عادةً، يجب على إنسان أن يتدخل، ليقرأ النسختين، ويكتشف ما كان يقصده الصديقان فعلياً، ويصلح الفوضى يدوياً. هذا يستغوة وقتاً وقد يؤدي إلى وقوع أخطاء.

تقدم هذه الورقة البحثية طريقة جديدة لتعليم الحواسيب إصلاح هذه الفوضى تلقائياً باستخدام الذكاء الاصطناعي "الذكي" (النماذج اللغوية الكبيرة - LLMs). إليك تفصيل عملهم بكلمات بسيطة:

1. المشكلة: الكمبيوتر لا يفقه شيئاً

الأدوات التقليدية تشبه روبوتاً ينظر فقط إلى الحروف. إذا كتب الصديق (أ) "قطة" وكتب الصديق (ب) "كلب"، فإن الروبوت يرى مجرد تصادم. إنه لا يفهم أنه ربما كانا يتحدثان عن الحيوانات الأليفة، أو ربما كان أحدهما خطأً مطبعياً. هو بحاجة إلى إنسان ليشرح له "القصد".

2. الحل: ساحة تدريب جديدة (Merge-Bench)

لتعليم ذكاء اصطناعي كيفية إصلاح هذه التعارضات، أنت بحاجة إلى مكتبة ضخمة من الأمثلة التي توضح: "هذا ما كان عليه الفوضى، وهذا هو كيف قام خبير بشري بإصلاحها".

  • الطريقة القديمة: حاول باحثون آخرون بناء هذه المكتبات يدوياً أو عبر تشغيل الاختبارات. كانت هذه الطريقة بطيئة، ومكلفة، وأحياناً كان الذكاء الاصطناعي "يغش" عبر حفظ إجابات الاختبار بدلاً من تعلم كيفية الإصلاح.
  • الطريقة الجديدة (Merge-Bench): بنى المؤلفون مكتبة ضخمة ومؤتمت تسمى Merge-Bench. لقد جمعوا 7,938 تعارضاً من الواقع من 1,439 مشروعاً برمجياً عاماً مختلفاً من موقع GitHub.
    • التشبيه: تخيل معلماً لا يحتاج إلى تصحيح كل واجب منزلي بيده. بدلاً من ذلك، لديه آلة تجمع تلقائياً 8,000 مثال من أخطاء الطلاب في العالم الحقيقي والإجابات الصحيحة التي كتبها المعلم. ولأن الآلة تقوم بكل العمل، يمكنهم امتلاك مكتبة ضخمة لا تنفد أبداً.

3. الطالب: LLMergeJ

قام المؤلفون بتدريب نموذج ذكاء اصطناعي محدد يسمى LLMergeJ (حرف "J" يرمز للغة جافا، وهي لغة البرمجة التي ركزوا عليها).

  • كيف علموه: بدلاً من مجرد إظهار الإجابة للنموذج (مثل معلم تقليدي)، استخدموا طريقة تسمى التعلم التعزيزي (Reinforcement Learning).
    • التشبيه: فكر في الأمر كتدريب كلب. إذا خمن الكلب الحركة الصحيحة، يحصل على مكافأة. إذا أخطأ، لا يحصل على شيء. وإذا رفض التخمين واكتفى بالقول "لا أعرف" (محافظاً على التعارض)، يحصل على فتات صغير جداً.
    • حاول الذكاء الاصطناناعي آلاف المرات. وعندما اكتشف الطريقة الصحيحة لدمج الكود، حصل على مكافأة كبيرة. ومع مرور الوقت، لم يتعلم فقط "كيف يبدو شكل الإجابة"، بل تعلم "كيف يفكر" في المشكلة للوصول إليها.

4. النتائج: كلب صغير، حيل كبيرة

اختبروا نموذجهم المكون من 14 مليار بارامتر (وهو صغير نسبياً بمعايير الذكاء الاصطناعي) مقابل أكبر النماذج التجارية وأكثرها تكلفة المتاحة حالياً (مثل Gemini و Claude و Grok).

  • المفاجأة: تفوق نموذجهم الصغير والمخصص التدريب على معظم النماذج التجارية الضخمة. لقد حل حوالي 59% من التعارضات بشكل صحيح (بعد تجاهل الاختلافات البسيطة في التنسيق).
  • المقارنة: كان أفضل نموذج تجاري (Gemini 2.5 Pro) أفضل قليلاً، لكن نموذج المؤلفين تفوق على الآخرين بفارق كبير.
  • الدرس المستفاد: نموذج صغير تم تدريبه خصيصاً على كيفية إصلاح تعارضات الدمج باستخدام المكافآت، هو أفضل من نموذج ضخم عام طُلب منه القيام بذلك لمرة واحدة فقط.

5. لماذا هذا مهم؟

  • لا غش: طريقة الاختبار الخاصة بهم لا تعتمد على تشغيل اختبارات الكود (والتي يمكن للذكاء الاصطناعي خداعها أحياناً)، بل تقارن الكود مباشرة بما فعله المطور البشري بالفعل.
  • قابل للتوسع: نظرًا لأنهم لم يحتاجوا إلى بشر لتسمية البيانات، استطاعوا جعل مجموعة التدريب ضخمة قدر ما يريدون.
  • مستقل عن اللغة: بينما دربوا النموذج فقط على لغة جافا، اختبروا النماذج التجارية الكبيرة على 11 لغة مختلفة (C، Python، Rust، إلخ). وجدوا أن سلوك الذكاء الاصطناعي متشابه عبر جميع اللغات، مما يشير إلى أن طريقتهم يمكن أن تعمل مع أي لغة برمجة.

الملخص

بنى المؤلفون صالة ألعاب رياضية ضخمة ومؤتمتة (Merge-Bench) لتدريب رياضي ذكاء اصطناعي متخصص (LLMergeJ) لحل تعارضات الكود. ومن خلال استخدام نظام تدريب قائم على المكافأة، علموا ذكاءً اصطناعياً صغيراً نسبياً كيف يتفوق على أكبر نماذج الذكاء الاصطناعي وأكثرها تكلفة في هذه المهمة المحددة، مما يثبت أن التدريب المتخصص يتفوق على الحجم العام عندما يتعلق الأمر بإصلاح فوضى البرمجيات.

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →