מושגי יסוד

מה קורה מרגע שלוחצים Enter?

מסע טכני מרגע שליחת בקשה למודל שפה ועד פלט, לרבות הרכבת ההקשר, דגימה, כלים ומגבלות הפעלה.

שומרים כדי לחזור אחר כך. הסימון נשמר רק בדפדפן הזה, ויימחק אם תנקו את נתוני הדפדפן.
תוכן העניינים
  1. מה באמת נשלח למודל?
  2. הצינור בשלבים: מה קורה בין ההקלדה לתשובה
  3. אימון לעומת הסקה
  4. מתי הלולאה נעצרת, ולמה התשובה זורמת על המסך?
  5. מה גורם לשהייה?
  6. מהי Temperature, ולמה אינה מדד אינטליגנציה?
  7. דוגמה מחושבת: אותה התפלגות בטמפרטורות שונות
  8. למה מודל יכול לומר "בדקתי" בלי לבדוק?
  9. לולאת הפעלת כלי: מי באמת מבצע?
  10. דוגמה: "שלח ללקוח האחרון את ההצעה"
  11. למה אותה שאלה עשויה להחזיר תשובה אחרת?
  12. מה אפשר לשלוט בו, ומה לא
  13. מה לא להסיק
  14. תרגיל: לתפוס פער בין תיאור פעולה לביצוע
  15. תרגיל חישוב: טמפרטורה על התפלגות משלכם
  16. תשובות בדיקה
  17. מקורות
  18. מקורות להמשך קריאה

טיפ

מה זה אומר לעסק שלכם

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

מה באמת נשלח למודל?#

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

זו הסיבה ששני מוצרים המשתמשים באותו מודל יכולים לתת תשובות שונות: הם לא בהכרח שולחים לו אותו רצף או מגדירים אותו באותה דרך. אפשר לדמיין את הצינור כשרשרת:

הודעת המשתמש
  + הוראות יישום והרשאות
  + מידע קודם שהיישום בחר להוסיף
  + תוצאות כלי / מסמכים שנשלפו
           ↓
   עיצוב ושליחת בקשה
           ↓
     טוקניזציה ומודל
           ↓
 בחירת טוקנים וחיבור תגובה
           ↓
 אימות / הפעלת כלי / הצגת תשובה

החץ האחרון אינו מובטח: מערכת מסוימת תדפיס טקסט ישירות, אחרת תעבור דרך פילטרים, כלי חישוב או תהליך אישור.

הצינור בשלבים: מה קורה בין ההקלדה לתשובה#

נניח שמשתמשת כותבת: "כמה חשבוניות נשמרו היום?". זהו תיאור כללי של תהליך אפשרי. מוצרים שונים מממשים אותו אחרת.

  1. קליטה. היישום מקבל את הטקסט ומחליט מה לצרף: הוראות מערכת של המפתח, הודעות קודמות מהשיחה, ותיאורי כלים זמינים.
  2. הרכבת קלט. כל החלקים מסודרים לרצף אחד של הודעות. זה הרצף שהמודל רואה, לא רק השורה שהוקלדה.
  3. טוקניזציה. הטקסט מפוצל ליחידות שנקראות טוקנים ומומר למספרים.
  4. חישוב. המודל מחשב ציון לכל טוקן אפשרי כהמשך לרצף.
  5. בחירה. אסטרטגיית הפענוח בוחרת טוקן אחד, והוא מצטרף לרצף.
  6. חזרה. שלבים 4 ו־5 חוזרים עד שמתקיים תנאי עצירה.
  7. עיבוד פלט. היישום מציג את הטקסט, או מזהה בקשה להפעלת כלי ומבצע אותה.

הפרטים של שלבים 3 ו־4 נמצאים בפרקים על טוקנים ועל Attention. כאן חשוב לראות את הלולאה בין 4 ל־6: הפלט נבנה צעד אחר צעד.

אימון לעומת הסקה#

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

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

מתי הלולאה נעצרת, ולמה התשובה זורמת על המסך?#

