Tool Calling / Function Calling במודלי שפה: איך AI קורא לפעולות אמיתיות
מאת צוות מדיה דיל · 05.09.2026 · AI · 6 דק׳
המנגנון של Function Calling מובנה, לולאת ReAct, קריאות מקבילות, אימות קלט חובה, סיכון בפעולות בלתי הפיכות, ותקן MCP המשותף.
מודל שפה בפני עצמו יכול רק לייצר טקסט — הוא לא יכול לבדוק מחיר מלאי אמיתי, לשלוח מייל, או לשאול מסד נתונים. Tool Calling (הידוע גם כ-Function Calling) הוא המנגנון שהופך מודל שפה מיוצר-טקסט לסוכן שמפעיל בפועל קוד וקריאות API אמיתיות — וההבדל בין מימוש נכון ללא-נכון קובע אם הסוכן אמין או מסוכן.
המנגנון הבסיסי: תיאור פונקציה במקום קריאה ישירה
המפתח מגדיר לכל כלי זמין תיאור מובנה (JSON Schema) — שם, תיאור מילולי מה הפונקציה עושה, ופרמטרים נדרשים עם טיפוסים. המודל לא מריץ קוד בעצמו; הוא מחזיר פלט מובנה שאומר "קרא לפונקציה X עם הפרמטרים האלה", והאפליקציה שמריצה את המודל היא זו שבפועל מבצעת את הקריאה ומחזירה את התוצאה בחזרה למודל.
Function Calling מובנה מול Prompt Engineering גולמי
לפני שספקי המודלים תמכו רשמית ב-Tool Calling, מפתחים ביקשו מהמודל "להחזיר JSON" בתוך הפרומפט הרגיל — שביר, כי המודל עלול לחרוג מהפורמט או להוסיף הסבר מיותר. תמיכה מובנית מאמנת את המודל ספציפית על הפורמט המובנה ולרוב אוכפת אותו ברמת ה-API עצמו, מה שמקטין דרמטית שגיאות פרסינג בפרודקשן.
הלולאה: ReAct — חשיבה, קריאה, תצפית, וחוזר חלילה
משימה מורכבת דורשת יותר מקריאת כלי בודדת: המודל קורא לכלי, מקבל תוצאה, מחליט על סמך התוצאה אם צריך קריאה נוספת או שאפשר לענות למשתמש. הדפוס הנפוץ נקרא ReAct (Reasoning + Acting) — סבב שחוזר על עצמו עד שהמודל מגיע להחלטה שיש לו מספיק מידע. עומק הלולאה חייב הגבלה מפורשת (מספר סבבים מקסימלי), אחרת תקלה בלוגיקת המודל עלולה להיכנס ללולאה כמעט אינסופית.
קריאות מקבילות: כשכמה כלים לא תלויים זה בזה
מודלים מודרניים תומכים בהחזרת כמה קריאות כלים בו-זמנית באותה תשובה — למשל בדיקת מזג אוויר בשתי ערים שונות שלא תלויות זו בזו. הרצה מקבילה של הקריאות בפועל (לא סדרתית) מקצרת משמעותית את זמן התגובה הכולל, אבל מחייבת שהאפליקציה תדע לזהות אילו קריאות בטוחות להריץ יחד ואילו תלויות בתוצאה של קודמתן.
אימות קלט: אל תסמכו על המודל שיצא JSON תקין תמיד
גם עם תמיכה מובנית, המודל עלול להחזיר פרמטר חסר, טיפוס שגוי, או ערך שלא עומד באילוצי העסק (תאריך בעבר, מזהה שלא קיים). כל קריאת כלי חייבת לעבור ולידציה מלאה בצד האפליקציה לפני ביצוע בפועל — בדיוק כמו כל קלט חיצוני לא מהימן, גם אם הוא הגיע ממודל שפה ולא ממשתמש אנושי.
סיכון אמיתי: כלים עם השפעה בלתי הפיכה
כלי שרק קורא מידע (חיפוש, שאילתה) בטוח לקרוא אוטומטית. כלי שמבצע פעולה בלתי הפיכה — מחיקת רשומה, שליחת תשלום, שליחת מייל ללקוח — דורש אישור אנושי (Human-in-the-Loop) לפני ביצוע, או לפחות הפרדה ברורה בהרשאות בין כלי "בטוח" לכלי "מסוכן". התייחסות לקלט שמגיע מתוצאת כלי כאל קלט לא מהימן, כפי שמתואר בהגנה מפני Prompt Injection, קריטית כי תוכן שמוחזר מכלי חיצוני יכול לכלול הוראות זדוניות מוסוות.
MCP: תקן משותף במקום אינטגרציה חוזרת לכל כלי
כל ספק מודלים הגדיר בעבר פורמט Tool Calling מעט שונה משלו, מה שאילץ אינטגרציה נפרדת לכל שילוב מודל-כלי. Model Context Protocol מספק שכבת תקן משותפת בין מודלים לכלים, כך שכלי אחד שנחשף דרך MCP יכול לשמש כל מודל תואם בלי אינטגרציה חוזרת מאפס.
Tool Calling כבסיס לסוכנים ולמערכות רב-סוכניות
היכולת לקרוא לכלים בפועל היא הבסיס שהופך מודל שפה לסוכן במובן המלא — ראו סוכני AI להרחבה על הארכיטקטורה השלמה. וכשכמה סוכנים נפרדים משתמשים בכלים משלהם ומתאמים ביניהם, נכנסים לתחום מערכות רב-סוכניות, שם ניהול הכלים והרשאות הופך מורכב משמעותית.
בונים סוכן AI שצריך לפעול בעולם האמיתי, לא רק לענות בטקסט? נשמח לעזור לכם לתכנן שכבת Tool Calling אמינה ובטוחה בוואטסאפ.
תגיות: Tool Calling · Function Calling · AI Agents · LLM · MCP