تصحيح الأخطاء كإنسان: مُصحِّح لنموذج لغة كبير من خلال التحقق من التنفيذ في الوقت الفعلي خطوة بخطوة

تمثّل النماذج اللغوية الكبيرة (LLMs) قيادة تقدّم كبير في مجال توليد الشيفرة البرمجية. فبالإضافة إلى توليد الشيفرة في عملية واحدة، تمّ دمج أعمال حديثة تُضفي وحدات اختبار ومحرّرات برمجية داخل النماذج اللغوية الكبيرة، بهدف تحسين الشيفرة المولّدة بشكل تكراري. ومع ذلك، فإن هذه الدراسات تنظر إلى الشيفرة المولّدة ككائن غير قابل للتفكيك، وهو ما يُعدّ عيبًا في قدرة النماذج اللغوية الكبيرة على تصحيح الأخطاء، خصوصًا عندما تحتوي الشيفرة على تدفقات منطقية معقدة وعمليات بيانات متعددة. في المقابل، عندما يُصَحّح المطوّرون البشر الشيفرة، فإنهم غالبًا ما يضعون نقاط توقف (breakpoints) ويُجريّن فحصًا انتقائيًا للمعلومات الناتجة عن التنفيذ الزمني. إذ تلعب تدفقات التنفيذ والمتغيرات الوسيطة دورًا محوريًا في عملية التصحيح، لكنها تُستَهَن بها في الأدبيات الحالية المتعلقة بتوليد الشيفرة. في هذه الدراسة، نقدّم إطار عمل جديد يُسمّى "مُصحّح النموذج اللغوي الكبير" (LDB)، الذي يمكّن النماذج اللغوية الكبيرة من تحسين الشيفرات المولّدة باستخدام معلومات التنفيذ الزمني. بشكل محدد، يقوم LDB بتقسيم الشيفرة إلى كتل أساسية، ويُتابع قيم المتغيرات الوسيطة بعد تنفيذ كل كتلة خلال عملية التنفيذ الزمني. وهذا يمكّن النماذج اللغوية الكبيرة من التركيز على وحدات شفرة أبسط ضمن التدفق العام للتنفيذ، والتحقق من صحتها مقابل وصف المهمة كتلة تلو الأخرى، وبشكل فعّال لتحديد أي أخطاء محتملة. تُظهر التجارب أن LDB يعزز أداء النموذج الأساسي بشكل مستمر بنسبة تصل إلى 9.8٪ عبر معايير HumanEval وMBPP وTransCoder، محقّقًا أداءً جديدًا على مستوى الحالة الراهنة (state-of-the-art) في مجال تصحيح الشيفرة لعدد متنوع من النماذج اللغوية الكبيرة.