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

SAGE: A Self-Adaptive Agentic Framework for Execution-Guided Code Generation and Self-Repair

تقدم هذه الورقة SAGE، وهو إطار عمل متعدد الوكلاء ذاتي التكيف يحسن بشكل كبير من موثوقية توليد مشاريع متعددة الملفات قابلة للتشغيل من خلال توظيف دورة تحكم MAPE-K مغلقة الحلقة لتنفيذ الكود بشكل تكراري، وتحليل أخطاء وقت التشغيل، وإجراء الإصلاح الذاتي، مما يحقق زيادة ذات دلالة إحصائية في معدلات النجاح مقارنة بالتوليد أحادي المرحلة.

المؤلفون الأصليون: Harshil Lodhiya

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

المؤلفون الأصليون: Harshil Lodhiya

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

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

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

قام الباحث وراء هذه الدراسة، هارشيل لودهيا، بإنشاء نظام جديد يسمى SAGE (إطار العمل الوكيل ذاتي التكيف لتوليد الكود الموجه بالتنفيذ والإصلاح الذاتي). فكر في SAGE كأنه طاقم بناء آلي صغير يتكون من أربعة أدوار متميزة تعمل في حلقة. أولاً، المخطط (Planner) الذي يقسم هدفك الكبير إلى قائمة مهام مفصلة. ثانيًا، المبرمج (Coder) الذي يبني الملفات بناءً على تلك القائمة. ثالثًا، المُدقق (Validator) الذي يعمل كمفتش صارم: يقوم بإعداد ورشة عمل نظيفة ومعزولة، ويثبت الأدوات اللازمة، ويحاول تشغيل البرنامج. إذا تعطل البرنامج أو فشل في القيام بما كان من المفترض أن يفعله، فإن المُدقق لا يستسلم فحسب؛ بل يرسل رسالة الخطأ إلى العضو الرابع، وهو وكيل التغذية الراجعة (Feedback Agent). يعمل هذا الوكيل كمحقق، يقرأ تقرير الخطأ ويخبر المبرمج بالضبط أي ملف يجب تغييره وكيفية إصلاحه. ثم يقوم المبرمج بالإصلاح، ويحاول الفريق بأكمله مرة أخرى. تتكرر هذه الدورة حتى يعمل المشروع بنجاح أو تنفد محاولاتهم.

اختبر الفريق نظام SAGE على مجموعة خاصة من 15 مهمة صعبة صمموها خصيصًا لإيقاع الذكاء الاصطناي في الخطأ، مثل استخدام أوامر مكتبات قديمة لم تعد موجودة أو فقدان ملف مخرجات مطلوب. وقارنوا SAGE بنموذج ذكاء اصطناعي قياسي يحاول بناء المشروع مرة واحدة فقط ويأمل في النجاح. كانت النتائج واضحة: حلقة الإصلاح الذاتي أحدثت فرقًا كبيرًا. عند استخدام نموذج ذكاء اصطناعي قوي (gpt-4.1-mini)، نجح نهج "المرة الواحدة" القياسي في حوالي 69.3% من الحالات. ولكن عندما أضافوا حلقة إصلاح SAGE، قفز معدل النجاح إلى 92.0%. هذه زيادة قدرها 22.7 نقطة مئوية، وهو ما وصفه الباحث بأنه مكسب كبير وذي معنى. باختًا مختصرًا، أنقذت الحلقة المهام التي كان من الممكن أن يفشل فيها الذكاء الاصطناعي تمامًا، مثل إصلاح كود حاول استخدام اسم مستعار لتكرار "الشهر" (month frequency alias) تمت إزالته من مكتبة بيانات شهيرة.

ومع ذلك، اختبرت الورقة أيضًا نسخة أكثر عدوانية من الفكرة. تساءلوا: ماذا لو لم يقم الذكاء الاصطناعي فقط بإصلاح الأعطال، بل تحقق أيضًا مما إذا كان البرنامج كاملًا تمامًا، حتى لو لم يتعطل؟ على سبيل المثال، إذا كان من المفترض أن ينشئ برنامج ما ملف تقرير ولكنه انتهى دون حدوث خطأ، ولكن دون إنشاء الملف فحسب، فهل سيكتشف الذكاء الاصطناعي ذلك؟ قاموا ببناء نظام "واعٍ بالصحة" (correctness-aware) للقيام بذلك. ومن المثير للدهشة، لم يساعد هذا التشدد الإضافي كثيرًا. فقد ارتفع معدل النجاح بنسبة ضئيلة بلغت 2.7 نقطة فقط (إلى 94.7%)، ووجد الباحث أن هذا الفرق لم يكن ذا دلالة إحصائية. في الواقع، تسبب التدقيق الإضافي أحيانًا في جعل الذكاء الاصطناعي "يفرط في الإصلاح"، مما أدى إلى إتلاف برامج كانت تعمل بشكل جيد بالفعل. الدرس المستفاد هنا هو أنه بينما يكون إخبار الذكاء الاصطناعي بكيفية شكل النجاح أمرًا مفيدًا، فإن إجباره باستمرار على إعادة الفحص والإصلاح يمكن أن يجعل الأمر أسوأ.

باختصار، تظهر الورقة أن منح الذكاء الاصطناعي حلقة "جرب، افشل، أصلح" هو وسيلة قوية لبناء برمجيات عاملة، حيث تحول معدل النجاح من حوالي 69.3% إلى 92.0%. إنها تثبت أن السماح للذكاء الاصطناعي برؤية أخطائه في بيئة حقيقية ومعزولة هو المفتاح لإطلاق إمكاناته في المشاريع المعقدة. لكنها تحذرنا أيضًا من أن المثالية المفرطة قد تأتي بنتائج عكسية؛ فأحيانًا يكون من الأفضل ترك الذكاء الاصطناعي يصلح الأخطاء الكبيرة ويترك الباقي كما هو. لقد جعل الباحث الكود الخاص به ومجموعة الاختبارات متاحة لأي شخص لاستخدامها، آملًا في مساعدة الآخرين على بناء برمجيات يمكنها إصلاح نفسها بنفسها.

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

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

جرّب Digest →