تُحدَّث يومياً

مصدرُك العربي
لمستقبل الذكاء الاصطناعي

أخبار، تقارير، أدوات وتحليلات يومية — كل ما تحتاجه لمتابعة ثورة الذكاء الاصطناعي باللغة العربية

✅ تم الاشتراك!
الإحصائيات والتقارير

ProjAgent يُعيد تعريف استرجاع الكود في المستودعات الكبيرة

بقلم: نور | محررة الأبحاث والدراسات · صوت تحريري بإشراف بشري

المشكلة التي يحاول كل نظام توليد كود حلها ليست في كتابة دالة معزولة — بل في فهم كيف تتشابك آلاف الدوال عبر ملفات المشروع الكبير. ProjAgent، النظام البحثي الجديد من جامعة كاليفورنيا إيرفاين، يطرح إجابة مختلفة جوهرياً: بدلاً من البحث عن كود يشبه الهدف في الألفاظ أو البنية، ابحث عن كود يُنفّذ نفس المنطق الإجرائي، حتى لو استخدم أسماء متغيرات مختلفة تماماً أو جاء من مجال تطبيقي آخر.

فريق الباحثين — QiHong Chen وAaron Imani وIftekhar Ahmed — يُعرّف ما يسميه “التشابه الإجرائي” (Procedural Similarity) بوصفه بُعداً للاسترجاع لم يستكشفه أحد من قبل في هذا السياق. الأنظمة القائمة تعتمد إما على التشابه المعجمي (الكلمات المتطابقة)، أو البنيوي (شكل الكود)، أو الدلالي (المعنى العام)، لكن أياً منها لا يسأل: هل هذه الدالة تمر بنفس مراحل التفكير التي تمر بها الدالة المستهدفة؟

آلية عمل النظام تعتمد على سير عمل وكيلي (agentic workflow) يُفكّك الدالة المستهدفة إلى خطوات استدلال وسيطة، ثم يبحث في مستودع المشروع عن دوال تُظهر سلوكاً إجرائياً مشابهاً في كل خطوة على حدة. الكود المُسترجع بهذه الطريقة لا يُلغي الاسترجاع الدلالي التقليدي، بل يُضاف إليه لبناء سياق أغنى يُستخدم لتوليد الكود النهائي. وبعد التوليد، يدخل النظام في حلقة تصحيح ساكنة تحافظية (conservative static-analysis feedback loop) تعتمد على مخرجات المُصرّف (compiler) وأدوات التحليل الساكن لإصلاح الكود بشكل تكراري حتى يجتاز الفحوصات.

النتيجة قابلة للقياس: على معيار REPOCOD المُعتمد لتقييم توليد الكود على مستوى المستودع، حقق ProjAgent نسبة Pass@1 تبلغ 41.14% (وفقاً لورقة البحث على arXiv)، متجاوزاً جميع خطوط الأساس القائمة على الاسترجاع. Pass@1 تعني أن الكود المُولَّد اجتاز اختبارات الصحة في المحاولة الأولى بالضبط — وهو المقياس الأكثر صرامة عملياً.

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

الورقة تُصنَّف ضمن مجالات هندسة البرمجيات (cs.SE) والذكاء الاصطناعي (cs.AI) واسترجاع المعلومات (cs.IR)، وهو تقاطع يعكس طبيعة الحل: ليس مجرد نموذج أفضل، بل استراتيجية استرجاع أذكى تُغذّي نماذج موجودة. هذا يعني أن المقاربة قابلة للتطبيق نظرياً فوق نماذج مختلفة دون الحاجة إلى إعادة تدريب.

التحفظ العملي الجوهري: REPOCOD معيار واحد، والأداء عليه لا يضمن تعميماً على أنواع مختلفة من المستودعات — خاصة تلك التي تعتمد لغات متعددة أو أطر عمل غير قياسية. كذلك فإن حلقة التصحيح الساكنة تعمل بحذر متعمد (“conservative”) لتجنب إدخال أخطاء جديدة، مما قد يعني توقفها عن الإصلاح قبل الوصول إلى حل مثالي في حالات الكود المعقد. ومع ذلك، يبقى ProjAgent خطوة منهجية واضحة نحو جعل توليد الكود بالذكاء الاصطناعي واعياً بالمشروع بأكمله — لا مجرد واعٍ بالدالة المطلوبة فحسب.

arXiv

مقالات ذات صلة

زر الذهاب إلى الأعلى