لماذا يهلوس الذكاء الاصطناعي؟ الفرق بين "يبدو صحيحًا" و"صحيح فعلًا"
هذا المقال يتطلب مستوى: مبتدئ. هتفهم بعد قراءته ليه النموذج بيرد بثقة على سؤال إجابته الحقيقية "مش عارف"، وهتاخد طريقة عملية تقلّل الهلوسة قبل ما توصل للمستخدم.
لو سألت ChatGPT أو Claude عن كتاب مش موجود، وردّ عليك بملخّص كامل واسم مؤلف ورقم طبعة، ده مش عطل. ده سلوك متوقّع اسمه "الهلوسة". النموذج مبنيّ عشان يكمّل كلام يبدو صحيحًا، مش عشان يقول الحقيقة.
المشكلة باختصار
تخيّل صاحبك بيلعب معاك لعبة: تديله بداية جملة، وهو لازم يكمّلها بأي كلمة "منطقية" بسرعة، من غير ما يفتح كتاب. لو قلت له "مؤلف نظرية النسبية هو..."، هيقول "أينشتاين" على طول. لكن لو قلت له "مؤلف كتاب الظلال الرقمية هو..."، صاحبك مش عايز يحرج نفسه بـ"مش عارف"، فهيخترع اسم يبدو معقول. اللي بيحصل في النموذج بالظبط زي كده.
علميًا: النموذج اللغوي الكبير (LLM) بيتدرّب على مهمة واحدة أساسية، وهي توقّع "التوكن" التالي (كلمة أو جزء كلمة) بناءً على اللي قبله. هو بيتعلّم توزيع احتمالات، مش قاعدة بيانات حقائق. فلما ييجي سؤال، بيختار السلسلة الأعلى احتمالًا لغويًا، حتى لو كانت غلط في الواقع.
السبب: النموذج بيقيس "المعقولية" مش "الصحة"
ركّز في النقطة دي. لما تسأل عن حقيقة مشهورة ومتكررة في بيانات التدريب (زي مؤلف النسبية)، الاحتمال بيتركّز بقوة على الإجابة الصح. لكن لما تسأل عن حاجة نادرة أو مش موجودة أصلًا، الاحتمالات بتبقى موزّعة ومتقاربة، فالنموذج "بيسحب" أقرب نمط شكله صح: اسم عربي، عنوان كتاب، رقم DOI بالصيغة المعتادة. الشكل مضبوط، المحتوى مخترع.
الافتراض هنا مهم: النموذج بلا أدوات خارجية (بحث أو قاعدة بيانات) بيجاوب من "ذاكرته" الإحصائية وقت التدريب. فأي معلومة حديثة أو نادرة أو دقيقة رقميًا بتبقى منطقة خطر.
مثال تنفيذي: خلّي النموذج يهلوس، وبعدين أوقفه
جرّب الكود ده بنفسك. أول نداء بيدعو النموذج للاختراع، والتاني بيديله مخرج آمن يقوله "مش عارف".
import anthropic
client = anthropic.Anthropic() # محتاج ANTHROPIC_API_KEY
def ask(prompt, temperature=1.0):
msg = client.messages.create(
model="claude-sonnet-5",
max_tokens=300,
temperature=temperature,
messages=[{"role": "user", "content": prompt}],
)
return msg.content[0].text
# 1) سؤال عن كتاب غير موجود -> غالبًا هيخترع ملخصًا بثقة
print(ask("لخّص كتاب 'نظرية الظلال الرقمية' للكاتب سامي الهاشمي في 3 نقاط"))
# 2) نفس السؤال + مخرج آمن -> بيقلّل الاختراع
print(ask(
"لخّص كتاب 'نظرية الظلال الرقمية'. "
"لو مش متأكد إن الكتاب موجود فعلًا، قُل بوضوح: "
"'لا أملك معلومات موثوقة عن هذا الكتاب' بدل ما تخمّن أي تفاصيل."
))