← أحدث الأبحاث
💻 computer science

Route-Align-Verify for Functional Correctness in Code Generation

تقدم الورقة البحثية إطار عمل RAV، وهو إطار عمل خفيف الوزن ومعياري يعزز الصحة الوظيفية لتوليد الكود في النماذج اللغوية الكبيرة من خلال دمج توجيه المطالبات المدرك للمهام، وتكيف LoRA المتوافق، والتحقق القائم على التنفيذ، محققاً مكاسب كبيرة في الأداء على معيار MBPP دون تعديل بنية النموذج الأساسي.

المؤلفون الأصليون: Erxue Zhou, Jingxiang Meng, Aofan Liu

نُشر 2026-08-05
📖 6 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Erxue Zhou, Jingxiang Meng, Aofan Liu

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

تخيل أنك تقوم بتعليم روبوت عبقري وسريع للغاية كيفية كتابة أكواد الكمبيوتر. هذا الروبوت، المعروف باسم "النموذج اللغوي الكبير" (LLM)، قد قرأ كل كتاب وموقع إلكتروني تقريبًا على الإنترنت. إنه مذهل في تخمين الكلمات التي يجب أن تأتي بعد ذلك، تمامًا مثل خاصية الإكمال التلقائي المتقدمة جدًا. لكن الجزء الصعب هنا هو أن مجرد كتابة الروبوت لكود يبدو صحيحًا لا يعني بالضرورة أنه يعمل بالفعل. فقد يكتب جملة تبدو مثالية ولكنها تنهار بمجرد محاولة تشغيلها. ولإصلاح ذلك، يستخدم العلماء "المعايير المرجعية" (benchmarks)، وهي بمثابة امتحانات تجريبية حيث يتم تشغيل الكود فعليًا مقابل مجموعة من الاختبارات. إذا اجتاز الكود الاختبارات، يحصل على نقطة؛ وإذا انهار أو أعطى إجابة خاطئة، فإنه يفشل. السؤال الكبير في هذا المجال هو: كيف نجعل هذه الروبوتات لا تبدو ذكية فحسب، بل تكون ذكية حقًا في حل المشكلات الواقعية دون الحاجة إلى إعادة بناء دماغها بالكامل؟

هنا يأتي بحث جديد يقترح أننا لسنا بحاجة إلى إعادة بناء دماغ الروبوت على الإطلاق. بدلاً من ذلك، يقترح الباحثون، إركسيو زو، وجينغ شيانغ مينغ، وآوفان ليو، خدعة ذكية مكونة من ثلاث خطوات تسمى RAV (والتي ترمز إلى Route و Align و Verify - أي التوجيه، والمواءمة، والتحقق). فكر في الأمر كأنك تجهز طالبًا لامتحان كبير. أولاً، لا تعطيه مجرد دليل دراسي عام؛ بل تحدد بالضبط نوع المشكلة التي يواجهها وتعطيه النوع المناسب من التلميحات (Route - التوجيه). ثانيًا، تتأكد من أن الطريقة التي علمته بها في الفصل الدراسي تتطابق تمامًا مع كيفية كتابة أسئلة الاختبار، حتى لا يرتبك بسبب الصياغة (Align - المواءمة). أخيرًا، بدلًا من تركه يسلم إجابة واحدة فقط، تجعله يكتب عشرة حلول مختلفة، وتجري فحصًا سريعًا على كل منها، وتختار الحل الذي يعمل بالفعل (Verify - التحقق). يشير البحث إلى أنه من خلال تنسيق هذه الخطوات الثلاث، يمكنك الحصول على نتائج أفضل بكثير دون تغيير النموذج الأساسي.

خدعة السحر الثلاثية

اختبر الباحثون فكرتهم على مجموعة شهيرة من تحديات البرمجة تسمى MBPP. بدأوا بنموذج برمجي قوي ومعياري (Qwen2.5-Coder-7B-Instruct) وسألوا: "هل يمكننا جعل هذا النموذج المحدد أفضل في اجتياز الاختبارات بمجرد تغيير طريقة تحدثنا معه وكيفية اختيار إجاباته؟"

إليك كيف يعمل إطار عملهم المكون من ثلاث خطوات، باستخدام تشبيه مرح:

