BeyondSWE: Can Current Code Agent Survive Beyond Single-Repo Bug Fixing?
تقدم هذه الورقة BeyondSWE، وهو معيار شامل يكشف عن قيود كبيرة في قدرة وكلاء الكود الحاليين على التعامل مع المهام المعقدة والواقعية التي تتجاوز إصلاح الأخطاء في مستودع واحد، وتقترح SearchSWE للتحقيق في الفوائد غير المتسقة لتعزيز البحث في محاكاة سير عمل المطورين.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك توظف مهندس برمجيات مبتدئ (Junior Software Architect) (وهو ذكاء اصطناعي) لإصلاح الأخطاء البرمجية في شركتك.
خلال السنوات القليلة الماضية، كنا نختبر هؤلاء المهندسين من الذكاء الاصطناعي عبر إعطائهم غرفة واحدة صغيرة (مشروع برمجيات واحد) وطلب إصلاح صنبور يسرب الماء (خطأ برمجي). لقد أصبحوا جيدين جداً في ذلك؛ يمكنهم العثور على الأنبوب، واستخدام المفتاح، وإيقاف التنقيط.
لكن عالم هندسة البرمجيات الحقيقي لا يقتصر فقط على إصلاح صنابير تسرب في غرفة واحدة. بل يتعلق بـ:
- عبور الحدود: "مهلاً، السباكة في المطبخ معطلة، لكن الحل موجود في مخططات المكتبة."
- التحدث بلغة أجنبية: "نحتاج لإصلاح هذا الكود، لكن الأمر يتطلب معرفة بالفيزياء الكمومية أو الكيمياء الحيوية."
- نقل المنزل بأكمله: "الأساس (المكتبة التي نستخدمها) تغير شكله للتو. نحتاج لإعادة بناء المنزل بأكمله ليتناسب مع الأساس الجديد."
- البناء من الصفر: "إليك رسماً تخطيطياً على مندقة؛ من فضلك ابنِ ناطحة سحاب كاملة الوظائف."
تشير ورقة "BeyondSWE" إلى أن اختباراتنا الحالية سهلة للغاية. فهي تتحقق فقط مما إذا كان بإمكان الذكاء الاصطناعي إصلاح صنبور يسرب في غرفة واحدة. لقد صمم المؤلفون اختباراً جديداً، أكثر صعوبة، يسمى BeyondSWE ليروا ما إذا كان بإمكان هؤلاء المهندسين من الذكاء الاصطناعي البقاء على قيد الحياة في العالم الحقيقي.
الاختبار الجديد: BeyondSWE
أنشأ المؤلفون 500 تحدٍ من واقع الحياة مقسمة إلى أربعة "مستويات صعوبة"، مثل ألعاب الفيديو:
- المحقق (Cross-Repo): يجب على الذكاء الاصطناعي إصلاح خطأ في المشروع (أ)، لكن الإجابة تكمن في المشروع (ب). الأمر يشبه إصلاح محرك سيارتك عن طريق قراءة دليل تعليمات لعلامة تجارية أخرى تماماً.
- المتخصص (Domain-Specific): يجب على الذكاء الاصطناعي إصلاح كود لمحاكي فيزياء كمومية. لا يكفي أن يعرف البرمجة فحسب؛ بل يحتاج لفهم العلم الفعلي لميكانيكا الكم.
- المجدد (Dependency Migration): أداة رئيسية يستخدمها المشروع أصدرت نسخة جديدة تسببت في تعطل كل شيء. يجب على الذكاء الاصطناعي إعادة كتابة آلاف الأسطر من الكود لجعل "المنزل القديم" يعمل مع "الأساس الجديد".
- المهندس المعماري (Doc-to-Repo): يُعطى الذكاء الاصطناعي وثيقة تصميم مكونة من 10 صفحات ومجلد فارغ. يجب عليه بناء نظام برمجيات كامل ويعمل من الصفر.
النتيجة؟
فشل مهندسو الذكاء الاصطناعي فشلاً ذريعاً. حتى النماذج الأكثر ذكاءً وتطوراً (النماذج الرائدة/Frontier models) لم تحل سوى حوالي 45% من هذه المهام. إنهم بارعون في إصلاح المشكلات الصغيرة والمعزولة، لكنهم ينهارون عندما يواجهون سيناريوهات معقدة من الواقع تتطلب النظر خارج الصندوق الذي هم فيه.
تجربة "جوجل": SearchSWE
سأل المؤلفون: "ماذا لو أعطينا الذكاء الاصطناعي زر بحث جوجل؟ رب maybe إذا استطاع البحث عن المعلومات، فسيصبح أفضل؟"
لقد بنوا أداة تسمى SearchSWE تسمح للذكاء الاصطناعي بتصفح الويب، وقراءة الوثائق، والبحث في المنتديات أثناء البرمجة.
التحول المفاجئ:
لم يساعد منح الذكاء الاصطناعي محرك بحث دائماً. في الواقع، جعل الأمر الأمور أسوأ في بعض الأحيان.
فكر في الأمر كالتالي:
- الجيد: أحياناً، يعلق الذكاء الاصطناعي في خطأ معين. يبحث، فيجد صفحة الدليل المناسبة بالضبط، ويصلح المشكلة فوراً.
- السيئ: أحياناً، يصاب الذكاء الاصطناعي بالارتباك. يبحث عن "كيفية إصلاح أنبوب مكسور"، فتظهر له نتائج البحث كيفية إصلاح محرك سيارة. يتشتت الذكاء الاصطناعي بالمعلومات الخاطئة، ويحاول تطبيق منطق محرك السيارة على السباكة، مما يؤدي لتلف الأنبوب أكثر.
- القبيح: قد يجد الذكاء الاصطنانا حلاً لأحدث نسخة من أداة ما، لكن مشروعك يستخدم نسخة قديمة. يقوم الذكاء الاصطناعي بنسخ الحل الجديد بشكل أعمى، مما يؤدي لانهيار النظام بأكمله.
خلصت الورقة إلى أن البحث والبرمجة مهارتان مختلفتان لم تتعلما العمل معاً بعد. مجرد قدرة الذكاء الاصطناعي على قراءة مكتبة لا يعني أنه يعرف أي كتاب يجب أن يقرأ، أو كيف يتجاهل الكتب الخاطئة.
الخلاصة الكبرى
نحن حالياً نبالغ في تقدير قدرات المبرمجين من الذكاء الاصطناعي. إنهم يشبهون الطلاب العباقرة الذين يمكنهم اجتياز اختبار رياضيات في غرفة هادئة، لكنهم يصابون بالذعر عندما يُطلب منهم حل مشكلة هندسية واقعية في موقع بناء صاخب وفوضوي.
لبناء مطورين حقيقيين من الذكاء الاصطناعي، نحتاج للتوقف عن اختبارهم في مهام بسيطة ومعزولة، والبدء في تعليمهم كيفية:
- التنقل بين المشاريع المختلفة.
- تصفية الضجيج الناتج عن الإنترنت.
- تكييف الكود القديم مع القواعد الجديدة.
- التفكير كخبير بشري يعرف متى يبحث عن حقيقة ومتى يثق في معرفته الخاصة.
BeyondSWE هو "اختبار القيادة" الجديد لمبرمجي الذكاء الاصطناعي، وحالياً، معظمهم يرسبون في الاختبار. لكن هذا أمر جيد! فهو يخبرنا بالضبط أين نحتاج للتحسن لنجعلهم جاهزين حقاً للعالم الحقيقي.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.