עוזר RAG (retrieval-augmented generation) חדש מבוסס WhatsApp הפסיק להזות (hallucinating) על ידי דרישה שכל תשובה תתבסס על ציטוט מקודד ב-JSON. כאשר המודל לא הצליח להצביע על קטע (chunk) ספציפי, הוא החזיר "אין לי מספיק מידע כדי לענות על כך", ובכך הפך שקרן בטוח בעצמו למערכת אמינה שאומרת "אני לא יודע".

למה אמון חשוב ב-RAG

רוב המדריכים על RAG מתמקדים בשליפה (retrieval) — בחירת embeddings, חלוקת מסמכים לקטעים (chunks) ודירוג מחדש של תוצאות. הם מדלגים על מה שקורה אחרי שהטקסט הרלוונטי נמצא. משתמשים מאבדים אמון כאשר העוזר מציע תשובה נחרצת שההקשר שנשלף אינו תומך בה בפועל.

פער הביטחון העצמי

באב-טיפוס שנבנה עם PostgreSQL ותוסף pgvector, תהליך השליפה (retrieval pipeline) היה פשוט. האתגר האמיתי הופיע בסביבת הייצור (production): מודל השפה נשמע בטוח בעצמו גם כשקטע הטקסט שנשלף היה חסר את המידע הדרוש. הדגמה (demo) יכלה להסתיר את הבעיה, אך משתמשים אמיתיים חשפו את הפער בין להישמע בטוח לבין להיות צודק.

אכיפת ציטוטים באמצעות JSON

במקום לנסות לשכנע את המודל באמצעות הנחיות (prompts) כמו "ענה רק אם יש לך הקשר", המחבר שינה את פורמט הפלט. המערכת דורשת כעת אובייקט JSON שבו כל טענה כוללת הפניה לקטע (chunk) המדויק שתומך בה. אם המודל אינו יכול לצרף ציטוט, התגובה נדחית והמשתמש רואה הודעת "אני לא יודע" ברורה.

האכיפה עברה מהנחיות בשפה טבעית לוולידציה של סכימה (schema validation). המודל עדיין מייצר טקסט, אך קוד סביב המודל בודק שה-JSON תואם למבנה הנדרש לפני שהוא מגיע למשתמש.

מה השתנה

  • החלוקה לקטעים (chunking) הפכה לשמרנית יותר. קטעים מעורפלים או רחבים מדי מייצרים כעת טענות ללא ציטוטים, מה שמפעיל את מנגנון הגיבוי של "אני לא יודע".
  • ה-system prompt התקצר. ההנחיה הכבדה שניסתה לפקח על התנהגות המודל הוחלפה בסט הנחיות קצר, מה שמאפשר לסכימה לבצע את העבודה הקשה.
  • הכישלונות גלויים לעין. כאשר השליפה מחזירה חומר לא רלוונטי, העוזר כבר לא מסווה את השגיאה באמצעות תשובה בטוחה אך שגויה; הוא מודה בגלוי בחוסר ודאות.

שורה תחתונה: עבור עוזרי RAG, הבטחה שכל טענה ניתנת למעקב אחר מקור שנשלף בונה אמון משתמשים בצורה אמינה יותר מאשר ליטוש של שלב השליפה לבדו. על ידי הפיכת ציטוטים חסרים להודעת "אני לא יודע" גלויה, מפתחים מאפשרים למערכת להודות במגבלות שלה במקום להמציא תשובות.