تعتبر عملية [تحديد الأخطاء](/tag/تحديد-[الأخطاء](/tag/الأخطاء)) البرمجية واحدة من التحديات الرئيسية التي تواجه صيانة البرمجيات، مثل [تحليل أسباب](/tag/[تحليل](/tag/تحليل)-أسباب) المشاكل والإصلاح الآلي للبرامج. وعلى الرغم من التقدم الحالي في [أنظمة](/tag/أنظمة) [الإصلاح](/tag/الإصلاح) المعتمدة على [نماذج [اللغات](/tag/اللغات) الضخمة](/tag/[نماذج](/tag/نماذج)-[اللغات](/tag/اللغات)-الضخمة) ([LLM](/tag/llm))، إلا أن [تحديد الأخطاء](/tag/تحديد-[الأخطاء](/tag/الأخطاء)) على مستوى الملفات يظل محورياً، خصوصاً في البيئات الهرمية التي يمكن أن تنتقل فيها [الأخطاء](/tag/الأخطاء) إلى مراحل أدنى مثل تحديد موقع الجمل أو إنشاء التصحيحات.

تقدم [تقنية](/tag/تقنية) [BLAgent](/tag/blagent) الجديدة حلاً فعّالاً لتحديد [الأخطاء](/tag/الأخطاء) على مستوى الملفات، حيث تتمثل ميزتها الأساسية في استخدام إطار [عمل](/tag/عمل) استرجاع متزايد ([RAG](/tag/rag)) يجمع بين ثلاثة [أفكار](/tag/أفكار) رئيسية:
1. **التشفير المعرفي لهيكلية الشفرة** باستخدام تقسيم مبني على شجرة [تحليل](/tag/تحليل) الشفرة (AST) مع تعزيز المسار.
2. **تحويل الاستفسارات من وجهات نظر مزدوجة**، مما يسهم في التقاط الإشارات والهيكلية والسلوكية.
3. **إعادة [تصنيف](/tag/تصنيف) ذكية ذات مرحلتين** تجمع بين الفحص الرمزي والاستدلال القائم على [الأدلة](/tag/الأدلة).

على خلاف الأساليب التقليدية المبنية على [الرسوم البيانية](/tag/الرسوم-البيانية) أو الأساليب المتعددة الخطوات، يوفر [BLAgent](/tag/blagent) طريقة [تفكير](/tag/تفكير) محصورة على مجموعة مرشحة مضغوطة، مما يوازن بين [الدقة](/tag/الدقة) والتكاليف. وعلى [منصة](/tag/منصة) [SWE-bench](/tag/swe-bench) Lite، حصل [BLAgent](/tag/blagent) على [دقة](/tag/دقة) تجاوزت 78% باستخدام [نماذج مفتوحة](/tag/[نماذج](/tag/نماذج)-مفتوحة) المصدر، و86% عند استخدام [نموذج](/tag/نموذج) مغلق المصدر، مع كونه أكثر [كفاءة](/tag/كفاءة) بحوالي 18 مرة مقارنة بأفضل [نماذج](/tag/نماذج) [الشركات](/tag/الشركات).

عند دمجه مع نظام [الإصلاح](/tag/الإصلاح) الآلي للبرامج، [تمكن](/tag/تمكن) [BLAgent](/tag/blagent) من زيادة معدل [نجاح](/tag/نجاح) [الإصلاح](/tag/الإصلاح) الشامل بأكثر من 20%. هذا التطور يعد خطوة كبيرة [نحو](/tag/نحو) [تحسين](/tag/تحسين) فعالية [صيانة البرمجيات](/tag/صيانة-[البرمجيات](/tag/البرمجيات)) وتقليل الوقت والتكلفة المرتبطين بها.

ما رأيكم في هذه [التقنية](/tag/التقنية) الجديدة؟ هل تعتقدون أنها ستحسن من جودة [تطوير البرمجيات](/tag/[تطوير](/tag/تطوير)-[البرمجيات](/tag/البرمجيات)) وصيانتها؟ شاركونا آراءكم في [التعليقات](/tag/التعليقات)!