מבחינת הממשק החיצוני, אורך התשובה אינו נקבע מראש: בכל צעד נבחר טוקן, והעצירה נקבעת תוך כדי ההפקה. מה שמתרחש בחישוב הפנימי, למשל אם יש בו משהו שדומה לתכנון מוקדם, אינו נקבע מתיאור הלולאה (ראו "מה לא להסיק" בהמשך). ויש כמה סיבות לעצור. לפי תיעוד Anthropic, ה־API מחזיר שדה stop_reason שמסביר את העצירה [3]:

  • end_turn: המודל סיים באופן טבעי.
  • max_tokens: התשובה הגיעה למגבלת האורך שהמפתח קבע.
  • stop_sequence: המודל יצר אחת ממחרוזות העצירה שהוגדרו מראש.
  • tool_use: המודל מבקש להפעיל כלי.
  • model_context_window_exceeded: התשובה מילאה את חלון הקונטקסט של המודל.

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

סטרימינג (Streaming) הוא אופן מסירה: השרת שולח את הפלט בחלקים עוד לפני שהסתיים. תיעוד Anthropic מתאר שימוש באירועי שרת (server-sent events) לצורך זה [4]. שימו לב להבדל: הסטרימינג משנה את מה שהמשתמש רואה ומתי, לא את החישוב עצמו. ואם היישום מסנן או מאמת את הפלט לפני הצגה, הוא עשוי לחכות לתשובה השלמה.

מה גורם לשהייה?#

אורך הקלט, אורך הפלט, גודל המודל והתשתית משפיעים כולם על זמן התגובה. תיעוד Anthropic מציין גורמים כאלה, ומבחין בין זמן התגובה הכולל לבין זמן עד הטוקן הראשון (Time to first token), מדד שרלוונטי במיוחד כשיש סטרימינג [5]. המקור ממליץ לקצר קלט ופלט ולהפעיל סטרימינג כדי לשפר את תחושת המהירות. הוא אינו מכמת כמה זמן בדיוק לוקח כל שלב, ולכן גם אנחנו לא נציג חלוקה מספרית כזאת.

מהי Temperature, ולמה אינה מדד אינטליגנציה?#

נניח שהמודל נתן, בדוגמה מומצאת, שלושה ציונים שמייצרים התפלגות: "מים" 0.65, "מיץ" 0.25, "חול" 0.10. בבחירה דטרמיניסטית יחסית ניקח את "מים". בדגימה, גם "מיץ" אפשרי. הפרמטר Temperature משנה את חדות התפלגות הבחירה; בערכים נמוכים היא נוטה להתרכז סביב הטוקנים המועדפים, ובערכים גבוהים להתפזר יותר. הוא לא הופך טענה נכונה לשקרית או להפך בצורה צפויה.

פרמטרים אחרים כגון top_p יכולים לצמצם את קבוצת המועמדים שמהם דוגמים. לא כל ממשק חושף אותם, והשפעותיהם תלויות במודל ובהגדרות. הטיעון "תמיד שימו Temperature=0 כדי לקבל אמת" שגוי: גם בחירה עקבית יכולה לייצר תשובה שגויה.

שימו לב

ההגדרה הזו עצמה קיימת בכל מודל שפה, אבל לא כל מודל נותן לכם לשנות אותה. הדגימה (הבחירה בין טוקנים אפשריים) היא חלק מעקרון הפעולה של מודלי שפה בכלל, לא של ספק מסוים. אבל הכפתור temperature ב־API משתנה בין דגמים. בתיעוד של Anthropic למעבר ל־Claude Opus 5.5 כתוב להשמיט את temperature, top_p ו־top_k, ולהשתמש בניסוח ההוראות (prompting) כדי לכוון את ההתנהגות [8]. בתיעוד של Google נכתב ש־Gemini 4 ודגמי Gemini 3.6 ואילך מתעלמים מערך מותאם של temperature [9]. על דגמי חשיבה של OpenAI מדווחים שהפרמטר נדחה או מוגבל, אך זה לא נבדק מול התיעוד הרשמי. בדגמים ישנים יותר ובממשקים אחרים הפרמטר עדיין קיים. לכן הסעיף הזה מסביר איך הדגימה עובדת ולמה אינה מדד לאינטליגנציה, ולא מבטיח שיש לכם מתג כזה בכלי שאתם משתמשים בו.

דוגמה מחושבת: אותה התפלגות בטמפרטורות שונות#

דוגמה

המחשה, מספרים מומצאים. נחזור לשלוש האפשרויות: "מים" 0.65, "מיץ" 0.25, "חול" 0.10. המודל מחשב בפועל ציונים גולמיים (logits), והטמפרטורה מחלקת אותם לפני ההמרה להסתברויות. בדוגמה נגדיר את הציונים כלוגריתם הטבעי של ההסתברויות המקוריות, כך שבטמפרטורה 1 מתקבלות בדיוק ההסתברויות שלמעלה.