1. التوجيه (Route): موظف الاستقبال الذكي
تخيل مكتبًا مزدحمًا يتلقى آلاف الطلبات المختلفة. إذا قلت فقط "ساعدني في مشكلة"، فقد يعطيك موظف الاستقبال إجابة عامة لا تناسبك. ولكن ماذا لو استطاع موظف الاستقبال النظر في طلبك وقول: "أوه، أنت تتعامل مع سلسلة من الحروف؟ لنستخدم دليل 'متخصص النصوص'!" أو "أنت تقوم بعملية حسابية؟ دعنا ننتقل إلى دليل 'ساحر الرياضيات'!"
في البحث، هذه هي مرحلة التوجيه (Route). قبل أن يبدأ النموذج حتى في كتابة الكود، ينظر "موجه" خفيف الوزن إلى المهمة. إذا كانت المهمة تتعلق بمعالجة النصوص (مثل البحث عن كلمة متناظرة)، فإنه يستخدم أسلوب توجيه محدد. وإذا كانت تتعلق بالرياضيات أو الخوارزميات، فإنه ينتقل إلى أسلوب مختلف. هذا يضمن حصول النموذج على "نكهة" التعليمات الصحيحة للمهمة المحددة، بدلاً من استخدام توجيه واحد يناسب الجميع.

2. المواءمة (Align): مباراة التدريب
الآن، تخيل أنك دربت لاعب كرة قدم باستخدام تمارين لا تشبه اللعبة الفعلية على الإطلاق. لقد تدربت باستخدام كرة ثقيلة على ملعب طيني، لكن اللعبة الحقيقية تُلعب بكرة خفيفة على عشب. قد يكون اللاعب رائعًا في التمارين ولكنه سيء في المباراة. هذا هو "عدم التطابق".
في عالم الذكاء الاصطناعي، غالبًا ما يتم تدريب النماذج على نوع واحد من التعليمات ولكن يتم اختبارها على نوع آخر. مرحلة المواءمة (Align) تعالج هذا الأمر. قام الباحثون بأخذ بيانات التدريب الخاصة بهم وأعادوا كتابة التعليمات لتبدو تمامًا مثل التوجيهات "الموجهة" التي سيراها النموذج أثناء الاختبار. استخدموا تقنية تسمى LoRA (وهي طريقة لتعليم النموذج حيلًا جديدة دون إعادة كتابة دماغه بالكامل) لتعليمه تحديدًا كيفية الاستجابة لهذه الأساليب الجديدة والخاصة بكل مهمة. إنه يشبه إعطاء لاعب كرة القدم تمارين تدريبية تحاكي ظروف المباراة الفعلية بدقة.

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

ماذا وجدوا؟

عندما جمع الباحثون الخطوات الثلاث معًا، كانت النتائج مبهرة. اختبروا مسار RAV الكامل على معيار MBPP.

  • على مجموعة MBPP Sanitized (نسخة نظيفة من الاختبار)، حققت طريقتهم نتيجة 0.8911.
  • على مجموعة MBPP Full (النسخة الكاملة والأكثر صعوبة)، وصلوا إلى 0.8520.

لوضع ذلك في المنظور، سجل النموذج الأصلي بدون هذه الحيل 0.8276 على المجموعة النظيفة و 0.7528 على المجموعة الكاملة. وهذا يعني أن طريقة RAV حسنت معدل النجاح بمقدار 6.35 نقطة مئوية في المجموعة النظيفة و 9.92 نقطة مئوية هائلة في المجموعة الكاملة.

السر وراء النجاح: لماذا تعمل هذه الخطوات معًا؟

الجزء الأكثر إثارة للاهتمام في الدراسة هو ما حدث عندما جربوا الخطوات بمفردها.

  • إذا استخدموا التوجيه (Route) و المواءمة (Align) فقط دون التحقق من الإجابات (بدون Verify)، كان التحسن ضئيلاً. كان الأمر يشبه وجود طالب ممتاز ولكنه لا يزال يسلم المسودة الأولى من واجبه المنزلي دون التحقق من الأخطاء.
  • ومع ذلك، عندما دمجوا التوجيه أو المواءمة مع التحقق (Verify)، قفزت الدرجات بشكل كبير.

يشير هذا إلى أن التوجيه و المواءمة لا يجعلون النموذج يكتب الإجابة "المثالية" من المحاولة الأولى بالضرورة. بدلاً من ذلك، فهما يجعلانه يكتب قائمة أفضل من الخيارات. إنهما يزيدان من فرص وجود إجابة صحيحة مختبئة في مكان ما داخل الكود المُولد. ثم يعمل التحقق (Verify) كالمحقق الذي يجد تلك الإجابة الصحيحة المختبئة ويختارها.

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

الخلاصة

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

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

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

جرّب Digest →