בואו נטוס גבוה, אבל הפעם נטוס בעברית. אם אתם כותבים פרומפטים (prompts — ההוראות שאתם נותנים למודל שפה כמו ChatGPT או Claude) בעברית, אתם משחקים על מגרש שונה לגמרי מאנגלית. לא יותר גרוע, אבל שונה — ויש לזה סיבה טכנית אמיתית שאסביר עכשיו ממש, לא רק כי "אז זה ככה".
הדרכות
כתיבת פרומפטים בעברית: 4 מלכודות ואיך לעקוף אותן
למה המודל מחזיר לכם עברית עילגת, מבולגנת או חצי-אנגלית? הסיבות נעוצות בכמות הדאטה, בטוקנייזר ובכיווניות RTL. הנה איך לנסח כדי לקבל פלט עברי נקי, מדויק וטבעי — בלי לריב עם המודל.

כדי שנהיה מסונכרנים: מודל שפה הוא תוכנה שלמדה לחזות מילים על ידי קריאה של כמויות עתק של טקסט מהאינטרנט. רוב הטקסט הזה הוא באנגלית. כאן נולדת כל הבעיה: המודל ראה הרבה פחות עברית מאנגלית, אז ה"אינטואיציה" שלו בעברית פחות חדה. זה לא באג שאפשר לתקן בהגדרה אחת; זו תכונה של איך המודל נבנה. ארבע המלכודות שנעבור עליהן הן כולן תוצאה ישירה של העובדה הזו.
מלכודת 1: טוקניזציה — עברית "עולה" יותר
לפני שמודל קורא טקסט, הוא חותך אותו לחתיכות שנקראות טוקנים (tokens). טוקן הוא בערך מקטע של מילה — לפעמים מילה שלמה, לפעמים כמה אותיות. החיתוך הזה נקרא טוקניזציה (tokenization), והוא נעשה לפי מילון טוקנים קבוע: רשימה של כל מקטעי-הטקסט שהמודל יודע לזהות, שנבנתה פעם אחת מראש מתוך טקסט אימון. למה זה משנה לכם? כי המודל "חושב" וסופר עלות לפי טוקנים, לא לפי מילים.
הנה החלק שכואב: מילה אחת בעברית מתפרקת לרוב לפי-2 עד פי-3 יותר טוקנים מאותה מילה באנגלית. הסיבה — כשבנו את מילון הטוקנים, הזינו בעיקר אנגלית, אז לאנגלית יש "קיצורי דרך" (מילים שלמות = טוקן אחד), ולעברית פחות. למשל המילה "מתוחכמת" עלולה להישבר ל"מ", "תוח", "כמת" — שלושה טוקנים — בעוד "sophisticated" עשויה להיות טוקן אחד או שניים.
המשמעות המעשית: אם אתם משלמים לפי טוקנים (ב-API — הממשק התכנותי שבו מחברים תוכנה שלכם ישירות למודל ומחויבים לפי כמות טקסט), פרומפט עברי יקר יותר. ואם יש גבול אורך (context window — חלון ההקשר, כלומר כמות הטקסט המקסימלית שהמודל יכול להחזיק "בראש" בבת אחת), פרומפט עברי "ממלא" אותו מהר יותר. הפתרון הפרקטי: כשאתם מצרפים מסמך ארוך מאוד שלא חייב להישאר בעברית — שקלו לתמצת אותו, או לעבוד עם הקטעים הרלוונטיים בלבד.
מלכודת 2: דבר אנגלית, חשוב בעברית
זו המלכודת ההפוכה למה שאנשים מצפים. הרבה אנשים חושבים שצריך לכתוב הכל בעברית כי הם רוצים תשובה בעברית. אבל בגלל שהמודל "חזק" יותר באנגלית, לעיתים קרובות תקבלו חשיבה איכותית יותר אם תנסחו את ההוראות באנגלית ותבקשו במפורש שהפלט יהיה בעברית.
למה זה עובד? כי ההבנה של ההוראה ("מה אני צריך לעשות") קורית במרחב ה"מחשבה" של המודל, שמאומן בעיקר על אנגלית. ההמרה לעברית קורית רק בשלב הפלט. דמיינו מתורגמן שמבין אנגלית ברמת שפת אם אבל עברית ברמה טובה — אם תסבירו לו את המשימה באנגלית, הוא יתפוס יותר ניואנסים, ואז יוכל לדבר אליכם בעברית בלי בעיה.
זה לא חוק ברזל — לטקסט שכולו תרבותית-עברי (שירה, ניבים, הומור ישראלי) דווקא עברית בהוראה עוזרת. אבל למשימות לוגיות, ניתוח, קוד, או הוראות מורכבות — נסחו באנגלית. דוגמה קונקרטית: במקום "תכתוב לי סיכום מקצועי של הטקסט הבא", כתבו "Write a professional summary of the following text. Output in Hebrew." ואז הדביקו את הטקסט העברי.
מלכודת 3: הוראות מעורבות RTL/LTR — המודל מתבלבל איפה ההוראה
עברית נכתבת מימין לשמאל (RTL — Right To Left), קוד ומונחים טכניים משמאל לימין (LTR — Left To Right). כשמערבבים, נוצר בלגן ויזואלי — וגם בלגן עבור המודל. הבעיה האמיתית: כשהפרומפט שלכם מערבב את ההוראה עם החומר-הגלם באותו בלוק טקסט, המודל מתקשה להבדיל "מה הפקודה" מ"מה הנתון".
למה זה קורה? המודל לא "רואה" סוגריים מנטליים סביב ההוראה שלכם. אם כתבתם "תרגם את המשפט הבא לאנגלית: אני אוהב פיצה" — המודל צריך לנחש איפה נגמרת ההוראה ומתחיל הטקסט-לתרגום. ברוב המקרים זה יעבוד, אבל ככל שהטקסט ארוך ומורכב יותר, גדל הסיכון שהמודל יתרגם גם את ההוראה, או יתבלבל.
הפתרון פשוט ועוצמתי: תיחום מפורש (delimiters — סימני גבול שמסמנים היכן מתחיל ונגמר קטע טקסט). תנו למודל גבולות ברורים. למשל:
המשימה: תרגם לאנגלית רק את הטקסט שבין הסימנים.
<<<
אני אוהב פיצה
>>>
הסימנים <<< ו->>> הם גדר. עכשיו אין ניחוש — המודל יודע בדיוק מה לעבד. זה עובד גם עם כותרות (### הוראה, ### טקסט), גם עם תגיות בסגנון <text>...</text> (זוג סימונים פותח-וסוגר שעוטף את החומר, בדומה לאופן שבו תגיות עוטפות טקסט בקוד אתרים). עצם זה שהפרדתם את ההוראה מהחומר מעלה את הדיוק יותר מכל ניסוח "חכם" אחר.
מלכודת 4: ניסוחים מעורפלים שבעברית "נשמעים" בסדר
עברית מאפשרת משפטים ארוכים, מנומסים ועקיפים — "אשמח אם תוכל אולי לעזור לי קצת עם זה". לבן אדם זה נשמע אדיב. למודל זה רעש. הוא לא יודע אם "קצת" אומר 50 מילים או 500, ו"זה" לא מצביע על שום דבר ספציפי.
הכלל: היו ישירים וכמותיים. במקום "תכתוב לי משהו קצר על AI", כתבו "כתוב 3 פסקאות, כל פסקה עד 40 מילים, על השפעת AI על שוק העבודה בישראל. קהל יעד: מנהלים לא-טכניים." כל מספר וכל הקשר שאתם מוסיפים מסירים ניחוש מהמודל. למה זה קריטי בעברית במיוחד? כי כשהמודל פחות בטוח בשפה, הוא נשען חזק יותר על ההוראות המפורשות שלכם כדי "להיאחז" בהן. עמימות בעברית עולה ביוקר.
הנה ההבדל בין פרומפט חלש לחזק, מסודר:
תיקון מהיר לפני שאתם רצים
עברו על הפרומפט שלכם ובדקו: (1) אם הוא ארוך מאוד — אפשר לתמצת כדי לחסוך טוקנים? (2) אם המשימה לוגית/טכנית — שווה לנסח באנגלית עם "Output in Hebrew"? (3) יש גדר ברורה בין ההוראה לחומר? (4) כל מילה כמותית ומפורשת, בלי "קצת" ו"משהו"? אם עניתם כן על ארבעתן — הפרומפט שלכם בעברית עכשיו טס גבוה. בהצלחה, ובואו נמשיך לבנות.
אמ;לק
5 הדברים שצריך לדעת
רוב אימון המודלים הוא אנגלית, ולכן לעברית יש פחות 'תחושת בטן' והיא מתפרקת ליותר טוקנים — לעיתים טוקן לכל אות.
במקום 'כתוב בעברית', הגדירו כלל מפורש: עברית מלאה, מונחים באנגלית במירכאות בלבד, בלי ניקוד.
לתת למודל זהות של כותב ישראלי וקהל ספציפי מזיז אותו לעברית טבעית במקום תרגום מאנגלית.
בקשו מהמודל לסרוק את הפלט ולתקן כל משפט שנשמע כמו תרגום — זה עובד.
מספרים, קוד ולינקים שוברים את הכיווניות — הוציאו אותם לרשימות ולבלוקי קוד נפרדים.
פניות תקשורת
לראיונות, שיתופי פעולה והרצאות — נשמח לדבר.



