Library Hallucinations in LLM-Generated Code: A Risk Analysis Grounded in Developer Queries
تقدم هذه الورقة أول دراسة منهجية حول كيفية تسبب تنويعات مطور البرامج الواقعية، مثل الأخطاء الإملائية والأسماء المختلقة، في إثارة هلوسات المكتبات في الكود المولد بواسطة النماذج اللغوية الكبيرة (LLM)، مما يكشف عن ثغرات أمنية كبيرة ويقدم معيار LibHalluBench لتمكين التقييم والحد من هذه المخاطر بشكل قابل للتكرار.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أن لديك مساعداً موهوباً للغاية، واثقاً من نفسه، ولكنه نسيٌّ بعض الشيء، وهو خبير في كتابة أكواد الكمبيوتر. تطلب منه بناء أداة محددة، فيبدأ بالكتابة بسعادة. ومع ذلك، لدى هذا المساعد عادة خطيرة: عندما لا يعرف الاسم الدقيق للأداة التي يحتاجها، فإنه ببساطة يخترع واحداً. إنه يبتكر مكتبة (مجموعة جاهزة من الأكواد) غير موجودة، لكنه يكتبها بكل ثقة لدرجة أنك قد لا تدرك أنها مزيفة حتى تحاول استخدامها فتتعطل.
هذه الورقة هي غوص عميق في لماذا يخترع هذا المساعد هذه الأدوات المزيفة، وتحديداً عندما تعطيه تعليمات مختلفة قليلاً أو ترتكب أخطاء صغيرة.
إليك تفصيل لنتائجهم باستخدام تشبيهات بسيطة:
1. فخ "السفر عبر الزمن"
وجد الباحثون أنك إذا طلبت من مساعدك أداة "من عام 2025" (سنة لم تأتِ بعد أو تتجاوز تاريخ انتهاء تدريبه)، فإن المساعد يصاب بالتوتر الشديد ويبدأ في الهلوسة بجنون.
- التشبيه: تخيل أنك تسأل أمين مكتبة عن كتاب نُشر في المستقبل. بدلاً من قول "ليس لدي ذلك"، قد يخترع أمين المكتبة عنواناً، وغلافاً، وملخصاً يبدو مثالياً ولكنه غير موجود.
- النتيجة: عند الطلب من المكتبات "من عام 2025"، قام المساعد باختراع مكتبة مزيفة في 85% من الحالات. إنهم سيئون جداً في معرفة "تاريخ انقطاع معرفتهم" (التاريخ الذي توقفوا فيه عن التعلم).
2. فخ "الخطأ المطبعي" (الإملاء غير الدقيق)
إذا أخطأت بالخطأ في تهجئة اسم مكتبة حقيقية، فإن المساعد غالباً لا يصحح لك. بدلاً من ذلك، يتمسك برأيه ويتظاهر بأن النسخة التي بها خطأ إملائي هي نسخة حقيقية.
- التشبيه: تخيل أنك طلبت من طاهٍ "Spagetti" (ناقص حرف h). بدلاً من قول "هل تقصد Spaghetti؟"، قد يمسك الطاهي بصندوق مكتوب عليه "Spagetti" من رف صنعه بنفسه، أو والأسوأ من ذلك، قد يخترع طبقاً جديداً يسمى "Spagetti" لا وجود له.
- النتيجة:
- الخطأ في حرف واحد (مثل
numpiبدلاً منnumpy) تسبب في استخدام مكتبات مزيفة في 26% من الحالات. - اسم المكتبة المزيف (شيء يبدو حقيقياً ولكنه ليس كذلك، مثل "GaussianTools") تم قبوله واستخدامه في ما يصل إلى 99% من الحالات. المساعد حريص جداً على تلبية طلبك لدرجة أنه سيستخدم أداة مزيفة بدلاً من إخبارك بأنها غير موجودة.
- الخطأ في حرف واحد (مثل
3. فخ "الصفة" (ما لا يعمل)
من المثير للاهتمام أنه إذا طلبت مكتبة "سريعة" أو "سهلة" أو "حديثة"، فإن المساعد يتجاهل هذه الكلمات عادةً ويختار مكتبة قياسية وحقيقية يعرفها.
- التشبيه: إذا طلبت "سيارة سريعة"، فإن المساعد يعطيك سيارة تويوتا عادية. هو لا يخترع "سيارة طائرة فائقة السرعة" لأنه يعلم أن هذه الصفات غامضة.
- النتيجة: الصفات مثل "سريع" أو "خفيف الوزن" نادراً ما تسببت في الهلوسة. الخطر يأتي من القيود المحددة (مثل التواريخ) أو الأخطاء (مثل الأخطاء المطبعية).
4. فخ "المنطق" (التفكير الزائد)
حاول الباحثون إصلاح ذلك من خلال إخبار المساعد أن "يفكر خطوة بخطوة" أو "يتحقق من حقائقه" قبل الإجابة.
- التشبيه: الأمر يشبه إخبار طالب متوتر: "خذ نفساً عميقاً وفكر جيداً في هذه المسألة الرياضية". في بعض الأحيان، يساعد هذا. ولكن في كثير من الأحيان، يجعل هذا الطالب أكثر ثقة في إجابته الخاطئة لأنه قضى وقتاً أطول في تبريرها.
- النتيجة: هذه الحيل الخاصة بـ "المنطق" لم تنجح باستمرار. في الواقع، جعلت الهلوسة أسوأ في بعض الأحيان. كان المساعد يشرح بثقة لماذا مكتبته المزيفة حقيقية، مما يجعل من الصعب عليك كشف الخطأ.
5. حل "الأداة" (التحقق من دليل الهاتف)
اختبر الباحثون تزويد المساعد بأداة بسيطة: زر يتحقق مما إذا كانت المكتبة موجودة بالفعل في قاعدة البيانات الرسمية (PyPI).
- التشبيه: بدلاً من أن يخمن المساعد، أنت تعطيه دليل هاتف. إذا قال "سأستخدم Spagetti"، فإنه يتحقق من الدليل، ويرى أنها ليست موجودة، ثم يقول: "أوه، هذا لا يوجد".
- النتيجة: ساعد هذا كثيراً، لكنه لم يكن حلاً سحرياً. لا يزال المساعد أحياناً ينسى التحقق من الدليل، أو يتحقق منه ولكنه يقرر تجاهل النتيجة واستخدام الاسم المزيف على أي حال.
الخلاصة الكبرى: LIBHALLUBENCH
بسبب كون هذه مشكلة كبيرة، أنشأ المؤلفون اختباراً جديداً يسمى LIBHALLUBENCH.
- التشبيه: فكر في هذا كـ "اختبار قيادة" مصمم خصيصاً لمعرفة ما إذا كانت السيارة ذاتية القيادة ستهلوس بعلامة "قف" مزيفة. يحتوي الاختبار على آلاف الأسئلة المخادعة (مثل "أعطني مكتبة من عام 2025" أو "استخدم هذا الاسم المكتوب بشكل خاطئ") لاختبار مدى احتمالية قيام نماذج الذكاء الاصطنا المختلفة باختراع أدوات مزيفة بشكل منهجي.
لماذا يجب أن تهتم؟
إذا كنت مطوراً تستخدم الذكاء الاصطناعي لكتابة الأكواد، واخترع الذكاء الاصطناعي مكتبة مزيفة، فإن الكود الخاص بك سيتعطل عندما تحاول تشغيله. والأسوأ من ذلك، إذا أنشأ مخترق مكتبة مزيفة تطابق المكتبة التي اخترعها الذكاء الاصطناعي (خدعة تسمى "slopsquatting")، فقد يتعرض نظامك للإصابة ببرمجيات خبيثة.
باخت de المختصر: مولدات الأكواد بالذكاء الاصطناعي رائعة، لكنها واثقة بشكل خطير عندما لا تعرف الإجابة. سوف يخترعون أدوات مزيفة لتلبية طلبك، خاصة إذا طلبت شيئاً من المستقبل أو ارتكبت خطأً مطبعياً بسيطاً. نحن بحاجة إلى طرق أفضل لمنعهم من اختلاق الأشياء.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.