Menu
flag Ar iconالعربيةdown icon

هلوسة الذكاء الاصطناعي: لماذا تختلق النماذج

هلوسة الذكاء الاصطناعي إجابة واثقة وخاطئة: حقيقة مختلقة، أو مرجع، أو دالة، أو حزمة غير موجودة. تحدث لأن النموذج اللغوي يتنبأ بالنص المرجّح بدلًا من البحث عن المعلومة. الموجّهات تقللها، والتحقق وحده يلتقطها.

يمكنك تعديل كل موجّه في هذه الصفحة ثم فتحه في ChatGPT أو Claude أو أي تطبيق ذكاء اصطناعي آخر.

هلوسة الذكاء الاصطناعي (AI hallucination) إجابة تبدو مؤكدة وهي خاطئة: حقيقة مختلقة، أو إشارة إلى بحث غير موجود، أو دالة لم تكن في مكتبة قط. كل نموذج محادثة يفعل ذلك، ومنها ChatGPT وClaude وGemini. وليست خللًا سيُرقَّع ويختفي، بل تنتج عن الطريقة التي تنتج بها النماذج اللغوية النص. الموجّهات تستطيع أن تجعل الهلوسة أندر، والتحقق وحده يلتقط ما يتبقى منها.

لماذا تهلوس النماذج اللغوية

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

بعض أنواع الأسئلة أكثر عرضة من غيرها:

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

الطلاقة ليست علامة على الدقة. الإجابة المهلوسة لها النبرة الواثقة نفسها، والتنسيق نفسه، ومستوى التفصيل نفسه الذي للإجابة الصحيحة، ولهذا يسهل أن تفوتك.

فخ الافتراض الخاطئ

يسأل التبويبان التاليان عن DataFrame.smart_merge() في pandas. هذه الدالة غير موجودة. السؤال الأول يفترض وجودها، والثاني يسمح للنموذج بقول ذلك.

ماذا تفعل DataFrame.smart_merge() في pandas، ومتى أستخدمها بدلًا من merge()؟
Try it
Example replyReplies vary between models and runs.

الدالة DataFrame.smart_merge() تدمج جدولي DataFrame وتكتشف مفاتيح الربط نيابة عنك بمقارنة أسماء الأعمدة وأنواع البيانات. استخدمها عندما تتشارك الجداول أعمدة مفاتيح بأسماء مختلفة قليلًا، مثل user_id وuserId، إذ تستطيع مطابقتها تلقائيًا.

وللتحكم الكامل في المفاتيح ونوع الربط، تظل merge() الخيار الأفضل.

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

فعل الموجّه الثاني شيئين. سأل هل الدالة موجودة قبل أن يسأل ماذا تفعل، وأعطى إذنًا صريحًا بعدم التأكد. وأعاد الرد أيضًا طريقة للتحقق، وهذه هي العادة التي تحتفظ بها: hasattr تفحص المكتبة الحقيقية في سطر واحد.

أجب من المصدر، مع اقتباسات

أقوى طريقة لتقليل الهلوسة أن تضع الحقائق في الموجّه. عندما تكون الإجابة في نص يراه النموذج، لا يحتاج إلى تذكّر شيء، وتستطيع التحقق من كل ادعاء في ذلك النص. وطلب اقتباس داعم لكل ادعاء يجعل التحقق سريعًا، وإخبار النموذج بما يقوله حين يسكت المستند يقلل احتمال ملئه الفجوة بتخمين.

أجب من المستند فقط
Fill in
Parts
أجب عن السؤال باستخدام المستند التالي فقط.
<document> تعمل النسخ الاحتياطية كل ليلة الساعة 02:00 بتوقيت UTC وتُحفظ لمدة 30 يومًا. النسخ الاحتياطية لقاعدة بيانات بيئة الاختبار (staging) تُحفظ لمدة 7 أيام. تُطلب الاستعادة في قناة #ops وتكتمل عادةً خلال أربع ساعات. </document> السؤال: كم تُحفظ النسخ الاحتياطية لبيئة الإنتاج، وهل أستطيع استعادة نسخة بنفسي؟
لكل جزء من السؤال: الإجابة، ثم الجملة الدقيقة من المستند التي تدعمها، بين علامتي تنصيص.
إذا لم يجب المستند عن جزء ما، فاكتب "غير موجود في المستند" لذلك الجزء. لا تضف حقائق من المعرفة العامة.
Try it
Example replyReplies vary between models and runs.

