وكلاء الحالة ضمن السياق أحاديّون: تحقيق أداء ٥٠.٨٪ في اختبار SWE-Bench بدون استخدام أدوات

مقدمة

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

التحديات والنهج التقليدية

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

ركزت الأبحاث في هندسة البرمجيات على وكلاء نماذج اللغات الكبيرة على استراتيجيتين رئيسيتين: أطر عمل قائمة على الوكلاء، وأنابيب معالجة منظمة. تسمح الأنظمة القائمة على الوكلاء، مثل SWE-Agent و OpenHands CodeAct، لنماذج اللغات الكبيرة بالتفاعل بشكل مستقل مع قواعد البيانات البرمجية، غالباً من خلال واجهات مخصصة وأدوات استرجاع. تقوم نماذج أخرى مثل Moatless و AutoCodeRover بتعزيز تحديد الموقع من خلال تقنيات البحث، بينما يعمل SpecRover على تحسين تصميم الركائز. بدلاً من ذلك، تقوم أنابيب المعالجة المنظمة – مثل Agentless و CodeMonkey – بتقسيم المهام إلى مراحل متسلسلة مثل تحديد الموقع، والإصلاح، والتحقق.

النهج المقترح: وكلاء الحالة ضمن السياق أحاديّون

في حين تعتمد هذه الأساليب على مكونات مُهندسة لتحقيق الأداء، يقترح هذا البحث الاستفادة من نماذج اللغات الكبيرة ذات السياق الطويل (LCLMs) لتفسير بيئة المهمة بأكملها مباشرة. تسمح التطورات في بنية نماذج اللغات الكبيرة ذات السياق الطويل وبنيتها التحتية الآن لهذه النماذج بتجاوز أنظمة الاسترجاع المعززة في العديد من السياقات، مما يقلل من الاعتماد على الركائز الخارجية المعقدة.

قام باحثون من ستانفورد، وآي بي إم، وجامعة تورنتو باستكشاف ما إذا كانت الركائز المعقدة ضرورية لوكلاء نماذج اللغات الكبيرة الذين يتصدون لمهام مثل اختبار SWE-Bench. أظهروا أن استخدام نماذج اللغات الكبيرة ذات السياق الطويل، مثل Gemini-1.5-Pro، مع توجيه مناسب وبدون أي ركائز، يمكن أن يحقق أداءً تنافسياً – حيث وصل إلى ٣٨٪ في اختبار SWE-Bench-Verified. وقد وصل Gemini-2.5-Pro، باستخدام نفس الإعداد البسيط، إلى ٥٠.٨٪. تشير أعمالهم إلى أنه يمكن استبدال العديد من التصميمات الوكيلة المعقدة بنموذج لغة كبير واحد قوي، مما يبسط البنية والتدريب. بالإضافة إلى ذلك، حقق النهج الهجين المكوّن من مرحلتين باستخدام Gemini-1.5-Pro و Claude-3.7 معدل حل قدره ٤٨.٦٪، مما يدعم هذا الاتجاه المبسط.

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

  • DIRECTSOLVE: حيث تحل نماذج اللغات الكبيرة ذات السياق الطويل المهام باستخدام السياق الكامل.
  • SELECTSOLVE: حيث تحدد نماذج اللغات الكبيرة ذات السياق الطويل الملفات ذات الصلة لنماذج اللغات الكبيرة ذات السياق القصير (SCLMs) لحلّها.

تستخدم كلتا الطريقتين تنسيقات تصحيح مُستهدفة والتحقق من الصحة لضمان الدقة والحد من الهلوسة.

النتائج والتجارب

تقيم التجارب إطار عمل وكيل مبسط باستخدام نماذج اللغات الكبيرة على معيار SWE-bench Verified، والذي يتضمن ٥٠٠ مهمة هندسة برمجيات من العالم الحقيقي. تستخدم الطرق المقترحة، DIRECTSOLVE و SELECTSOLVE، نماذج اللغات الكبيرة ذات السياق الطويل مثل Gemini-1.5-Pro و Gemini-2.5-Pro، وفي SELECTSOLVE، نموذج لغة كبير إضافي ذا سياق قصير (Claude-3.7-Sonnet) لإنشاء التصحيحات. تُظهر النتائج أن DIRECTSOLVE يتفوق على الأساليب الوكيلة المعقدة مثل Agentless و CodeAct مع الحد الأدنى من الهندسة. يُحسّن SELECTSOLVE من الدقة بشكل أكبر من خلال الاستفادة من نماذج أقوى لإجراء التصحيحات. تبرز دراسات الاستبعاد أهمية توجيه التفكير المتسلسل (CoT)، وإعادة صياغة التعليمات البرمجية، وتصميم السياق الفعال من حيث عدد الرموز. بالإضافة إلى ذلك، فإن وضع الملفات ذات الصلة في بداية التوجيه يحسن الأداء، مما يبرز القيود في معالجة السياق الطويل.

التكلفة والأداء المستقبلي

في الختام، تبلغ تكلفة استخدام الأساليب القائمة على نماذج اللغات الكبيرة ذات السياق الطويل حالياً أعلى من الأساليب الحالية مثل Agentless و CodeAct، حيث يبلغ متوسط التكلفة ٢.٦٠ دولارًا لكل مثيل مقارنةً بـ ٠.٢٥ دولار و ٠.٨٧ دولارًا، على التوالي. ومع ذلك، فإن الانخفاض السريع في تكاليف الاستدلال وزيادة أطوال السياق تجعل نماذج اللغات الكبيرة ذات السياق الطويل أكثر عملية. تقنيات مثل تخزين البيانات المؤقتة (KV caching) تخفض التكاليف بشكل كبير بعد التشغيل الأولي، مما يقللها إلى حوالي ٠.٧٢٥ دولار. على الرغم من أن التغييرات الطفيفة في قاعدة البيانات البرمجية لا تزال تحد من فوائد التخزين المؤقت، إلا أن التحسينات الإضافية يمكن أن تساعد. يُشير البحث أيضاً إلى أن نماذج اللغات الكبيرة ذات السياق الطويل يمكنها التعامل مع سجلات التفاعل الطويلة، مما يقلل من الحاجة إلى آليات الذاكرة والاسترجاع المعقدة. والجدير بالذكر أن نماذج نماذج اللغات الكبيرة ذات السياق الطويل بدون ركائز يمكن أن تحقق أداءً تنافسياً في مهام SWE-Bench.

المصدر: MarkTechPost