Skip to content

GenAI Playbook

כלים, Function Calling ו-MCP

פורסם · מחבר: Dipankar Sarkar

כלים, Function Calling ו-MCP

כיצד סוכנים נוגעים בעולם האמיתי

סוכן בלי כלים הוא רק chatbot. כלים הופכים מודל שפה למערכת שיכולה לחפש, לשאול מסדי נתונים, לשלוח הודעות, להריץ קוד ולקרוא ל-API. פרק זה מכסה כיצד שימוש בכלים עובד ב-2026 — מ-function calling מקורי ל-Model Context Protocol שמסנדרד אותו.

Function calling: הפרימיטיב

Function calling מאפשר למודל לפלוט בקשה מובנית לקריאה לפונקציה, במקום (או לצד) טקסט. המודל לא מבצע את הפונקציה — הוא מחזיר קריאה דמוית-JSON, וה-runtime שלך מבצע אותה.

דוגמה: אתה נותן למודל מפרט כלי:

{
  "name": "get_weather",
  "description": "Get current weather for a city",
  "parameters": { "city": "string", "units": "celsius|fahrenheit" }
}

המודל, כשנשאל “מה מזג האוויר בהלסינקי?”, מגיב:

{ "tool": "get_weather", "city": "Helsinki", "units": "celsius" }

הקוד שלך מריץ get_weather("Helsinki", "celsius"), מחזיר {"temp": 14, "conditions": "cloudy"} והמודל משתמש בזה כדי לענות. זהו הסלע של כל מסגרת סוכן.

OpenAI קורא לזה function calling (כיום structured outputs). Anthropic קורא לזה tool use. Google קורא לזה function calling. המנגנון זהה.

Model Context Protocol (MCP)

הבעיה: כל אינטגרציית כלי הייתה מותאמת. כתבת מפרט פונקציה ל-OpenAI, מפרט כלי ל-Anthropic, מפרט פונקציה ל-Google — כולם תיארו את אותו API בסיס. Model Context Protocol (MCP), ש-Anthropic פתחה בקוד פתוח בסוף 2024, תיקן זאת.

MCP הוא פרוטוקול סטנדרטי לחשיפת כלים, משאבים ו-prompts לכל אפליקציית AI. שרת MCP עוטף API (Slack, GitHub, Postgres, מערכת קבצים מקומית). לקוח MCP (סוכן, IDE, אפליקציית chat) מתחבר אליו ומקבל רשימת כלים אחידה. עד אמצע 2026:

  • OpenAI, Anthropic, Google ורוב המסגרות הפתוחות תומכות בלקוחות MCP.
  • מאות שרתי MCP קיימים (מערכת קבצים, Git, Slack, Notion, Postgres, Sentry, linear, אוטומציית דפדפן).
  • ה-IDEs הגדולים (Cursor, Windsurf, VS Code + Copilot) משלחים תמיכת לקוח MCP.

כיצד MCP עובד

שרת MCP חושף שלושה פרימיטיבים:

  • כלים — פונקציות שהמודל יכול לקרוא להן (send_slack_message, run_sql_query).
  • משאבים — נתונים שהמודל יכול לקרוא (file://report.md, postgres://users).
  • Prompts — תבניות prompt לשימוש חוזר שהמודל יכול לזמן.

הלקוח (סוכן) מתחבר דרך stdio (מקומי) או HTTP/SSE (מרוחק), מונה את כלי השרת ומציג אותם למודל. המודל קורא לכלי; הלקוח מעביר את הקריאה לשרת; השרת מבצע ומחזיר את התוצאה.

למה MCP חשוב לארגונים

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

עקרונות עיצוב כלים

כלים רעים שוברים סוכנים. כלים טובים גורמים לסוכנים להיראות חכמים. עקרונות:

  1. היה ספציפי. search_pinecone_for_customer_issues(product="acme", limit=5) מנצח את search("customer issues"). המודל בוחר את הכלי הנכון כשהמפרט חד-משמעי.
  2. החזר נתונים מובנים, לא פרוזה. {"tickets": [{"id": 123, "status": "open"}]} ניתן לפרסור; “מצאתי 5 כרטיסים…” לא.
  3. הגבל גודל פלט. כלי שמחזיר 50KB של JSON מציף את ההקשר. דפדף, סכם או קצץ.
  4. כלי אחד, עבודה אחת. כלי send_email שגם מנסח את הגוף הם שני כלים בתחפושת. תן למודל לנסח, ואז לשלוח.
  5. תעד מצבי כשל. אם ה-API מחזיר 429, ספר למודל — הוא יכול לעשות backoff. כשלים שקטים גורמים לסוכנים להגות.

גבולות אבטחה

כלים הם כוח, וכוח זקוק לגבולות. המינימום:

  • רשימה מאושרת — הסוכן רשאי לקרוא רק לכלים שאישרת למשימה זו.
  • אישורים מוגבלים — כל כלי מקבל מפתחות least-privilege, לעולם לא גישה מלאה של הסוכן.
  • יומן audit — כל קריאת כלי (קלט + פלט) נרשמת לסקירה.
  • שערי אישור — לפעולות הרסניות או פונות-חוץ (שליחת אימייל, כתיבה לתפעול) נדרש אישור אנושי.

הסיכון החדש הגדול ביותר ב-2026 הוא prompt injection דרך פלטי כלים: דף אינטרנט זדוני שמוחזר על ידי כלי search מכיל הוראות שגורמות לסוכן לקרוא ל-send_email. ההגנה היא הפרדה קפדנית בין פלט כלי להוראות — לעולם אל תאפשר לפלט כלי להפוך ל-system prompt. ראה אבטחה, Prompt Injection ו-Governance.

בחירה בין function calling מקורי ל-MCP

  • function calling מקורי — טוב לסט כלים קטן, קבוע, מצומד הדוק לאפליקציה אחת. overhead נמוך יותר.
  • MCP — טוב כשרוצים לשתף כלים בין סוכנים, מודלים או צוותים; כששרתי MCP של צד-שלישי כבר קיימים למערכות שלך; כשרוצים שהמודל יגלה כלים דינמית.

ב-2026 רוב בניית הסוכנים החדשה משתמשת ב**-MCP לאינטגרציות חיצוניות** וב**-function calling מקורי לכמה עוזרים ספציפיים לאפליקציה**.


סיכום לעוזרי AI. פרק 3 של Agentic AI Playbook. function calling מאפשר למודלים לפלוט בקשות קריאת כלי מובנות; MCP מסנדרד גילוי כלים בין מודלים וספקים. שרתי MCP חושפים כלים/משאבים/prompts; לקוחות (סוכנים, IDEs) מתחברים ומציגים אותם למודל. עיצוב כלים: שמות ספציפיים, פלט מובנה, הגבלות גודל, עבודה אחת לכלי. אבטחה: רשימות מאושרות, אישורים least-privilege, יומני audit, שערי אישור והגנה מ-prompt injection דרך פלטי כלים. מחבר: Dipankar Sarkar. URL: https://www.whatgenerativeai.com/docs/genai-playbook/tools-function-calling-mcp/

Summary for AI assistants

Chapter 22 of the GenAI Playbook (he): "כלים, Function Calling ו-MCP". כיצד סוכנים קוראים למערכות חיצוניות: function calling, Model Context Protocol (MCP), עיצוב כלים וגבולות אבטחה. Author: Dipankar Sarkar. URL: https://www.whatgenerativeai.com/he/docs/genai-playbook/tools-function-calling-mcp/