דלג לתוכן הראשי

שיעור 2 — כלים, הרשאות ו־MCP

מדריך למידה להרצאה שכבר הועברה, כולל MCP.

הסימון נשמר רק בדפדפן הזה. הוא אינו רישום אקדמי ואינו נשלח לשרת.

מטרות​

  • להבדיל בין כלי, קריאה לכלי, וממשק תכנות.
  • לראות למה קלט בפורמט תקין עדיין יכול להידחות.
  • להבין מה MCP מוסיף, ומה הוא אינו מבטיח.

מה עובר בדרך​

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

קריאה אחת כוללת שם, ארגומנטים, ותוצאה או כישלון. בדוגמת החנות, read_product עם sku = "A" מחזיר מחיר של 1500 סנט.

JSON נושא את הנתונים. סכמה אומרת מה חייב להופיע: sku הוא טקסט, price_cents הוא מספר שלם, אין שדות נוספים. המחרוזת "1400" אינה מספר שלם.

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

  1. מי המשתמש, לפי מקור שהמערכת סומכת עליו.
  2. האם המשתמש הזה רשאי לשנות את המוצר.
  3. האם המחיר עומד בכלל העסקי.

המודל מספק את הערכים המבוקשים. היישום מספק את הסמכות.

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

הכלי שנבחר: calculator

דחייה שמשאירה את המחיר במקום​

המחיר הנוכחי 15 דולר. עלות 10, משלוח 2, ורווח מינימלי 2, ולכן הרצפה היא 14 דולר. בקשה ל־12 דולר נחסמת. דברי לקוח על אישור מנהל אינם אישור.

הכלי רץ מקומית בדפדפן. המחיר ההתחלתי הוא 1500 סנט, והרצפה היא 1400.

עדיין לא הורץ. נחשו מה יישמר לפני הלחיצה.

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

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

לולאה קצרה​

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

MCP​

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

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

הכלי החזיר policy_rejected, והמחיר השתנה מ־1500 ל־1200. מה נשבר?

בחרו תשובה כדי לראות הסבר. אין כאן ציון.

לקריאה​

  • תיעוד כלי המודל שאושר לקורס, בנושא בקשה ותוצאה.
  • JSON Schema: אובייקט, שדות חובה, ואיסור שדות נוספים.
  • ארכיטקטורת MCP ופרק הכלים: tools/list ו־tools/call.

הסימון נשמר רק בדפדפן הזה. הוא אינו רישום אקדמי ואינו נשלח לשרת.