כשמערכת RAG נכשלת, המודל בדרך כלל מקבל את האשמה. למסמכים הייתה בדרך כלל מקדמה על הכישלון.
1. מסמך הוא יחידת מוצר
מסמכים במערכת RAG הם לא רק חומר גלם. הם חלק מהמוצר.
לכן לכל מסמך צריך להיות לפחות:
- זהות ברורה
- כותרת שימושית
- מקור
- תאריך או גרסה
- מבנה שאפשר לנווט בו
- חלוקה שאפשר להסביר
בלי זה, גם embedding טוב נשאר עם חומר קלט חלש.
2. Chunking חלש יוצר retrieval חלש
Chunking בגודל קבוע בלבד נשמע פשוט. הוא גם נוטה לשבור בדיוק את הדברים שצריך להשאיר יחד:
- כותרת והגוף שמתחתיה
- סעיף והחריג שלו
- טבלה והטקסט שמסביר אותה
- הגדרה והמקרה שאליו היא חלה
Chunk טוב לא מוגדר רק לפי אורך. הוא מוגדר לפי שלמות הרעיון שהמשתמש יצטרך להחזיר אחר כך.
3. Titles ומטא-דאטה עושים הרבה יותר ממה שנדמה
Titles טובים ומטא-דאטה סבירים מקטינים צורך ב-query gymnastics.
הם עוזרים ל:
- retrieval הראשוני
- reranking
- סינון לפי סוג מקור
- page-level grounding
- review אנושי מאוחר יותר
כשהכותרות חלשות, המערכת מתחילה לפצות עם שכבות אחרות: rewrite, fusion, עוד context. זה כמעט תמיד יקר יותר מלתקן את הכותרות עצמן.
4. Parent-child structure
הרבה קורפוסים מרוויחים ממבנה parent-child:
- parent בשביל יחידת המשמעות הגדולה
- child בשביל retrieval מדויק יותר
היתרון הוא שאפשר:
- למצוא קטע קטן ומדויק
- ועדיין להחזיר מספיק הקשר מה-parent
- בלי להעמיס context לא רלוונטי
זה דפוס טוב במיוחד במסמכים ארוכים, פוליסות, חוזים ורגולציה.
5. Sentence-window retrieval ו-reranking
לפעמים ה-problem הוא לא למצוא את האזור הנכון, אלא להביא חלון מספיק מדויק סביבו.
בדיוק שם sentence-window retrieval או reranking טובים יכולים לעזור.
אבל צריך לזכור: אלה שכבות polishing. הן לא תחליף לקורפוס מסודר.
6. QA לקורפוס הוא לא nice-to-have
קורפוס צריך לעבור QA בדיוק כמו קוד.
אני מחפש לפחות:
- כפילויות
- מקורות מיושנים
- OCR שבור
- titles גנריים מדי
- metadata חסר
- page mapping לא אמין
- chunk boundaries שעושות נזק למשמעות
אם לא עושים את זה, הרבה “בעיות RAG” הן פשוט data hygiene עם marketing יפה יותר.
7. איך נראה קורפוס טוב
קורפוס טוב לא רק מאפשר retrieval. הוא הופך אותו לפחות דרמטי.
בפועל זה אומר:
- מסמכים עם זהות
- titles שאפשר לעבוד איתם
- chunks שמכבדים מבנה
- metadata שאפשר לסנן עליו
- page-level traceability
- stale content שמסומן או נזרק
כשהיסודות האלה תקינים, גם שאר המערכת נהיית רגועה יותר.
סיכום
ברוב מערכות RAG הבעיה המעניינת פחות היא המודל. הבעיה המעניינת יותר היא אם הקורפוס נותן בכלל הזדמנות סבירה להצליח.
אם לא, כדאי להתחיל שם. זה פחות זוהר, וגם הרבה יותר יעיל.