הנוסחה: ההסתברות של אפשרות i היא exp(z_i / T), חלקי סכום exp(z_j / T) על כל האפשרויות. חישבנו בפייתון.

טמפרטורה מים מיץ חול
0.2 0.992 0.008 0.000
0.5 0.854 0.126 0.020
1.0 0.650 0.250 0.100
1.5 0.551 0.291 0.158
2.0 0.497 0.308 0.195

כל שורה מסתכמת ב־1 (עד עיגול). ככל שהטמפרטורה יורדת, "מים" תופס כמעט את כל ההסתברות. ככל שהיא עולה, ההתפלגות שטוחה יותר. בגבול של טמפרטורה שואפת לאפס מתקבלת בחירה בטוקן בעל הציון הגבוה ביותר. אופן הטיפול בערך 0 עצמו תלוי במימוש.

אפשר לחבר זאת לשיטת top_p, שהוצגה במחקר על "דגימת גרעין" (nucleus sampling) [1]. נמיין את האפשרויות מהסביר לפחות סביר, ונשאיר את הקבוצה הקטנה ביותר שסכומה מגיע לסף. עם סף 0.8 בדוגמה שלנו נשארות "מים" ו־"מיץ" (0.65, ואז 0.90 במצטבר). נחלק מחדש: 0.65 חלקי 0.90 הם 0.722, ו־0.25 חלקי 0.90 הם 0.278. "חול" נפסל לגמרי.

אותה דוגמה מראה גם למה טעויות מצטברות. אם בכל אחד משלושה צעדים נבחרת האפשרות הסבירה ביותר בהסתברות 0.65, הסיכוי שכל שלושת הצעדים ילכו בדיוק בדרך הזאת הוא 0.65 בחזקת 3, כלומר כ־0.275. בדוגמה הזאת, שבה ההתפלגות שטוחה יחסית, פלטים זהים מילה במילה אינם צפויים כשהדגימה פעילה. אין זו הכללה לכל מודל: כשההתפלגות חדה וההסתברות לטוקן המוביל קרובה ל־1 בכל צעד, גם רצף ארוך עשוי לחזור על עצמו לעיתים קרובות.

שימו לב

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

למה מודל יכול לומר "בדקתי" בלי לבדוק?#

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

הבדילו בין:

  • Text generation: יצירת משפט "שלחתי את החשבונית".
  • Tool call: בקשה פורמלית להפעלת כלי עם ארגומנטים כגון invoice_id.
  • Execution result: תשובת מערכת היעד שמעידה אם הפעולה בוצעה.
  • User-visible confirmation: הודעה למשתמש שמבוססת על תוצאת הביצוע, לא רק על כוונת המודל.

לולאת הפעלת כלי: מי באמת מבצע?#

לפי תיעוד Anthropic, המודל מחזיר קריאה מובנית לכלי, ובכלים שהמפתח מגדיר (client tools) היישום הוא שמריץ אותה [2]. התיעוד של OpenAI מתאר זרימה דומה: המודל מחזיר קריאה לפונקציה, היישום מריץ את הקוד, והתוצאה נשלחת בבקשה נוספת [6]. זו הלולאה, בשלבים:

  1. הבקשה כוללת את רשימת הכלים ותיאורי הארגומנטים שלהם.
  2. המודל מחזיר קריאה לכלי עם ארגומנטים. ב־Anthropic העצירה מסומנת ב־stop_reason: "tool_use" [2][3].
  3. היישום מריץ את הפעולה. כאן נבדקות הרשאות, ולעיתים מתבקש אישור.
  4. התוצאה חוזרת למודל בבקשה חדשה, מקושרת לקריאה המקורית [2][6].
  5. המודל מנסח תשובה על סמך התוצאה, או מבקש כלי נוסף.

כל סבב כזה הוא בקשה נוספת, ולכן ההיסטוריה כולה, כולל התוצאות, חלה על הקלט הבא. יש גם כלים שהספק עצמו מריץ (server tools), כמו חיפוש ברשת בתיעוד Anthropic [2]. ההבדל חשוב לבדיקת אחריות: מי הריץ, ועל איזו תשתית.

דוגמה: "שלח ללקוח האחרון את ההצעה"#

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

למה אותה שאלה עשויה להחזיר תשובה אחרת?#

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

מה אפשר לשלוט בו, ומה לא#

