Where Does the Accuracy of LLM-Based Root-Cause Analysis Come From? An Empirical Study on Microservice Benchmarks
تكشف هذه الدراسة التجريبية أن دقة تحليل السبب الجذري القائم على النماذج اللغوية الكبيرة في الخدمات المصغرة مدفوعة في المقام الأول بجودة الأدلة المستخرجة بواسطة خط معالجتها الأساسي بدلاً من النموذج نفسه، بينما تسلط الضوء على ضعف النظام الكبير تجاه النصوص المضللة وأخطاء التوقيت.
في المدن غير المرئية والواسعة للبرمجيات الحديثة، حيث تعمل آلاف البرامج الصغيرة التي تسمى "الخدمات المصغرة" (microservices) معاً لتشغيل كل شيء، من التسوق عبر الإنترنت إلى الخدمات المصاسية، تتعطل الأشياء أحياناً. عندما يحدث فشل، يحتاج المهندسون إلى العثور على القطعة المكسورة الوحية بسرعة لإصلاحها. تُسمى هذه العملية "تحليل السبب الجذري" (root-cause analysis). لسنوات، كانت الطريقة القياسية للقيام بذلك هي استخدام كواشف آلية تراقب الأرقام الغريبة في بيانات النظام — مثل الارتفاع المفاجئ في استخدام الذاكرة أو التأخير في رسالة ما — ثم تحصي أي خدمة هي الأكثر اضطراباً. مؤخراً، ظهرت فكرة جديدة: بدلاً من مجرد العد، يمكننا تغذية البيانات لنموذج لغوي كبير، وهو نوع من الذكاء الاصطناعي الذي يمكنه القراءة والاستنتاج، وسؤاله عن تحديد الجاني. والأمل هو أن هذه النماذج يمكنها فهم القصة وراء الأرقام بشكل أفضل من مجرد عداد بسيط. ولكن يبقى سؤال حاسم: إذا أصاب النموذج الإجابة، فهل هو بسبب ذكائه الحقيقي، أم أنه ببساطة يقرأ الأدلة التي قدمتها له الكواشف الآلية؟
لقد شرع فريق من الباحثين في الإجابة على ذلك من خلال بناء تجربة محكومة باستخدام نظام برمجيات واقعي ومجموعة عامة تضم 360 فشلاً محاكياً. لقد أخذوا نظاماً قائماً حيث تقوم الكواشف بتلخيص البيانات في تقرير نصي قصير ثم تمرره إلى نموذج ذكاء اصطناعي لتشخيص الحالة. كان هدفهم هو تقشير الطبقات ومعرفة مصدر الدقة بالضبط. أرادوا معرفة ما إذا كان النموذج يضيف أي قيمة حقيقية، أم أن الإجابة كانت مخبأة بالفعل في النص الذي كتبته الكواشف. وللتحقق من ذلك، أجروا نفس النموذج عبر نسخ مختلفة من الاختبار. في بعض التجارب، قاموا بإزالة الجمل التفسيرية التي أضافتها الكواشف. وفي حالات أخرى، استبدلوا أسماء الخدمات الحقيقية بملصقات محايدة. حتى أنهم زرعوا دليلاً زائفاً، بإخبار النموذج أن خدمة معينة هي المشكلة بينما كانت بريئة، ليروا ما إذا كان النموذج سيتبع ذلك الاقتراح بشكل أعمى.
كشفت النتائج عن حقيقة مذهلة حول كيفية عمل هذه الأنظمة. فعندما اختبر الباحثون النموذج على مجموعة من 270 فشلاً تتعلق بمشاكل الشبكة والموارد، كان النموذج في الواقع أقل دقة من عملية العد البسيطة للكواشف التي انطلقت. فقد أصابت الكواشف، التي تكتفي بعدّ عدد الإنذارات لكل خدمة، الإجابة الصحيحة بنسبة 60% من المرات، بينما أصاب النموذج الإجابة الصحيحة بنسبة 44% فقط. يشير هذا إلى أنه في هذا النوع من المشكلات، لم يكن النموذج يحسن التشخيص؛ بل كان أحياناً يعيق العملية. وجد الباحثون أن أداء النموذج يعتمد بشدة على النص الذي كتبه مسار العمل (pipeline) له. فعندما أزالوا الملاحظات التفسيرية التي أضافها النظام لشرح البيانات، انخفضت دقة النموذج بشكل ملحوظ. والأكثر دلالة هو أنه عندما زرعوا ملاحظة كاذبة تدعي أن خدمة معينة هي السبب، اتبع النموذج تلك الكذبة في نصف الحالات تقريباً، متهماً الخدمة البريئة بأنها الجاني. أظهر هذا أن النموذج كان حساساً للغاية للسرد المقدم له، وغالباً ما كان يعطي الأولوية لما يزعم النص على حساب الأدلة الفعلية.
ومع ذلك، تغيرت القصة عندما نظر الباحثون إلى مجموعة مختلفة من 90 فشلاً تضمنت أخطاءً عميقة داخل كود الكمبيوتر. هنا، كان أداء النموذج أفضل من عدد الكواشف البسيط، حيث حقق الإجابة الصحيحة بنسبة 60% مقارلة بـ 38% للكواشف. واكتشف الباحثون أن هذا التحسن جاء بالكامل تقريباً من نص السجل الخام (raw log text) — وهي رسائل الخطأ الفعلية التي يكتبها البرنامج — والتي استطاع النموذج قراءتها وفهمها، بينما لم تستطع الكواشف سوى عدّها. وعندما أزالوا هذا النص الخام من مدخلات النموذج، عادت دقته إلى مستوى الكواشف البسيطة. يشير هذا إلى أن "ذكاء" النموذج في هذا السيناريو لم يكن قدرة استنتاجية عامة، بل مهارة محددة في قراءة سجلات الأخطاء الخام التي لخصتها الكواشف في أرقام.
كما اختبرت الدراسة كيفية تعامل هذه الأنظمة مع عدم اليقين بشأن وقت بدء الفشل. ووجدوا أن الطرق الإحصائية الأكثر قوة، والتي تعتمد على مقارنة البيانات قبل وبعد وقت فشل معروف، انهارت عندما قام الباحثون بتغيير وقت البدء بمقدار دقيقتين فقط. كان النموذج أكثر صموداً قليلاً تجاه هذا الخطأ، لكنه ظل يعاني. وعندما بنى الباحثون مسار عمل مختلفاً تماماً وأبسط، يقوم فقط بعرض البيانات دون الملاحظات التفسيرية المعقدة، حقق النموذج نفسه دقة أعلى بكثير بلغت 87%. أثبت هذا أن النموذج كان قادراً على تحقيق أداء عالٍ، ولكن فقط عندما تُقدم الأدلة بوضوح ودون نص تفسيري مضلل. في النظام الأصلي، كانت الملاحظات التفسيرية تعمل كمرشح (فلتر) يحجب الحقيقة أحياناً.
في النهاية، خلص البحث إلى أن دقة وكلاء الذكاء الاصطناعي هؤلاء ليست خاصية للنموذج وحده. إنها مزيج مما تستخرجه الكواشف، وكيفية كتابة النص، ورد فعل النموذج تجاه ذلك النص. في حالة النظام الذي درسوه، غالباً ما قام النموذج بعمل أقل مما قامت به الكواشف البسيطة التي كان من المفترض أن يحل محلها. كانت الجمل التفسيرية التي أضافها مسار العمل بمثابة روافع قوية يمكنها سحب الإجابة في الاتجاه الصحيح، أو بكل سهولة، نحو اتجاه خاطئ. يجادل الباحثون بأنه لفهم هذه الأنظمة حقاً، يجب أن نتوقف عن معاملة النموذج كصندوق أسود يحل المشكلات بشكل سحري. بدلاً من ذلك، يجب أن نختبر النص الذي يقرؤه بنفس الصرامة التي نختبر بها الكود، للتحقق مما إذا كان النموذج يستنتج أم أنه يتبع ببساطة قيادة النص الذي أُعطي له. تشير النتائج إلى أنه لكي تكون هذه الأدوات موثوقة، يجب تصميم الطريقة التي نغذيها بها المعلومات بعناية تضاهب تصميم النماذج نفسها.
ملخص تقني: من أين تأتي دقة تحليل السبب الجذري القائم على النماذج اللغوية الكبيرة (LLM)؟
بيان المشكلة في خطوط معالجة عمليات الذكاء الاصطناğu للعمليات (AIOps) الحديثة، تقوم أدوات كشف حتمية بتلخيص البيانات المتزامنة (المقاييس، التتبعات، السجلات) في سياق نصي، ثم يقوم نموذج لغوي كبير (LLM) بتفسير هذا السياق لتحديد الخدمة المعيبة. وبينما تُقيم هذه الأنظمة غالبًا بناءً على دقتها الشاملة من البداية إلى النهاية، لا يزال من غير الواضح مدى استناد هذا النجاح إلى استنتاج النموذج اللغوي مقابل جودة مخرجات أداة الكشف، أو النص التفسيري المضاف بواسطة خط المعالجة، أو القواعد الإحصائية البسيطة. وقد أظهرت دراسات سابقة أن الطرق الإحصائية البسيطة (مثل N-Sigma) والقواعد الاستدلالية غالبًا ما تقدم أداءً تنافسيًا في تحليل السبب الجذري (RCA)، ومع ذلك، نادرًا ما يتم عزل المساهمة المحددة للنموذج اللغوي الكبير في البنى التي تعتمد على (الكاشف ← النموذج اللغوي). علاوة على ذلك، من المعروف أن النماذج اللغوية الكبيرة حساسة لسياق المطالبة (Prompt)، بما في ذلك النصوص غير ذات الصلة أو الإشارات المتحيزة، مما يثير مخاوف بشأن ما إذا كانت الدقة مدفوعة بالاستنتاج الحقيقي أم بـ "تعلم الاختصارات" (Shortcut Learning) من التعليقات التوضيحية التفسيرية.
المنهجية أجرى المؤلفون دراسة تجريبية مسجلة مسبقًا على معيار RCAEval، باستخدام مجموعتين: RE2 (270 حالة لأعطال الموارد والشبكة) وRE3 (90 حالة لأعطال على مستوى الكود). ركزت الدراسة على وكيل AIOps مفتوح المصدر ومتعدد الإشارات بناه المؤلفون، والذي يستخدم كواشف حتمية لتحديد الشذوذ ونموذجًا لغويًا كبيرًا لتشخيص السبب الجذري.
المقارنات: تمت مقارنة الوكيل اللغوي الخاص بالدراسة مع:
خط معالجته الخاص بدون النموذج (عدد الكواشف، الترتيب الأول المذكور، أكبر شذوذ). ភាព تصنيفات (الانحدار اللوجستي، الغابة العشوائية) مدربة على نفس الميزات الظاهرة في مطالبة النموذج اللغوي.
استئصال وتلاعب السياق: قام الفريق بتغيير النص المقدم للنموذج اللغوي بشكل منهجي مع تثبيت الأدلة الأساسية:
الاستئصال (Stripping): إزالة جمل "الملاحظة" (NOTE) التفسيرية التي يضيفها خط المعالجة.
المشتتات (Decoys): إدراج ادعاءات كاذبة تزعم أن خدمة غير جذرية هي السبب.
التمويه (Placebos): إدراج ذكر محايد لخدمة ما دون ادعاء سببي.
إخفاء الهوية (Anonymization): استبدال أسماء الخدمات بتسميات محايدة (مثل service-NN) لاختبار الاعتماد على الذاكرة أو دلالات الأسماء.
إزالة نص السجلات (Log Text Removal): إزالة عينات السجلات الخام مع الاحتفاظ بأعلام الكاشف.
إزاحة البداية (Onset Shifts): إزاحة وقت حقن الخطأ بمقدار ±120 ثانية لاختبار الحساسية لنوافذ خط الأساس.
تحليل خط المعالجة المتقاطع: تم بناء خط معالجة "عام" آخر باستخدام ملخص إحصائي بسيط لنفس البيانات. وقام الفريق بمتقاطع الأدلة (رسالة المستخدم) والمطالبات (رسالة النظام) للوكيل المستخدم ولخط المعالجة العام لعزل مساهمة الأدلة مقابل تعليمات المطالبة.
النماذج: تم اختبار ثلاثة نماذج مفتوحة الأوزان: gpt-oss-120b (المستخدم في الوكيل)، وgpt-oss-20b، وqwen3.8-27b.
المساهمات الرئيسية
تفكيك الدقة: توفر الدراسة تفكيكًا محكمًا لدقة وكيل RCA القائم على النموذج اللغوي، مع فصل مساهمات الكواشف، والنص التفسيري، والنموذج نفسه.
التصميم المسجل مسبقًا: تقدم إطار عمل صارمًا ومسجلًا مسبقًا لتقييم النماذج اللغوية الكبيرة، بما في ذلك الجداول الزمنية التي تم التحقق منها من الخادم، والتكرار على مجموعة معايير ثانية (RE3)، واختبارات استئصال النص المحددة.
إرشادات التقييم: تقترح الورقة معايير جديدة لتقييم RCA القائم على النماذج اللغوية الكبيرة، وتدعو إلى المقارنة مع القراءات الخالية من الملصقات (Labels) للمدخلات، وتضمين خطوط أساس الكاشف فقط، واختبار متانة النص التفسيري.
حزمة التكرار: تم إصدار حزمة شاملة تحتوي على البروتوكول، والمطالبات، والاستجابات الخام، والسكربتات لإعادة تشغيل التحليلات دون الحاجة لاستدعاء النماذج.
النتائج الرئيسية
النموذج مقابل الكواشف (RE2): في مجموعة RE2، كان النموذج المستخدم (AC@1 0.44) أقل دقة من عدد الكواشف في خط معالجته الخاص (0.60) ومن الانحدار اللوجستي المدرب على نفس الميزات (0.63). كما تراجع النموذج أيضًا خلف المعايير الإحصائية البسيطة مثل N-Sigma (0.80).
النموذج مقابل الكواشف (RE3): في مجموعة RE3 (أعطال مستوى الكود)، كان النموذج (0.60) متقدمًا قليلاً على عدد الكواشف الخاص به (0.38)، لكن هذا الفرق لم يكن ذا دلالة إحصائية بعد تصحيح Holm. ظل النموذج تحت مستوى N-Sigma (0.73) وأسلوب SimpleRCA (0.83).
تأثير النص التفسيري:
المشتتات (Decoys): أدت جملة كاذبة واحدة تدعي أن خدمة غير جذرية هي السبب إلى تدهور الأداء بشكل كبير. في الوكيل المستخدم، سمى النماذج المشتت أولاً في 21-42% من الحالات؛ وفي خط المعالجة العام، ارتفعت هذه النسبة إلى 62% لنموذج gpt-oss-120b.
التمويه (Placebo) مقابل الادعاءات: كان للذكر المحايد لخدمة ما تأثير أقل بكثير من الادعاء الكاذب، مما يشير إلى أن النموذج يتبع الادعاء وليس مجرد الذكر.
الملاحظات الطبيعية: لم يغير إزالة الملاحظات التفسيرية الطبيعية الدقة بشكل كبير خارج نطاق التباين بين التشغيل والآخر، ويرجع ذلك على الأرجح إلى أن العديد من الملاحظات حددت السبب الجذري بشكل صحيح.
الأدلة مقابل المطالبة: أظهرت تجربة متقاطعة (2×2) أن الأدلة (ما يستخرجه خط المعالجة ويعرضه) هي التي تفسر معظم فروق الدقة (+0.30)، بينما تفسر المطالبة (التعليمات) جزءًا أصغر (+0.05).
نصوص السجلات والأسماء:
في RE3، تسبب إزالة نص السجلات الخام في انخفاض دقة النموذج من 0.60 إلى 0.36، مما ألغى تقدمه غير الجوهري على الكواشف. لم يُلاحظ هذا التأثير في RE2.
أدى إخفاء أو تغيير ترتيب أسماء الخدمات إلى خفض الدقة بشكل كبير في RE3 (بمقدار ~0.20)، مما يشير إلى أن النموذج يعتمد على الرابط الدلالي بين أسماء الخدمات ورسائل الخطأ أو المعرفة المسبقة بالأنظمة.
حساسية البداية: عانت كل من المعايير الإحصائية الأقوى (N-Sigma، SimpleRCA) وخط المعالجة العام من انخفاضات كارثية في الدقة عند إزاحة بدء الخطأ لمدة دقيقتين (على سبيل المثال، انخفض N-Sigma من 0.80 إلى 0.07). كان وكيل النموذج اللغوي أقل حساسية لهذا التحول، لكنه تدهور أيضًا.
الأهمية والادعاءات تدعي الورقة أن دقة وكيل RCA القائم على النماذج اللغوية الكبيرة ليست خاصية جوهرية للنموذج، بل تعتمد بشدة على تصميم سياق خط المعالجة. وتحديدًا:
السياق هو الملك: أداء النموذج يتتبع جودة الأدلة المستخرجة بواسطة الكواشف. في بعض التكوينات (RE2)، يتراجع أداء النموذج عن الكواشف البسيطة؛ وفي تكوينات أخرى (خط المعالجة العام)، يماثلها.
هشاشة النص التفسيري: خطوط المعالجة التي تدرج جملًا تفسيرية في السياق تقوم فعليًا بـ "كتابة جزء من الإجابة". هذه الادعاءات يمكن التلاعب بها بسهء عبر المشتتات، مما يحول الإجابات الصحيحة إلى خاطئة. ويجادل المؤلفون بضرورة التعامل مع هذا النوع من النصوص كالكود البرمدي، بحيث يخضع للاستئصال والاختبارات المضادة للواقع.
معايير التقييم: يخلص المؤلفون إلى أن درجات الدقة الشاملة غير كافية. يجب أن تقارن التقييمات النموذج مقابل قراءة خالية من الملصقات لمدخلاته، وتختبر تأثير النص التفسيري باستخدام المشتتات والتمويه، وترصد الحساسية لوقت البداية لكل من النموذج وخط المعالجة.
ادعاءات متواضعة: يتسم المؤلفون بالتواضع بشأن قدرات الاستنتاج لدى النماذج اللغوية الكبيرة، مشيرين إلى أن ميزة النموذج على الكواشف غالبًا ما تكون غير جوهرية، وأن أداءه يعتمد بشدة على تصميم السياق المحدد ووجود نص السجلات الخام أو الإشارات الدلالية للأسماء. هم لا يدعون أن النموذج اللغوي يتفوق على الطرق الإحصائية، بل إن فائدته تعتمد على السياق وغالبًا ما يتم المبالغة في تقديرها في التقييمات الحالية.