← أحدث الأبحاث
🤖 AI

CODESKILL: Learning Self-Evolving Skills for Coding Agents

إنَّ CODESKILL هو إطار عمل قائم على التعلم المعزز يتعلم كيفية استخراج وتطوير وصيانة بنك مدمج من المهارات الإجرائية متعددة المستويات من مسارات وكلاء البرمجة، مما يحسن بشكل كبير أداء المهام اللاحقة في اختبارات معيارية مثل SWE-Bench Verified مقارنة بالأساليب القائمة على التلقين أو الذاكرة.

المؤلفون الأصليون: Yanzhou Li, Yiran Zhang, Xiaoyu Zhang, Xiaoxia Liu, Yang Liu

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

المؤلفون الأصليون: Yanzhou Li, Yiran Zhang, Xiaoyu Zhang, Xiaoxia Liu, Yang Liu

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

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

المشكلة هي أنه إذا تركت الروبوت يحتفظ بمذكرات لكل شيء فعله على الإطلاق، فستصبح هذه المذكرات عبارة عن جبل فوضوي ومرهق من الورق. معظم هذا الورق ليس سوى تفاصيل محددة عن خطأ واحد معين لن تساعد في الخطأ التالي.

CODESKILL هو نظام جديد مصمم لتحويل هذا الجبل الفوضوي من الورق إلى دليل تعليمات أنيق ومنظم يمكن للروبوت استخدامه بالفعل.

إليك كيف يعمل، مقسماً إلى مفاهيم بسيطة:

1. المشكلة: الكثير من الضجيج، القليل من الإشارة

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

الأساليب الحالية تشبه أمين مكتبة يقوم فقط بتكديس الكتب على الأرض دون تنظيمها؛ فهو لا يعرف أي الكتب ستكون مفيدة للقارئ التالي.

2. الحل: "أمين المكتبة المتطور ذاتياً"

يعمل CODESKILL كأمين مكتبة ذكي يدير قاعدة معرفة الروبوت (التي تسمى بنك المهارات). بدلاً من مجرد تخزين قصص خام، فإنه يقوم بـ:

  • استخراج المهارات: يقرأ رحلات الروبوت الماضية ويستخلص "القطع الذهبية" – وهي القواعد العامة التي تنطبق على مواقف عديدة.
  • تطوير المهارات: إذا جرب الروبوت مهارة وفشلت، فإن أمين المكتبة لا يرمي المهارة فحسب، بل يقوم بتحديث دليل التعليمات ليقول: "أوه، هذه القاعدة تعمل، إلا إذا رأيت رسالة الخطأ المحددة هذه".
  • صيانة المكتبة: يقوم باستمرار بفحص المكتبة. إذا كان هناك كتابان يقولان الشيء نفسه، فإنه يدمجهما. وإذا كان الكتاب شديد التحديد أو غير مفيد، فإنه يتخلص منه. هذا يحافظ على المكتبة صغيرة وفعالة.

3. كيف يتعلم: "المدرب والرياضي"

الجزء الفريد من CODESKILL هو كيفية تعلمه ليكون أمين مكتبة جيداً. هو لا يخمن فحسب؛ بل يحصل على تغذية راجعة من "رياضي ثابت" (روبوت البرمجة).

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

تسمي الورقة البحثية هذا التعلم المعزز (Reinforcement Learning). إنه يشبه تدريب كلب؛ أنت لا تخبر الكلب فقط بما يجب فعله، بل تعطيه مكافأة عندما ينجح في الأمر، ليتعلم تكرار السلوك الذي يمنحه المكافأة.

4. نوعان من المهارات

ينظم CODESKILL المعرفة في نوعين من التعليمات، مثل كتاب طبخ يحتوي على قسمين:

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

5. النتائج: روبوت أذكى وأسرع

اختبر الباحثون CODESKILL في ثلاث "غرف اختبار" (مقاييس أداء) حيث يتعين على روبوتات البرمجة حل مشكلات برمجية حقيقية.

  • الأساس (Baseline): روبوت بدون دليل تعليمات (مجرد ذكاء خام).
  • المنافسة: روبوتات تستخدم طرقاً قديمة لتذكر المهام السابقة (مثل مجرد قراءة مذكرات أو استخدام مطالبات ثابتة).
  • CODESKILL: الروبوت الذي يستخدم مكتبة المهارات المتطورة ذاتياً.

النتيجة:
حل روبوت CODESKILL مشكلات أكثر بشكل ملحوظ من الآخرين.

  • حسن معدل النجاح بنسبة تقارب 9.7% مقارنة بعدم وجود مهارات على الإطلاق.
  • تفوق على أقوى طرق "الذاكرة" الموجودة بنسبة تقارب 4%.
  • كما حل المشكلات بسرعة أكبر، حيث استغرق خطوات أقل للوصول إلى الحل لأنه يمتلك تعليمات أفضل لاتباعها.

الخلاصة

CODESKILL هو إطار عمل يعلم روبوت البرمجة كيف يتعلم كيف يتعلم. بد instead من مجرد حفظ كل شيء حدث، فإنه يتعلم تلخيص تلك التجارب في مجموعة مدمجة ومتطورة من القواعد. إنه يعمل كمدرب يصقل خطة اللعب باستمرار بناءً على ما إذا كان الفريق سيفوز بالمباراة فعلياً، مما يضمن أن يصبح الروبوت أفضل وأكثر كفاءة بمرور الوقت دون الحاجة إلى إعادة برمجته من الصفر.

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

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

جرّب Digest →