MapCoder: توليد الرموز متعدد الوكلاء لحل المشكلات التنافسية

تُعدّ عملية تركيب الشفرة (Code synthesis) تحديًا كبيرًا، نظرًا لاحتياجها إلى فهم عميق لوصف المشكلات باللغة الطبيعية المعقدة، وإنشاء تعليمات برمجية لخوارزميات وبنية بيانات معقدة، بالإضافة إلى تنفيذ اختبارات وحدة شاملة بنجاح. وعلى الرغم من الكفاءة المتميزة التي تُظهرها النماذج اللغوية الكبيرة (LLMs) في معالجة اللغة الطبيعية، إلا أن أداؤها في مهام إنشاء الشفرة ما زال محدودًا. في هذه الورقة البحثية، نقدّم نهجًا جديدًا لمهام إنشاء الشفرة يستند إلى تقنية التحفيز متعددة الوكلاء (multi-agent prompting)، والتي تُحاكي بشكل فريد الدورة الكاملة لتركيب البرامج كما تُلاحظ عند المطورين البشر. يتكوّن إطارنا، المسمّى MapCoder، من أربعة وكلاء مبنيين على نماذج لغوية كبيرة (LLMs) تم تصميمها خصيصًا لمحاكاة المراحل المختلفة لهذه الدورة: استرجاع أمثلة ذات صلة، التخطيط، إنشاء الشفرة، والتصحيح. وبعد إجراء تجارب مكثفة، تضمنت تحليلات متعددة للنماذج (ablations) ومقارنات على ثمانية معايير صعبة في حل المشكلات التنافسية وتركيب البرامج، أظهر MapCoder قدرات متميزة في إنشاء الشفرة، محقّقًا نتائجًا جديدة على مستوى الحد الأقصى (state-of-the-art) في معيار pass@1 على: HumanEval (93.9%)، MBPP (83.1%)، APPS (22.0%)، CodeContests (28.5%)، وxCodeEval (45.3%). علاوةً على ذلك، تُظهر طريقة عملنا أداءً متفوّقًا بشكل مستمر عبر لغات برمجة مختلفة ومستويات متفاوتة من صعوبة المشكلات. ونُفصح عن إصدار إطارنا مفتوح المصدر عبر الرابط: https://github.com/Md-Ashraful-Pramanik/MapCoder.