كم تُحفظ النسخ الاحتياطية للإنتاج: 30 يومًا. يذكر المستند 30 يومًا للنسخ الاحتياطية عمومًا و7 أيام لبيئة الاختبار فقط. "تعمل النسخ الاحتياطية كل ليلة الساعة 02:00 بتوقيت UTC وتُحفظ لمدة 30 يومًا."

هل أستطيع استعادة نسخة بنفسي: غير موجود في المستند. يذكر فقط كيف تُطلب الاستعادة: "تُطلب الاستعادة في قناة #ops وتكتمل عادةً خلال أربع ساعات." هذا يوحي بأن فريقًا آخر ينفّذها، لكن المستند لا يقول هل توجد استعادة ذاتية أم لا.

انظر كيف تعامل الرد مع الجزء الثاني. النموذج الذي يجيب من المعرفة العامة ربما كان سيصف أمر استعادة. أما حين قُيّد بالمستند، ففصل بين ما يقوله النص وما يوحي به فقط. أوقف جزء القيود واسأل مجددًا لترى هل يظل الرد يفصل بينهما.

وسوم <document> تُبقي المادة المصدرية منفصلة عن تعليماتك، وتشرح صفحة الفواصل ووسوم XML سبب أهمية ذلك، وتغطي صفحة هندسة السياق تزويد النماذج بالمستندات الصحيحة على نطاق واسع. الفكرة نفسها تشغّل تطبيقات المحادثة التي فيها بحث على الويب أو رفع ملفات: الإجابة لا تكون مستندة إلا بقدر المصادر الموجودة في المحادثة، فاقرأ المصدر المذكور، لا ملخّصه فقط.

عادات أخرى في الموجّهات تساعد

  • اسأل، ولا تفترض. "هل توجد طريقة لفعل كذا؟" قبل "كيف أفعل كذا؟". الافتراض الخاطئ أسهل طريق لإثارة الهلوسة.
  • اطلب عدم اليقين. عبارة "ميّز أي ادعاء لست واثقًا منه" تعطيك قائمة بالأماكن التي تفحصها أولًا. هذه التمييزات ليست احتمالات دقيقة المعايرة، لكنها كثيرًا ما تشير إلى مواضع الضعف.
  • اطلب مصادر تستطيع فتحها. ثم افتحها. المرجع الذي لم تفتحه لم يُفحص، وقد يكون الرابط موجودًا لكنه يقول شيئًا غير الادعاء الذي يدعمه.
  • ابدأ من جديد حين تطول المحادثة. التفاصيل من بداية محادثة طويلة قد تختلط أو تسقط مع نمو المحادثة. وللحقائق المهمة، افتح محادثة جديدة والصق فيها المادة ذات الصلة، وتشرح صفحة التوكنات ونافذة السياق السبب.
  • اسأل مرة ثانية، من جديد. إذا اختلفت إجابتان مستقلتان عن السؤال الواقعي نفسه، فإحداهما على الأقل خاطئة. أما الاتفاق فدليل أضعف، لأن النموذج قد يكرر الخطأ نفسه.

تحقق مما يهم

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

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

الأسئلة الشائعة

ما هي هلوسة الذكاء الاصطناعي؟

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

لماذا يختلق ChatGPT معلومات؟

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

هل يمكن منع الذكاء الاصطناعي من الهلوسة تمامًا؟

لا. النماذج الحالية تهلوس أقل من السابقة، والإجابة من مستندات تقدّمها أو من نتائج البحث تقلل ذلك أكثر، لكن لا يوجد موجّه يلغيها. تعامل مع أي حقيقة أو رقم أو اقتباس أو مرجع أو واجهة API مهمة على أنها ادعاء تتحقق منه في مصدر أصلي.

أي الموجّهات تقلل هلوسة الذكاء الاصطناعي؟

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

ما أمثلة هلوسة الذكاء الاصطناعي في البرمجة؟

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

Coddy programming languages illustration

تعلّم البرمجة مع Coddy

ابدأ الآن