גורם האם אפשר לשלוט?
טקסט הקלט והוראות המערכת כן, ברמת היישום
פרמטרי דגימה (טמפרטורה, top_p) רק אם הממשק חושף אותם
גרסת המודל חלקית; ספקים משנים ומחליפים גרסאות
מסמכים ותוצאות כלים שנשלפים תלוי בארכיטקטורה
תשתית ועומס בדרך כלל לא

סעיף התשתית אינו רק תיאורטי. בפוסט טכני מ־10.9.2025 טוענים חוקרי Thinking Machines Lab שאפילו בטמפרטורה 0 ההרצות נבדלות, ושהסיבה העיקרית אינה מקריות בחישוב עצמו אלא תלות התוצאה בגודל האצווה (batch) של בקשות שמעובדות יחד, שמשתנה לפי העומס על השרת [7]. על פי הכותבים, כשיישמו חישובים שאינם תלויים באצווה, 1,000 השלמות בטמפרטורה 0 יצאו זהות, לעומת 80 תשובות שונות בהגדרה הרגילה. זו טענת הכותבים על המערכת שלהם, ולא נתון על כל ספק.

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

מה לא להסיק#

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

תרגיל: לתפוס פער בין תיאור פעולה לביצוע#

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

תרגיל חישוב: טמפרטורה על התפלגות משלכם#

נניח שיש שלוש אפשרויות בהסתברויות 0.50, 0.30 ו־0.20 (המחשה, מספרים מומצאים). הגדירו את הציונים כלוגריתם טבעי של ההסתברויות. חשבו מה תהיה ההסתברות של האפשרות הראשונה בטמפרטורה 0.5. הנוסחה: מעלים כל הסתברות בחזקת 1 חלקי T, ומחלקים בסכום. בדקו בפייתון או במחשבון.

תשובות בדיקה#

  • בתרגיל החישוב: 0.25, 0.09 ו־0.04 הם הערכים אחרי העלאה בחזקה 2, והסכום הוא 0.38. לכן ההסתברות הראשונה היא 0.25 חלקי 0.38, כ־0.658. חישבנו בפייתון.
  • האם שליחת פרומפט תמיד משנה משקלים? לא.
  • האם temperature=0 מבטיח אמת? לא.
  • מהי הראיה הנחוצה למשלוח? תוצאת כלי או מערכת חיצונית המאמתת את הפעולה.
  • למה מוצר שונה ממודל? המוצר בוחר הוראות, קונטקסט, כלים ותהליכי בקרה.
  • מי מריץ כלי שהמפתח הגדיר? היישום של המפתח, לא המודל.
  • מה המשמעות של max_tokens בתשובה שנקטעה? הגעה למגבלה שהוגדרה, לא סיום טבעי.

מקורות#

מקורות מצוטטים בגוף:

  1. Holtzman, Buys, Du, Forbes, Choi — The Curious Case of Neural Text Degeneration. מאמר מחקר, הוגש 22.4.2019. מציג דגימת גרעין.
  2. Anthropic — Tool use with Claude. תיעוד יצרן, ללא תאריך מפורש בעמוד.
  3. Anthropic — Handling stop reasons. תיעוד יצרן, ללא תאריך מפורש בעמוד.
  4. Anthropic — Streaming messages. תיעוד יצרן, ללא תאריך מפורש בעמוד.
  5. Anthropic — Reducing latency. תיעוד יצרן, ללא תאריך מפורש בעמוד.
  6. OpenAI — Function calling. תיעוד יצרן, ללא תאריך מפורש בעמוד.
  7. Horace He ואחרים, Thinking Machines Lab — Defeating Nondeterminism in LLM Inference, 10.9.2025. פוסט טכני של מעבדת מחקר, לא ביקורת עמיתים.
  8. Anthropic — Claude Opus 5.5 migration guide. תיעוד יצרן, נפתח 29.10.2026, ללא תאריך מפורש בעמוד. כולל את ההנחיה להשמיט temperature, top_p ו־top_k.
  9. Google — Gemini API, Prompting strategies. תיעוד יצרן, נפתח 29.10.2026, ללא תאריך מפורש בעמוד. כולל את הטענה על Gemini 4 ו־Gemini 3.6 ואילך.

מקורות להמשך קריאה#

שני המקורות הבאים אינם מצוטטים בגוף הפרק:

תיעוד היצרנים משתנה עם הזמן. הטענות כאן משקפות את מצב העמודים בתאריך הפתיחה.

FD-04