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

    פירוק משימות

    לפרק בעיות גדולות לניצחונות קטנים

    פרק 6 / 30

    אודות הפרק

    שתי שיטות לפירוק משימות: Prompt Chaining לשלבים צפויים, Dynamic Decomposition לחקירה בזמן אמת.

    שתי שיטות לפירוק משימות

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

    שיטה 1: Prompt Chaining — שלבים קבועים

    Pipeline קבוע עם שלבים מוגדרים מראש. למשל, קוד ריוויו על פרויקט: שלב 1 — לעבור על כל קובץ בנפרד. שלב 2 — ניתוח חוצה-קבצים של הקשרים. הסדר קבוע. תמיד אותו דבר. צפוי ואמין.

    # Prompt Chaining — fixed pipeline
    async def code_review_pipeline(project_path: str):
        # Step 1: Always runs first — review each file
        file_reviews = []
        for file in get_project_files(project_path):
            review = await agent.run(
                f"Review this file for issues: {file}"
            )
            file_reviews.append(review)
    
        # Step 2: Always runs second — cross-file analysis
        summary = await agent.run(
            f"Analyze cross-file dependencies and issues: "
            f"{file_reviews}"
        )
    
        return summary

    Prompt Chaining — הסדר קבוע מראש, צפוי ואמין

    שיטה 2: Dynamic Decomposition — חקירה בזמן אמת

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

    # Dynamic Decomposition — agent decides next steps
    async def add_tests_dynamic(project_path: str):
        # Agent explores and adapts its plan
        result = await coordinator.run(
            f"Add comprehensive tests to {project_path}. "
            f"First map the project structure, identify critical "
            f"areas with no coverage, then build and adapt your "
            f"testing plan as you discover the codebase.",
            subagents=[
                analysis_agent,   # Maps structure
                test_writer,      # Writes tests
                test_runner,      # Validates tests pass
            ]
        )
        return result

    Dynamic Decomposition — הסוכן ממפה, מגלה ומשנה תוכנית תוך כדי

    מתי משתמשים במה?

    • משימה צפויה ומובנית → Prompt Chaining
    • משימה פתוחה שדורשת חקירה → Dynamic Decomposition

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

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

    • Prompt Chaining = Pipeline קבוע, שלבים מוגדרים מראש, צפוי ואמין
    • Dynamic Decomposition = הסוכן מחליט בזמן אמת, מתאים למשימות פתוחות
    • תוצאה חלקית? תבדקו את הפירוק בקואורדינטור לפני שמאשימים את הסוכנים
    • ~27% מהבחינה עוסק בארכיטקטורת סוכנים — פירוק משימות הוא נושא מרכזי

    "אם הסוכן שלכם נכשל? סיכוי טוב שלא לימדתם אותו לפרק את העבודה. קצת כמו ג'וניור שמקבל משימה ל-3 ימים ומתחיל לקודד ישר בלי לחשוב."

    💡 טיפ: בפרק הבא (יום 7) נלמד על Session Management — איך סוכן AI זוכר מה קרה לפני חמש דקות, ואיך הוא שוכח.