
CrewAI או AutoGen: יותר סבבים ואסימונים לא מבטיחים סוכן מדויק יותר

אם העבודה מתקדמת דרך תפקידים, משימות ותוצרים שאפשר להגדיר מראש, CrewAI היא בחירה טבעית להתחלה. אם ההתנהגות תלויה באירועים, בהודעות בין סוכנים או בהרצה בכמה תהליכים, AutoGen Core נותנת שליטה ישירה יותר בניתוב. ההבדל לצוות הפיתוח הוא היכן נכתבת לוגיקת התיאום וכמה ממנה יצטרך לתחזק בעצמו.
יותר סבבי עבודה ויותר אסימונים עשויים להגדיל זמן תגובה ועלות, אך אינם מבטיחים תשובה מדויקת יותר. לכן בחירת המסגרת מתחילה בצורת התהליך ובדרישות לשמירת מצב ולהרצה מבוזרת. את הביצועים כדאי להשוות רק אחרי שמגדירים לשתי החלופות אותה משימה, אותו מודל, אותם כלים ואותו מדד הצלחה.
איפה נמצאת השליטה בתהליך
ב־CrewAI יחידת העבודה היא Crew, שמאגדת סוכנים, משימות ותהליך ביצוע. תיעוד ה־Crews של CrewAI מתאר תהליך סדרתי כברירת מחדל, שבו המשימות מבוצעות לפי סדרן, ותהליך היררכי שבו סוכן מנהל מאציל משימות ומאמת תוצאות. אפשר להגדיר למשימה תוצר צפוי ולהשתמש בתוצאה של משימה קודמת כהקשר לבאה.
זהו מבנה ברור כאשר הצוות יודע מראש מי אוסף מידע, מי בודק אותו ומי מחבר את התשובה. תוצר חסר או שגוי משויך לשלב מזוהה, והגדרת המשימה נותנת למתחזק מקום ברור לשנות בו את הדרישה. כאשר מסלולי העבודה מסתעפים לעיתים קרובות, יש לעדכן גם את גבולות המשימות ואת הקשר שעובר ביניהן; חלוקת התפקידים אינה נעלמת רק מפני שהצרכים השתנו.
התיעוד של AutoGen Core מגדיר אותה כמסגרת מונעת אירועים שבה סוכנים מתקשרים בהודעות אסינכרוניות. המפתח קובע אילו סוגי הודעות קיימים, מי מקבל אותן ואיזו פעולה תתרחש בעקבות כל הודעה. AutoGen AgentChat היא שכבה גבוהה יותר לשיחות ולצוותי סוכנים; הבחירה ב־Core מעניקה גמישות רחבה יותר, אך מטילה על היישום אחריות מפורשת לניתוב ולתנאי עצירה.
השליטה הזאת מועילה אם הודעה ממקור חיצוני יכולה לפתוח עבודה חדשה, אם תוצאת בדיקה מפעילה מסלול חריג, או אם סוכנים שונים צריכים להגיב לאותו אירוע. בתהליך קצר וקבוע, כתיבת סוגי הודעות ומטפלים לכל מעבר עלולה להוסיף קוד תיאום בלי לשנות את התוצר. ההכרעה כאן היא בין תהליך שמתואר בעיקר כרצף משימות לבין תהליך שמתואר בעיקר כתגובה לאירועים.
אותה בקשה, שתי דרכים למפות אותה
נניח, כדוגמה תכנונית, שמערכת מקבלת שאלה, מאתרת מידע, בודקת אם יש בסיס מספיק לתשובה ומחזירה תוצאה. ב־CrewAI אפשר להגדיר משימות עוקבות לאיתור, לבדיקה ולניסוח, עם תוצר צפוי לכל אחת. אם זהות המבצע נקבעת במהלך הריצה, אפשר למסור את חלוקת העבודה לסוכן מנהל בתהליך היררכי.
ב־AutoGen Core אותה בקשה יכולה להתחיל כהודעת שאלה. תוצאת האיתור נשלחת כהודעה חדשה, והבדיקה קובעת לאן תנותב ההודעה הבאה: לניסוח תשובה, לאיתור נוסף או לטיפול במקרה חריג. כך ההסתעפות גלויה בקוד שמטפל בהודעות, אך הצוות צריך להגדיר גם מה יקרה אם הודעה תגיע שוב, מי רשאי לשלוח אותה ומתי הבקשה הושלמה.
שתי הדרכים יכולות להפיק אותה תשובה. השאלה המעשית לתחזוקה היא כמה רכיבים צריך לשנות כאשר מוסיפים מקור מידע, משנים כלל אישור או מחליפים את סדר הפעולות. אם השינוי נוגע בעיקר לתוצר של שלב ידוע, מיפוי למשימות נוח יותר. אם הוא משנה את נמעני ההודעות ואת התנאים להפעלת עבודה, מיפוי לאירועים עשוי להיות ברור יותר למפתח הבא שיטפל במערכת.
שמירת מצב וחידוש עבודה
שמירת שיחה וחידוש ריצה אחרי עצירה פותרים בעיות שונות. CrewAI מאפשרת להפעיל שמירת נקודות שחזור לאחר השלמת משימות ולחדש Crew מנקודה שנשמרה. גבול השחזור קשור להתקדמות המשימות, ולכן פעולה חיצונית שבוצעה בתוך משימה, כגון עדכון רשומה במערכת אחרת, עדיין דורשת מהיישום דרך לזהות ביצוע חוזר.
ב־AutoGen AgentChat, ההנחיות לשמירת מצב מתארות את הפעולות save_state ו־load_state עבור סוכנים וצוותים. שמירת המצב מאפשרת לשחזר את ההקשר הדרוש להמשך שיחה או עבודת צוות, אך היא אינה מגדירה לבדה מה נחשב פעולה עסקית שהושלמה. ביישום שנבנה ישירות על Core, הצוות צריך לקבוע איזה מצב לשמור, מתי לשמור אותו ואיך לחדש עיבוד בלי לשכפל פעולה שכבר הצליחה.
ההבחנה נעשית חשובה במיוחד כאשר המשימה כוללת כלים בעלי השפעה מחוץ למערכת הסוכנים. אפשר לשחזר היסטוריית הודעות ועדיין לא לדעת אם בקשה נשלחה לשירות חיצוני לפני שהריצה נעצרה. לכן בחירה בין המסגרות אינה פוטרת מהגדרת גבולות ברורים בין מצב השיחה, התקדמות התהליך ותוצאת הפעולה החיצונית.
מתי הרצה מבוזרת מצדיקה את המורכבות
ל־AutoGen Core יש מסלול מתועד לתקשורת בין סוכנים הפועלים בתהליכי ריצה נפרדים. תיעוד ההרצה המבוזרת של AutoGen מתאר שירות מארח שמוסר הודעות לעובדים המריצים את הסוכנים, ומגדיר את סביבת ההרצה הזאת כתכונה ניסיונית שממשק התכנות שלה עשוי להשתנות באופן שובר תאימות. זהו שיקול תחזוקה ממשי לצוות שמתכנן להסתמך עליה לאורך זמן.
הפצה בין תהליכים מועילה כאשר עומסים צריכים בידוד, כאשר שירותים שונים אחראים לסוכנים שונים, או כאשר אירועים מגיעים ממקורות שלא חולקים תהליך ריצה אחד. היא גם מחייבת החלטות על מסירה חוזרת, מעקב אחר הודעות וטיפול בעובד שנעצר באמצע פעולה. אם כל העבודה מתבצעת בשירות אחד ובסדר ידוע, עצם היכולת לפזר סוכנים אינה משפרת את התשובה שהמשתמש מקבל.
מה מספרות מדידות הזמן, הכלים והאסימונים
מדידות AgentRace מראות שהקשר בין עבודה רבה יותר לבין דיוק גבוה יותר אינו עקבי בתצורות שנבדקו. בניתוח החוקרים, במימוש CrewAI לתהליך ReAct נשמרו תוצאות ביניים והן צורפו מחדש לפרומפט בפניות נוספות למודל. כך פרומפט מתארך לאורך הריצה, וגם עבודה שכבר בוצעה ממשיכה להשפיע על צריכת האסימונים.
בריצת HumanEval אחת של תהליך ReAct נמדדו במימוש CrewAI בממוצע 11,710.45 אסימונים ו־25.24 שניות לשאילתה, לעומת 873.79 אסימונים ו־5.846 שניות במימוש AutoGen. בניתוח קריאות לכלי Web נספרו 608 קריאות במימוש CrewAI ו־494 במימוש AgentScope, בעוד שבשאר המסגרות שנבדקו המספר המרבי היה 102. אלה מדדים של מימושי המחקר והמשימות שנבדקו, ולא מחיר קבוע של המסגרות בכל יישום.
ניסוי נוסף באותו מחקר שינה את תדירות האתחול מחדש של סוכן CrewAI על מאגר GAIA. אתחול לאחר כל שאילתה הניב דיוק 0.236 וצריכה ממוצעת של 79,767.8 אסימונים לשאילתה; אתחול רק בתחילת רצף הבדיקה הניב דיוק 0.218 וצריכה של 95,426.57 אסימונים. בתנאי הביניים הדיוק עלה ואז ירד ככל שחלון הזיכרון גדל. התוצאה מדגימה מדוע שמירת יותר היסטוריה אינה שיפור אוטומטי, גם כשהיא מגדילה את ההוצאה.
החוקרים מצאו במדידותיהם קשר חלש בדרך כלל בין מספר האסימונים או סבבי הקריאה למודל לבין דיוק. קשר כזה אינו מוכיח שעוד סבבים גורמים לשגיאה: שאלות קשות עשויות לדרוש יותר ניסיונות ולהסתיים בכל זאת בתשובה שגויה. גם ההשוואה המספרית בין CrewAI ל־AutoGen במחקר אינה בדיקה מבודדת של CrewAI Crews מול AutoGen Core כמנועי תיאום חלופיים. היא כן חושפת מנגנון עלות שכדאי להביא בחשבון כשבוחרים איך להעביר הקשר בין שלבים.
איזו מסגרת לבחור
לאב טיפוס של תפקידים ומשימות, או לתהליך עסקי יציב עם תוצרים מוגדרים, CrewAI נותנת מבנה ישיר. היתרון שלה גדל כאשר אפשר לזהות מראש את גבולות השלבים ואת הנקודות שבהן שמירת מצב מועילה. אם משימות מעבירות ביניהן תוצאות ארוכות, כדאי להביא את גודל ההקשר החוזר לחישוב העלות ולא להסתפק בספירת המשימות.
למערכת שבה הודעות ואירועים קובעים את מסלול העבודה, AutoGen Core היא מועמדת מתאימה יותר. היא נותנת לצוות שליטה בניתוב ובאופן שבו סוכנים פועלים מעבר לגבולות של תהליך ריצה יחיד, במחיר של אחריות רבה יותר למצב, לכשלים ולתחזוקת הממשקים. אם נדרשת הרצה מבוזרת, יש לכלול בהחלטה גם את מעמדה הניסיוני של סביבת ההרצה המתועדת.
כששתי הארכיטקטורות מתאימות, מדידה מקומית באותה משימה תכריע טוב יותר ממספר סבבי העבודה לבדו. יש להשוות תשובות נכונות לצד אסימונים, זמן תגובה, קריאות לכלים והתנהגות לאחר עצירה. כך אפשר לבחור בתהליך שמספק את התוצאה הדרושה בעלות ובמורכבות שהצוות מסוגל לתחזק.
קראו גם:
כתבות קשורות


Beam נחשף עם 501 מיליארד פרמטרים — הביצועים טרם אומתו

OpenAI API או Anthropic API: מטמון חוסך עד 80% — ולעיתים גם מאט

Gemini 4 Argon נפתח לכולם — המחיר יוכפל בדצמבר

11 מיליארד דולר להייטק הישראלי — אבל שלב הצמיחה לקח את הקופה

Restream או StreamYard: המחיר הנמוך נעלם כשצריך אולפן
הירשמו לניוזלטר שלנו
קבלו את החדשות האחרונות על Web3, AI וקריפטו ישירות לתיבת הדואר.