לפרק בעיות גדולות לניצחונות קטנים
שתי שיטות לפירוק משימות: Prompt Chaining לשלבים צפויים, Dynamic Decomposition לחקירה בזמן אמת.
איך סוכן AI מחליט לפרק משימה מורכבת לחתיכות קטנות? יש שתי שיטות, ובבחינה ישאלו אתכם מתי להשתמש בכל אחת.
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 summaryPrompt Chaining — הסדר קבוע מראש, צפוי ואמין
פה הסוכן מחליט בעצמו מה השלב הבא, בזמן אמת. למשל — "תוסיף טסטים לפרויקט ישן." הוא קודם ממפה את המבנה, מזהה אזורים קריטיים, בונה תוכנית... ואז משנה אותה תוך כדי לפי מה שהוא מגלה.
# 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 resultDynamic Decomposition — הסוכן ממפה, מגלה ומשנה תוכנית תוך כדי
💡 טיפ: בבחינה — אם שואלים אתכם למה סוכן מחקר הפיק דוח חלקי, תמיד תבדקו קודם את הפירוק של המשימה בקואורדינטור. הבעיה כמעט אף פעם לא בסוכנים עצמם — היא באיך שהמשימה פורקה.
"אם הסוכן שלכם נכשל? סיכוי טוב שלא לימדתם אותו לפרק את העבודה. קצת כמו ג'וניור שמקבל משימה ל-3 ימים ומתחיל לקודד ישר בלי לחשוב."
💡 טיפ: בפרק הבא (יום 7) נלמד על Session Management — איך סוכן AI זוכר מה קרה לפני חמש דקות, ואיך הוא שוכח.