Agent-Agnostic Evaluation of SQL Accuracy in Production Text-to-SQL Systems
تقدم هذه الورقة STEF، وهو إطار تقييم غير مرتبط بمخطط (schema-agnostic) يتيح مراقبة مستمرة وأصلية في بيئة الإنتاج لأنظمة (Text-to-SQL) من خلال توليد درجات دقة قابلة للتفسير من مدخلات اللغة الطبيعية واستعلامات SQL المولدة دون الحاجة إلى مخططات قواعد بيانات أو استعلامات مرجعية.
البحث الأصلي مُهدى إلى الملك العام بموجب CC0 1.0 (http://creativecommons.org/publicdomain/zero/1.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أن لديك مساعداً آلياً ذكياً جداً يتحدث لغة "البشر" (مثل "أرني المبيعات من العام الماضي") ويقوم بترجمتها إلى "لغة قواعد البيانات" (كود SQL) لاستخراج المعلومات من سجلات الشركة.
المشكلة الكبيرة التي يعالجها هذا البحث هي: كيف تعرف ما إذا كان الروبوت يقوم بعمل جيد حقاً أثناء عمله مع أشخاص حقيقيين في شركة حقيقية؟
الطريقة القديمة: مشكلة "نموذج الإجابة"
في الماضي، لاختبار هذه الروبوتات، استخدم الباحثون طريقة تشبه تصحيح اختبار رياضيات باستخدام نموذج إجابة.
- السيناريو: تعطي الروبوت سؤالاً، فيعطيك إجابة، ثم تقارنها بـ "المعيار الذهبي" الذي كتبه خبير بشري.
- العيب: في العالم الحقيقي، ليس لديك نموذج إجابة لكل سؤال يطرحه العميل. كما أن قاعدة بيانات الشركة غالباً ما تكون سرية، أو متغيرة، أو معقدة للغاية بحيث يصعب مشاركتها مع فريق الاختبار.
- النتيجة: بمجرد نشر الروبوت في مكتب حقيقي، لن يعرف أحد ما إذا كان أداؤه يتراجع بمرور الوقت. الأمر يشبه قيادة سيارة بمقياس سرعة مكسور؛ لن تعرف أنك تتجاوز السرعة المسموحة حتى تصطدم.
الحل الجديد: STEF (المفتش "المترجم الذكي")
ابتكر المؤلفون نظاماً جديداً يسمى STEF (إطار تقييم تحويل النص إلى SQL المستقل عن المخطط). فكر في STEF كأنه محرر فائق الذكاء لا يحتاج إلى الكتاب الأصلي أو قاعدة البيانات للتحقق مما إذا كانت الترجمة جيدة.
إليك كيف يعمل STEF، باستخدام تشبيهات بسيطة:
1. قاعدة "عدم الحاجة لمرجع"
لا يحتاج STEF إلى "المعيار الذهبي" للإجابة أو خريطة قاعدة البيانات. هو ينظر فقط إلى ثلاثة أشياء:
- ما الذي سأل عنه الإنسان.
- كيف أعاد الروبوت صياغة ذلك السؤال داخلياً.
- الكود الذي كتبه الروبوت.
الأمر يشبه مترجماً يتحقق مما إذا كانت الجملة الفرنسية منطقية باللغة الإنجليزية، دون الحاجة لمعرفة النص المصدر الأصلي باللغة الإسبانية.
2. "التفكيك" (تفكيك مكونات الحساء)
بدلاً من مجرد مقارنة سلسلة الكود حرفاً بحرف (وهو أمر يشبه التحقق مما إذا كانت جملتان تمتلكان نفس الحروف تماماً)، يقوم STEF بتفكيك الطلب إلى مكونات:
- ما الذي نبحث عنه؟ (الأعمدة)
- ما الذي نقوم بعدّه أو جمعه؟ (العمليات الحسابية)
- ما الذي نستبعده؟ (جزء "أظهر المستخدمين النشطين فقط")
- كيف نقوم بتجميع البيانات؟ (حسب الدولة، حسب السنة، إل_خ)
يتحقق STEF مما إذا كان الروبوت قد ضمن المكونات الصحيحة. إذا طلب الإنسان "المستخدمين النشطين" ونسي الروبوت استبعاد "غير النشطين"، فإن STEF يكتشف المكون المفقود فوراً.
3. القاضي "البشري" (النموذج اللغوي الكبير - LLM)
يستخدم STEF ذكاءً اصطناعياً آخر (القاضي) للنظر في المكونات والقرار: "هل هذا الكود يجيب فعلياً على السؤال؟"
- درجة الثقة: القاضي لا يكتفي بقول "نعم" أو "لا"، بل يقول: "أنا متأكد بنسبة 90% أن هذا صحيح"، أو "أنا متأكد بنسبة 50% فقط".
- العقوبة: إذا كان القاضي غير متأكد، يحصل التقييم النهائي على عقوبة طفيفة. هذا يمنع النظام من إعطاء درجة كاملة بناءً على التخمين.
4. قواعد "العالم الحقيقي" (التنميط)
هذا هو الجزء الأكثر ذكاءً. في العالم الحقيقي، قد يضيف الروبوت أحياناً خطوات إضافية تكون مفيدة وليست خاطئة. STEF يدرك ذلك.
- قاعدة "الفرز": إذا قام الروبوت بفرز النتائج من الأعلى إلى الأدنى (حتى لو لم يطلب الإنسان ذلك)، يقول STEF: "هذه لمسة جيدة، وليست خطأً".
- قاعدة "الأمان": إذا أضاف الروبوت حداً مثل "أظهر لي أعلى 10,000 نتيجة" فقط لمنع تعطل الكمبيوتر، يقول STEF: "عمل جيد، هذا إجراء آمن"، بدلاً من "خطأ، أنت لم تطلب 10,000".
- قاعدة "التجميع": إذا كانت العملية الحسابية تتطلب تجميع البيانات لتصبح منطقية، فإن STEF يقبل ذلك حتى لو لم يذكر الإنسان كلمة "تجميع" صراحة.
5. "التخصيص للشركة" (كتاب القواعد)
كل شركة تختلف عن الأخرى. قد تسمي إحدى الشركات عموداً باسم "المنطقة" (Region)، بينما تسميه أخرى "الإقليم" (Territory).
يمتلك STEF كتاب قواعد قابل للضبط. يمكنك إخبار STEF: "مهلاً، في هذه الشركة، 'المنطقة' و'الإقليم' تعنيان الشيء نفسه"، أو "تجاهل دائماً فلتر 'الحالة' لأنه يُضاف تلقائياً". هذا يسمح لـ STEF بالتكيف مع أي شركة دون الحاجة لإعادة برمجته.
الدرجة النهائية
يعطي STEF درجة من 0 إلى 100.
- 90-100: ممتاز. الروبوت جاهز للعمل الفعلي.
- 50-75: حرج. الروبوت يخمن كثيراً؛ يجب على البشر مراجعته.
- أقل من 50: ضعيف. الروبوت يفشل ويحتاج إلى مساعدة فورية.
لماذا هذا مهم؟
قبل ظهور STEF، كانت الشركات تعمل في حالة من التخبط مع مساعديها الذكيين. لم يكن بإمكانهم معرفة ما إذا كان الذكاء الاصطناعي يصبح أقل ذكاءً ببطء أو إذا كان يرتكب أخطاءً خطيرة. يعمل STEF كـ جهاز مراقبة صحي مستمر لهؤلاء الوكلاء من الذكاء الاصطناي. فهو يتيح للشركات إصلاح المشكلات قبل أن تؤثر على قرارات العمل الحقيقية، وكل ذلك دون الحاجة للاطلاع على قاعدة البيانات السرية أو كتابة نماذج إجابة جديدة لكل سؤال.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.