← أحدث الأبحاث
🤖 machine learning

SWE Atlas: Benchmarking Coding Agents Beyond Issue Resolution

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

المؤلفون الأصليون: Mohit Raghavendra, Soham Dan, Miguel Romero Calvo, Yannis Yiming He, Johannes Baptist Mols, Gautam Anand, Cole McCollum, Edgar Arakelyan, Vijay Bharadwaj, Andrew Park, Jeff Da, MohammadHossein Rezaei
نُشر 2026-05-12
📖 5 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Mohit Raghavendra, Soham Dan, Miguel Romero Calvo, Yannis Yiming He, Johannes Baptist Mols, Gautam Anand, Cole McCollum, Edgar Arakelyan, Vijay Bharadwaj, Andrew Park, Jeff Da, MohammadHossein Rezaei, Bing Liu, Brad Kenstler, Yunzhong He

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

إليك شرح لورقة SWE Atlas البحثية، مترجمة إلى لغة يومية بسيطة مع استخدام تشبيهات إبداعية.

الصورة الكبيرة: من "عمال الرقع" إلى "كبار المهندسين المعماريين"

تخيل أنك استأجرت فريقًا من الروبوتات الذكية للغاية والسريعة جدًا (هذه هي وكلاء البرمجة بالذكاء الاصطناعي - AI Coding Agents) لمساعدتك في بناء وصيانة مدينة ضخمة (وهي قاعدة البيانات البرمجية - software codebase).

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

لكن SWE Atlas تقول: "انتظر لحظة. كونك عامل بناء جيد لا يقتصر فقط على إصلاح النوافذ المكسورة. الأمر يتعلق أيضًا بفهم المدينة بأكملة، وكتابة أدلة السلامة، وإعادة تصميم المباني القديمة حتى لا تنهار بعد 10 سنوات".

لقد صمم الباحثون اختبارًا جديدًا أكثر صعوبة يسمى SWE Atlas ليروا ما إذا كانت هذه الروبوتات قادرة على العمل كـ مهندسين محترفين، وليس مجرد عمال رقع.


التحديات الثلاثة الجديدة (مهام "أطلس")

بدلاً من مجرد إصلاح الأخطاء، تعطي SWE Atlas الروبوتات ثلاثة أنواع من الوظائف الاحترافية:

1. الأسئلة والأجوبة حول قاعدة البيانات: "مرشد الجولة في المدينة"

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

2. كتابة الاختبارات: "مفتش السلامة"

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

3. إعادة الهيكلة (Refactoring): "خبير التجديد"

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

كيف قيموا الروبوتات (المقياس)

في الماضي، كانت الاختبارات تشبه الاختبار متعدد الخيارات: هل عمل الكود؟ نعم/لا.

أما SWE Atlas فتستخدم نموذج تقييم المعلم (Rubric). تخيل معلم فنون صارمًا يقيم لوحة طالب:

  • هل رسمت السماء؟ (نعم/لا)
  • هل استخدمت ضربات الفرشاة الصحيحة؟ (نعم/لا)
  • هل تركت فرشاة الرسم على الأرض؟ (نعم/لا - وهذا يعتبر "نموذج تقييم سلبي" لأنه ممارسة سيئة).

استخدم الباحثون ذكاءً اصطناعيًا ثانيًا ("الحَكَم") للنظر في عمل الروبوت والتحقق من هذه التفاصيل الدقيقة. لقد اهتموا بـ:

  • النظافة: هل ترك الروبوت "كودًا ميتًا" (قمامة) خلفه؟
  • التنظيم: هل الكود الجديد سهل القراءة للبشر لاحقًا؟
  • الاكتمال: هل أغفل الروبوت أي حالات استثنائية؟

ما وجدوه (النتائج)

اختبر الباحثون أذكى نماذج الذكاء الاصطناعي المتاحة (مثل GPT-5.4 و Opus 4.7) وبعض النماذج مفتوحة المصدر. وإليكم الحكم:

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

  2. مشكلة "الاستمرارية":
    إذا طلبت من روبوت متطور حل مشكلة 3 مرات، فقد ينجح مرة واحدة ويفشل في المرتين الأخريين. إنهم ليسوا موثوقين بما يكفي ليتم الوثوق بهم في البمرات الحيوية بعد.

  3. فجوة "الاستكشاف":
    الروبوتات الأفضل نجحت لأنها لم تكتفِ بقراءة الكود؛ بل شغلت الكود. لقد قاموا بإعداد البرنامج، وكسره، وأصلحوه، وراقبوا السجلات (logs). الروبوتات التي اكتفت بـ "قراءة" الكود دون تشغيله فشلت في مهام "الأسئلة والأجوبة حول قاعدة البيانات".

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

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

الخلاصة

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

لا يزال يعاني من:

  • التفكير المسبق فيما يمكن أن يسوء.
  • تنظيف الكود الفوضوي دون كسره.
  • فهم كيفية سلوك النظام في العالم الحقيقي (وليس فقط على الورق).

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

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

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

جرّب Digest →