קריאה תכנותית לכלים: כשהתוצאות לא צריכות להגיע להקשר
המודל כותב סקריפט שקורא לכלים, והסקריפט מסנן. רק הפלט הסופי חוזר להקשר, ולא שלושים תוצאות ביניים.
בשימוש רגיל בכלים כל קריאה היא הלוך ושוב. המודל קורא, התוצאה נכנסת להקשר שלו, הוא חושב עליה, קורא לכלי הבא. שלוש פעולות בטור הן שלושה סבבים.
לכל סבב יש השהיה, ולכל תוצאה יש מחיר בטוקנים. הבעיה החריפה יותר היא שרוב נתוני הביניים לא נחוצים אחר כך, והם נשארים בהקשר עד סוף השיחה.
מה זה עושה אחרת
המודל כותב סקריפט. הסקריפט רץ בסביבת הרצת הקוד. כשהוא קורא לכלי, הסביבה נעצרת, הקריאה מבוצעת, והתוצאה חוזרת אל תוך הקוד הרץ ולא אל ההקשר של המודל.
הקוד מעבד אותה בזרימת בקרה רגילה: לולאות, תנאים, סינון, צבירה. רק הפלט הסופי של הסקריפט חוזר למודל.
הדוגמה שמסבירה למה
שלושים לקוחות, וצריך לדעת מי מהם עבר סף מסוים ברבעון האחרון. בשימוש רגיל: שלושים קריאות, שלושים תשובות מלאות בהקשר, והמודל מסנן אותן בעצמו. בקריאה תכנותית: סקריפט שרץ בלולאה, שולף, מסנן, ומחזיר שלושה שמות.
הפער בטוקנים הוא בין שלושים רשומות מלאות לשלוש מחרוזות.
מתי זה מתאים
שני מצבים. הרבה קריאות בטור שהמודל לא צריך לחשוב בין אחת לשנייה. ותוצאות ביניים גדולות שצריך לסנן לפני שהן נוגעות בחלון.
מה שלא מתאים: קריאה בודדת, וכל מצב שבו ההחלטה מה לעשות הלאה תלויה בשיפוט של המודל על התוצאה. אם הוא באמת צריך לקרוא את התוצאה כדי להחליט, הוצאתה מההקשר מפספסת את הנקודה.
איך מפעילים
שני חלקים. מצהירים על כלי הרצת הקוד, ומוסיפים על הכלי המותאם שלכם שדה שמצהיר מי מורשה לקרוא לו, עם הטיפוס של סביבת ההרצה.
בלי החלק השני הכלי לא נגיש לסקריפט. זו הטעות הנפוצה בהגדרה.
מה לא עובד יחד עם זה
לא עובד עם פלט מובנה קפדני על אותו כלי, לא עם השבתת קריאות מקבילות, לא עם כפיית בחירת כלי, ולא עם כלי MCP.
ויש כלל שקל להיכשל בו: כשעונים לקריאה תכנותית ממתינה, הודעת המשתמש צריכה להכיל רק בלוקי תוצאה. בלוק טקסט נוסף באותה הודעה מוחזר כשגיאה.
מה זה לא פותר
עומס סכימות. אם הבעיה היא שיש שלושים כלים והסכימות שלהם יושבות בהקשר, זה לא הכלי. שם צריך חיפוש כלים או טעינה נדחית.
השניים משלימים ולעיתים רצים יחד: חיפוש מצמצם את הסכימות שנטענות, קריאה תכנותית מצמצמת את התוצאות שחוזרות.
מה שנשאר לא נוח
איתור תקלות. כשהסקריפט טועה, מה שרואים הוא הפלט הסופי, ותוצאות הביניים שגרמו לו לא עברו בהקשר. הדרך היחידה לראות אותן היא לבקש מהמודל להדפיס אותן, מה שמחזיר בדיוק את מה שהפיצ'ר הזה בא לחסוך.
מקורות
- Programmatic tool calling · Anthropic · 24 ביוני 2026