שיטה
איך פריזמה עובדת
פריזמה לא מכריעה מה נכון. היא מראה כיצד אותו סיפור מסוקר בקצות שונים של המפה הפוליטית — מי מדגיש מה, ומי בכלל לא מדווח. כל מספר בעמוד הזה נטען מקובץ הקבועים של המערכת או ממסד הנתונים עצמו, כדי שהתיאור לא יתרחק מההתנהגות בפועל.
בכל רבע שעה פריזמה אוספת כותרות ותקצירים מעשרות עדכונים ב־20 המקורות שהיא עוקבת אחריהם, ומנסה לזהות אילו כתבות מדווחות על אותו אירוע. זה הלב של המוצר — ההחלטה ש«נתניהו: לא תהיה עסקה» ב־ynet ו«ראש הממשלה הודיע כי המשא ומתן הופסק» בהארץ הן אותו סיפור.
כדי להשוות טקסטים בעברית אנחנו מנקים כל כותרת: מסירים ניקוד, פיסוק ומילות קישור נפוצות, מאחדים אותיות סופיות, ומקלפים תחיליות (ה׳, ו׳, ב׳, ל׳, מ׳, ש׳, כ׳) כדי ש«שהממשלה» ו«ממשלה» ייחשבו לאותה מילה. מכל כתבה נשמרות המילים המזהות ביותר — שמות, מקומות ומונחים ייחודיים — ולא אוצר המילים הגנרי שחוזר בכל מהדורה.
כתבה חדשה מקבלת ציון דמיון מול כל סיפור חי, המשקלל שלושה גורמים: קרבה משמעותית בין הטקסטים, חפיפה במילים המזהות, וקרבה בזמן הפרסום. ציון נמוך מול כולם — הכתבה פותחת סיפור נפרד בלי לשאול איש. ציון מספיק מול סיפור אחד או יותר — המספר רק מדרג: עד 3 הסיפורים המובילים מוצגים למודל שפה (LLM), כל אחד בכותרתו הניטרלית (כשיש לו) ובכותרת הדיווח האחרון בו, והמודל מכריע לאיזה מהם הכתבה שייכת — או לאף אחד, ואז היא פותחת סיפור נפרד. עד ספטמבר 2026 ציון גבוה צירף מעצמו, ורק התחום האפור הגיע למודל; השינוי נולד ממדידה שהראתה שבנושא סוער סיפורים שונים מקבלים אותו ציון כמו דיווחים על אותו אירוע.
כשאין תשובה שמישה מהמודל — אין מפתח, נגמר התקציב, או תשובה פגומה — הכלל המספרי הישן מכריע במקומו: ציון 0.69 ומעלה (במצב הגיבוי המילולי: 0.32) מצרף, ופחות מזה מפריד. צירוף כזה נרשם כלא־מאומת ונספר, כדי שאפשר יהיה לבדוק אותו אחר כך. זו הכרעה מכוונת הפוכה לזו של איחוד הסיפורים: שם, בלי תשובה, לא מאחדים; כאן, בלי תשובה, מצרפים — כי סיפור שנפתח בטעות כמעט אינו מאוחד בחזרה, ואילו צירוף יתר ניתן לתיקון.
קיבוץ חוזר. השוואה של כתבה אחת מול סיפור אחד בכל פעם מפספסת ראיה שנמצאת רק בתמונה המלאה. «מתנחלים צרים על בית בסוסיא» ו«מחבל חטף נשק בדרום הר חברון» כמעט אינן חולקות מילים, אבל דיווחים אחרים באמצע מקשרים ביניהן — וכשמסתכלים על כולן יחד ברור שמדובר באירוע אחד. לכן, בכל הרצה, אנחנו בונים גרף קשרים בין כל הסיפורים מהימים האחרונים ומזהים קבוצות המחוברות זו לזו גם דרך מתווכים. קבוצה חדשה או קבוצה שהשתנתה נשלחת למודל שפה בשאלה אחת: «אילו מהכותרות האלה מתארות את אותו אירוע?». המודל רואה את כל הכותרות יחד, כפי שקורא אנושי היה רואה אותן.
אבל לא כל קבוצה נשלחת בכל הרצה. קבוצה שלא השתנתה מאז ההכרעה האחרונה של המודל — אותם סיפורים בדיוק, ואותו מספר כתבות בכל אחד מהם — אינה נשלחת שוב, ואנחנו משתמשים בהכרעה השמורה שלה. כל שינוי בהרכב הקבוצה או במספר הכתבות שולח אותה למודל מחדש, ובכל מקרה הקבוצה נשלחת שוב לכל היותר אחרי 6 שעות. איחוד מתבצע תמיד ורק לפי חלוקה שהמודל הפיק עבור אותה קבוצה בדיוק.
הקיבוץ החוזר יכול רק לאחד סיפורים, לעולם לא לפצל או להעביר כתבה לסיפור אחר, והסיפור המאוחד שומר על הכתובת הוותיקה מבין השניים — כך שקישור שכבר שותף ממשיך לעבוד. אם המודל אינו מאשר, או אם משהו בתשובתו אינו תקין, לא מתבצע איחוד כלל.
וזה נכון לכל איחוד, לא רק לקיבוץ החוזר. גם כששני סיפורים שהתעדכנו באותה ריצה נמצאים קרובים מאוד זה לזה, הקרבה עצמה אינה מאחדת אותם — היא רק מעמידה אותם למועמדות. אותה שאלה נשלחת לאותו מודל, התשובה נשמרת באותו זיכרון הכרעות, ובלי אישור לא מתבצע איחוד. שני המסלולים עוברים דרך אותה הכרעה אחת.