דלג לתוכן הראשידלג לצור קשר
    דף הביתארכיטקטורה אגנטיתפרק 3
    פרק 3 מתוך 30 · 19.3
    ארכיטקטורה אגנטית

    הגדרה ויצירת תת-סוכנים

    בניית כוח העבודה ה-AI שלכם

    פרק 3 / 30

    אודות הפרק

    איך מגדירים סוכני משנה בפועל? למדו על הגדרות, הרשאות, כלים ומודלים בארכיטקטורה מולטי-אג'נטית.

    מה זה סאב-אייג'נט?

    סאב-אייג'נט (Subagent) זה מופע נפרד של AI שרץ בחלון קונטקסט (Context Window) משלו. חשבו על זה כמו עובד שמקבל משימה, הולך לחדר נפרד, עושה את העבודה, וחוזר רק עם התוצאה הסופית. לא עם כל מה שהוא קרא בדרך — רק עם התשובה.

    שלוש דרכים ליצור סאב-אייג'נט

    1. קובץ Markdown — יוצרים קובץ בתיקיית .claude/agents/. בתוכו כותבים שם, תיאור, אילו כלים (Tools) מותר לו להשתמש, ואיזה מודל להריץ.
    2. הגדרה תכנותית דרך ה-SDK — עם פרמטר agents. זה נותן יותר גמישות ואפשר ליצור סאב-אייג'נטים דינמית בזמן ריצה.
    3. סאב-אייג'נט מובנה — Claude יכול להפעיל סאב-אייג'נט גנרי מובנה אוטומטית, בלי שתגדירו כלום. פשוט מוסיפים את הכלי Agent לרשימת הכלים המותרים.

    💡 טיפ: Claude מחליט מתי להפעיל את הסאב-אייג'נט לפי שדה ה-description. אם התיאור מעורפל — הוא לא ידע מתי להשתמש בו. תיאור מדויק = הפעלה בזמן הנכון.

    דוגמה: קובץ Markdown לסאב-אייג'נט

    # .claude/agents/backend-agent.md
    
    ---
    name: Backend Agent
    description: >
      Handles all backend implementation tasks including
      API endpoints, database queries, and server-side logic.
      Use this agent when the task involves Node.js, Express,
      or database operations.
    model: claude-sonnet-4-20250514
    tools:
      - file_editor
      - terminal
      - database
    ---
    
    You are a backend specialist. Focus on:
    - Clean, tested API endpoints
    - Proper error handling
    - Database query optimization

    קובץ Markdown בתיקיית .claude/agents/ — השדה description קריטי להפעלה נכונה

    הגדרה תכנותית דרך ה-SDK

    from claude_agent_sdk import Agent
    
    # Create subagents programmatically
    backend_agent = Agent(
        name="backend",
        model="claude-sonnet-4-20250514",
        description="Handles backend/API tasks",
        tools=[file_editor, terminal, database],
    )
    
    frontend_agent = Agent(
        name="frontend",
        model="claude-sonnet-4-20250514",
        description="Handles UI/React implementation",
        tools=[file_editor, browser],
    )
    
    # Coordinator with subagents
    coordinator = Agent(
        name="lead",
        model="claude-opus-4-20250514",
        description="Plans and delegates tasks",
        agents=[backend_agent, frontend_agent],  # <-- subagents
    )

    הגדרה תכנותית — יותר גמישות, אפשר ליצור סאב-אייג'נטים דינמית

    הכלל הקריטי: אין קינון

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

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

    אפשר להריץ כמה סאב-אייג'נטים במקביל. זה בדיוק מה שעשו באנתרופיק כשבנו את מערכת המחקר שלהם — Opus 4 כקואורדינטור, Sonnet 4 כסאב-אייג'נטים. התוצאה: 90% שיפור לעומת אייג'נט בודד.

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

    • סאב-אייג'נט = חלון קונטקסט נפרד, מחזיר רק תוצאה סופית
    • שלוש דרכים: קובץ Markdown, SDK, או מובנה (Built-in)
    • שדה ה-description קובע מתי Claude מפעיל את הסאב-אייג'נט
    • אין קינון — סאב-אייג'נט לא יכול ליצור סאב-אייג'נט
    • סאב-אייג'נטים יכולים לרוץ במקביל
    • שילוב מודלים: Opus לקואורדינטור, Sonnet לסאב-אייג'נטים = חסכון + ביצועים

    💡 טיפ: בפרק הבא (יום 4) נלמד על אכיפה והעברת שליטה — Enforcement & Handoff. איך שומרים שהסאב-אייג'נטים עובדים לפי הכללים ואיך מעבירים שליטה ביניהם.