MSMuhammad Shahid

כלי חינמי · רץ בדפדפן שלכם

מחולל סכמות לכלי AI

הדביקו דוגמה ל־JSON שכלי ה־AI שלכם צריך לקבל, וקבלו JSON Schema או הגדרת כלי מלאה ל־Claude.

{
  "name": "create_booking",
  "description": "Create a table booking once the customer has given a name, date and number of people.",
  "strict": true,
  "input_schema": {
    "type": "object",
    "properties": {
      "customer_name": {
        "type": "string"
      },
      "date": {
        "type": "string",
        "format": "date"
      },
      "people": {
        "type": "integer"
      },
      "notes": {
        "type": "string"
      }
    },
    "required": [
      "customer_name",
      "date",
      "people",
      "notes"
    ],
    "additionalProperties": false
  }
}

תשובה קצרה

function calling ופלט מובנה צריכים JSON Schema שמתאר את הארגומנטים. הכלי מסיק אותה מדוגמה: סוג לכל שדה, אובייקטים ומערכים מקוננים, כל שדה מסומן כחובה ו־additionalProperties: false, כפי ששימוש קפדני בכלים מצפה. אפשר לקבל JSON Schema רגיל או כלי ל־Claude עם name,‏ description ו־input_schema.

איך משתמשים

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

דוגמה

דוגמה של הזמנה שהפכה ל־JSON Schema קפדני:

קלט

{ "email": "sara@example.com", "date": "2026-11-12", "people": 2 }

פלט

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "email": { "type": "string", "format": "email" },
    "date": { "type": "string", "format": "date" },
    "people": { "type": "integer" }
  },
  "required": ["email", "date", "people"],
  "additionalProperties": false
}

שגיאות נפוצות ואיך לתקן אותן

Unexpected token … is not valid JSON
הדוגמה אינה JSON תקין: בדקו מירכאות בודדות, פסיקים מיותרים ומפתחות בלי מירכאות. כלי עיצוב ה־JSON מראה בדיוק איפה.
קלט של כלי חייב להיות אובייקט JSON
קלט של כלי חייב להיות אובייקט. עטפו רשימה או ערך בודד באובייקט, כמו { "items": [...] }.
המודל משמיט שדות אופציונליים או ממציא ערכים
כל שדה בדוגמה הופך לחובה. הסירו שדות אופציונליים מ־required, או אפשרו להם null.
שם כלי לא תקין
שמות כלים יכולים להכיל רק אותיות לטיניות, ספרות, _ ו־‎-‎, עד 64 תווים. הכלי מחליף תווים אחרים ב־_.

שאלות נפוצות

מה זה function calling?

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

למה לסמן כל שדה כחובה?

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

כדאי לערוך את הסכמה שנוצרה?

כן. הוסיפו תיאור לכל שדה, enum לבחירות קבועות ופורמטים כמו date, כדי שהמודל יידע בדיוק מה לשלוח.

איך המחולל מטפל במערכים?

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

ה־JSON שלי מועלה?

לא. הסכמה נוצרת בדפדפן שלכם.

מה ההבדל בין JSON Schema להגדרת כלי?

JSON Schema מתארת נתונים. הגדרת כלי עוטפת סכמה עם שם ותיאור, כדי שהמודל יידע מתי ואיך לקרוא לכלי.

איך לכתוב תיאור לכלי?

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

איך הופכים שדה לאופציונלי בסכמה קפדנית?

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

כלי יכול לקבל אובייקטים ומערכים מקוננים?

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

עדיין צריך לאמת ארגומנטים של כלים בקוד?

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

מקורות

קשור

עוד כלים בקבוצה הזו

מדריכים ואפליקציות