הזיות AI — Hallucinations
כשה-LLM ממציא מידע שנשמע אמין אבל שגוי. הבעיה מספר 1 במוצרי AI — והנה 9 טכניקות מוכחות לצמצם אותה.
מה זו הזיה
הזיה (Hallucination) היא מצב שבו מודל שפה מייצר מידע שגוי או מומצא — בביטחון מלא. הוא ימציא עובדה, ציטוט, מספר, קישור או שם, וינסח את זה בצורה משכנעת לחלוטין. זה מסוכן דווקא כי זה נשמע אמין.
דוגמאות: להמציא סעיף חוק שלא קיים, לצטט מחקר שלא נכתב, לתת מחיר שגוי של מוצר, או "לזכור" מדיניות חברה שמעולם לא הייתה.
בצ'אט אישי הזיה זו טרחה. במוצר (תמיכה, ייעוץ, משפט, רפואה) — היא יכולה לגרום נזק אמיתי ולשחוק אמון. צמצום הזיות הוא לב ה-AI Engineering.
למה זה קורה
זו לא "תקלה" — זו התנהגות מובנית. מודל שפה לא שולף עובדות ממאגר; הוא חוזה את המילה הבאה הסבירה סטטיסטית לפי הדפוסים שראה באימון. כשיש לו מידע מדויק — הוא מדייק. כשאין — הוא עדיין מייצר משהו שנשמע נכון, כי זה מה שהוא עושה. הוא "מעדיף" תשובה שוטפת על פני "אני לא יודע".
לכן הפתרון אינו "מודל חכם יותר" בלבד, אלא הנדסה נכונה: לתת לו מקור אמיתי, ולאפשר לו לומר שאין לו תשובה.
סוגי הזיות
- עובדתית: עובדה שגויה על העולם (תאריך, מספר, שם).
- נאמנות (faithfulness): סתירה למקור שסופק — למשל ב-RAG, המודל אומר משהו שלא כתוב בקטע שנשלף.
- ציטוטים מומצאים: מקורות, קישורים או מחקרים שלא קיימים.
- הוראה שגויה: "המצאת" צעד בתהליך או פרמטר ב-API שלא קיים.
9 טכניקות מוכחות לצמצום
- עיגון במקור (Grounding / RAG). הכי יעיל. תן למודל את המידע הרלוונטי בRAG והורה לו לענות רק לפיו.
- אפשר "אני לא יודע". הוסף לפרומפט: "אם התשובה לא נמצאת בהקשר, אמור שאינך יודע והצע להעביר לאדם". זה משנה הכל.
- דרוש ציטוטים. בקש שכל טענה תפנה לקטע המקור. אם אין מקור — אין טענה. גם מקל על אימות.
- טמפרטורה נמוכה (0-0.3). למשימות עובדתיות. פחות "יצירתיות" = פחות המצאות.
- פלט מובנה + ולידציה. JSON schema מגביל את מרחב הפלט, וולידציה בצד שלך תופסת ערכים לא חוקיים.
- Self-consistency. למשימות קריטיות — הרץ כמה פעמים והשווה. אם התשובות סותרות, זה דגל אדום.
- שלב אימות (verification). מודל שני (או קוד) בודק את התשובה מול המקור לפני שמציגים למשתמש.
- הוראות ברורות ומצומצמות. פרומפט מעורפל מזמין ניחושים. הגדר תחום, פורמט ומגבלות.
- Evals ל-hallucination. מדוד את שיעור ההזיות עם evals (למשל LLM-judge שבודק נאמנות למקור), כדי לדעת אם שיפרת.
עיגון במקור + רשות לומר "לא יודע" מצמצמים את רוב ההזיות. זו נקודת הפתיחה של כל מערכת עובדתית.
שכבות הגנה במערכת אמיתית
במוצר קריטי לא מסתמכים על טכניקה אחת, אלא בונים כמה שכבות:
- מניעה: RAG + הוראות + טמפרטורה נמוכה.
- בקרה: ולידציה של הפלט ואימות מול מקור.
- גבולות: Guardrails שחוסמים תשובות בנושאים רגישים בלי מקור.
- מדידה: Evals וניטור בייצור לזיהוי הזיות שחומקות.
- אדם בלולאה: בהחלטות בעלות סיכון גבוה — אישור אנושי לפני פעולה.
הצעד הבא
הטכניקה מספר 1 היא grounding. למד RAG לעומק, והוסף בקרה עם guardrails ו-evals.