דלג לתוכן הראשידלג לצור קשר
    דף הביתכלים ו-MCPפרק 9
    פרק 9 מתוך 30 · 25.3
    כלים ו-MCP

    תגובות שגיאה

    כשכלים נשברים (ואיך לטפל בזה בחן)

    פרק 9 / 30

    אודות הפרק

    כשכלי נכשל — מה הסוכן עושה? למדו על is_error, שלוש טעויות נפוצות, ואיך לתת ל-Claude להתאושש.

    כשכלי נכשל — מה עושים?

    כלים ייכשלו. שגיאות רשת, API שנפל, פרמטרים לא תקינים. צריכים להחזיר תוצאה ל-Claude — גם כשהתוצאה היא שגיאה.

    is_error: true — הסוד הקטן

    ב-tool_result יש שדה שנקרא is_error. כשמסמנים is_error: true ומוסיפים הודעת שגיאה ברורה, נותנים ל-Claude הזדמנות להתאושש — לנסות דרך אחרת, להסביר למשתמש, לבקש מידע נוסף.

    # ❌ Bad: generic error, no is_error flag
    tool_result_bad = {
        "type": "tool_result",
        "tool_use_id": tool_id,
        "content": "Tool failed"  # Claude thinks this IS the result
    }
    
    # ✅ Good: specific error with is_error flag
    tool_result_good = {
        "type": "tool_result",
        "tool_use_id": tool_id,
        "is_error": True,
        "content": "Error: Location 'Atlantis' not found in weather database. "
                   "Try a real city name like 'Tel Aviv' or 'New York'."
    }

    is_error: true אומר ל-Claude שזו שגיאה, לא מידע

    שלוש טעויות נפוצות

    1. להחזיר "Tool failed" גנרי — Claude לא יודע מה לעשות. תהיו ספציפיים: מה נכשל, למה, מה לנסות במקום.
    2. לשכוח is_error: true — Claude מתייחס למחרוזת השגיאה כאילו היא מידע אמיתי ומנסה לעבוד איתה. קטסטרופה.
    3. לתפוס את השגיאה בצד שלכם ולעצור את הלולאה — אל תעשו את זה. תנו ל-Claude לטפל בשגיאה. הוא מפתיע בהתאוששות.

    💡 טיפ: כלל אצבע לבחינה: הודעת שגיאה טובה מספרת ל-Claude שלושה דברים — מה נכשל, למה, ומה אפשר לנסות במקום.

    נקודות חשובות לבחינה

    • תמיד להחזיר tool_result גם בכשלון
    • is_error: true מסמן ל-Claude שזו שגיאה ולא מידע
    • הודעות שגיאה ספציפיות מאפשרות התאוששות
    • תנו ל-Claude לטפל בשגיאות — אל תשברו את הלולאה
    • שגיאה טובה = מה נכשל + למה + מה לנסות במקום

    "שגיאות הן לא סוף העולם. שגיאות שלא מטופלות נכון? כן."

    💡 טיפ: בפרק הבא (יום 10) נלמד על tool_choice — מי מחליט מתי ואיזה כלי להפעיל.