תוכן עניינים
נקודה מרכזית
הריפו DeerFlow 2.0 הוא פריימוורק קוד פתוח שמספק תשתית הרצה לסוכני AI אוטונומיים לביצוע משימות מורכבות בצורה בטוחה ויעילה. פותח על ידי ByteDance, הוא פותר את הבעיה הקריטית של לתת לסוכנים סביבת הרצה ראויה - לא רק יכולת חשיבה, אלא "גוף" אמיתי לעשות עבודה בפרודקשן.
מה זה DeerFlow 2.0?
DeerFlow 2.0 הוא פריימוורק סוכנים שמתמקד במה שרוב הפריימוורקים האחרים מתעלמים ממנו - סביבת ההרצה. הפרויקט DeerFlow פותר את הבעיה של בניית סוכנים שיכולים לעבוד באופן אוטונומי לתקופות ממושכות שכולנו מתמודדים איתה כשעוברים מדמואים לפרודקשן.
תחשבו על זה כמו שרוב הפריימוורקים לסוכנים נותנים ל-AI שלנו מוח מבריק אבל בלי ידיים. DeerFlow נותן גם וגם - מערכת חשיבה מתוחכמת וגם סביבה בטוחה שבה הוא באמת יכול לתפעל קבצים, להריץ קוד, לגלוש באינטרנט ולתאם עם סוכנים אחרים כדי לבצע עבודה אמיתית.
הבעיה שכולנו מכירים
כולנו בנינו סוכני AI שיכולים לחשוב בצורה מרשימה אבל קורסים כשהם צריכים לבצע. הסוכנים שלנו יכולים לתכנן פתרון מושלם אבל לא יכולים להריץ בצורה בטוחה את הקוד כדי ליישם אותו. הם יכולים לתאר שלבי מחקר אבל לא יכולים באמת לגלוש ברשת ולסנתז ממצאים. הם מתחילים כל שיחה מחדש כי אין להם זיכרון מתמשך של מה שאמרנו להם בשבוע שעבר.
מסתבר שהבעיה הבסיסית היא שרוב הפריימוורקים לסוכנים - LangChain, AutoGPT, אפילו מערכות מתוחכמות כמו CrewAI - מתמקדים בכבדות בשרשרת המחשבה של ה-LLM. הם נותנים לנו כלים מעולים להנדסת פרומפטים, שרשראות חשיבה ועצי החלטות. אבל הם מתייחסים לסביבת ההרצה כמשהו משני, ומשאירים אותנו להבין בעצמנו את הסנדבוקס, התמדת הזיכרון והתיאום בין מספר סוכנים.
התוצאה? סוכנים שעובדים בצורה מבריקה בדמואים מבוקרים אבל מתקשים בתהליכי עבודה בפרודקשן שדורשים שעות של עבודה אוטונומית, הרצת קוד בטוחה ותיאום בין מספר תת-סוכנים מתמחים.
איך DeerFlow 2.0 עובד
DeerFlow ניגש לפיתוח סוכנים משכבת התשתית כלפי מעלה. במקום להתחיל עם תבניות פרומפטים ושרשראות חשיבה, הוא מתחיל בשאלה: מה סוכן אוטונומי באמת צריך כדי לעשות עבודה אמיתית?
התשובה היא הרנס הרצה מלא - מה שנקרא סביבה מובנית שמספקת לסוכן כל מה שהוא צריך כדי לפעול באופן עצמאי. בואו נפרק את זה:
הרצת סנדבוקס מבוססת Docker
כל סוכן מקבל קונטיינר Docker מבודד משלו שבו הוא יכול להריץ בצורה בטוחה קוד, לתפעל קבצים ולגלוש באינטרנט. הסנדבוקס הזה - מה שנקרא בידוד מהמערכות שלנו בפרודקשן - הוא קריטי. הסוכן יכול להתנסות, להיכשל ולהתאושש בלי לסכן את התשתית האמיתית שלנו.
תחשבו על זה כמו לתת לחניך סביבת טסט משלו במקום גישה לבסיס הנתונים של הפרודקשן. הם יכולים ללמוד ולעבוד בלי השלכות קטסטרופליות.
זיכרון מתמשך לטווח ארוך
DeerFlow מיישם מערכת זיכרון מתוחכמת שנשמרת בין סשנים. כשאנחנו אומרים לסוכן את ההעדפות שלנו, אילוצים או ידע בתחום, הוא זוכר - לא רק לשיחה הזו, אלא לכל האינטראקציות העתידיות.
הקטע המדליק הוא שמערכת הזיכרון עובדת כמו מחברת של מפתח שלעולם לא הולכת לאיבוד. היא שומרת העדפות משתמש, ידע שנלמד בתחום וקונטקסט של משימות בפורמט מובנה ששורד ריסטארטים ואפשר לבצע בו שאילתות ביעילות.
ארכיטקטורת Lead Agent עם תזמור תת-סוכנים
למשימות מורכבות, DeerFlow משתמש ב-lead agent שיוצר תת-סוכנים מתמחים להרצה במקביל. ה-lead agent - מה שנקרא המתאם הראשי - מפרק מטרות, מאציל למומחים ומסנתז את התוצאות שלהם.
זה דומה לאיך שמנהל פרויקט מאציל משימות למומחים. המנהל לא מנסה לעשות עיצוב, פיתוח ו-QA בעצמו - הוא מתאם מומחים שעובדים במקביל.
התחלה מהירה
ככה אנחנו מתחילים עם DeerFlow:
# שכפול הריפו
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
# התקנת תלויות
pip install -r requirements.txt
# קונפיגורציה של ספק ה-LLM
export OPENAI_API_KEY="your-key-here"
# הרצת סוכן פשוט
python examples/basic_agent.pyדוגמה אמיתית
נגיד שאנחנו רוצים לבנות סוכן שחוקר נושא טכני ומייצר דוח מקיף עם דוגמאות קוד:
from deerflow import DeerFlowAgent, Memory
from deerflow.skills import WebBrowsing, CodeExecution
# אתחול סוכן עם זיכרון מתמשך
memory = Memory(user_id="research_team")
agent = DeerFlowAgent(
lead_llm="gpt-4",
memory=memory,
skills=[WebBrowsing(), CodeExecution()]
)
# הגדרת מטרת מחקר מורכבת
objective = """
חקור את המצב הנוכחי של מאגרי וקטורים לאפליקציות RAG.
השווה Pinecone, Weaviate ו-Qdrant.
צור קוד בנצ'מארק לכל אחד.
הפק דוח טכני עם המלצות.
"""
# הרצה - הסוכן ייצור תת-סוכנים למחקר במקביל
result = agent.execute(objective)
# התוצאה כוללת דוח מלא, דוגמאות קוד ולוגים של הרצה
print(result.report)
print(result.benchmarks)הסוכן יגלוש באופן אוטונומי בדוקומנטציה, יכתוב ויבדוק קוד בנצ'מארק בסנדבוקס שלו, יתאם מספר תת-סוכני מחקר במקביל, ויסנתז ממצאים לדוח קוהרנטי - הכל בלי ההתערבות שלנו.
פיצ'רים מרכזיים
- הרצת קוד בטוחה - הקטע המדליק הוא שבידוד סנדבוקס Docker פירושו שסוכנים יכולים להריץ קוד, להתקין חבילות ולתפעל קבצים בלי לסכן את מערכות הפרודקשן שלנו. תחשבו על זה כמו לתת לסוכן לפטופ חד-פעמי לניסויים.
- זיכרון שנשמר - בניגוד לצ'אטבוטים חסרי state, סוכני DeerFlow זוכרים את ההעדפות וידע התחום שלנו בין סשנים. זה כמו לעבוד עם עמית שרושם הערות מפורטות במקום מי ששוכח הכל בלילה.
- תיאום תת-סוכנים במקביל - lead agents יכולים ליצור מומחים שעובדים בו-זמנית. דומה לאיך שהיינו מקצים משימות מחקר, קידוד ודוקומנטציה לחברי צוות שונים במקום לעשות הכל בצורה סדרתית בעצמנו.
- מערכת ניהול סקילים - יכולות לשימוש חוזר שסוכנים יכולים להפעיל. במקום להמציא מחדש לוגיקת web scraping לכל סוכן, אנחנו מגדירים את זה פעם אחת כסקיל שכל סוכן יכול להשתמש בו.
- בנוי למשימות ארוכות - בניגוד לצ'אטבוטים שמעוצבים לתגובות מהירות, סוכני DeerFlow יכולים לעבוד שעות על מטרות מורכבות כמו "תבנה לי אפליקציית ווב שלמה" או "תחקור את השוק הזה ותכתוב ניתוח של 50 עמודים."
מתי להשתמש ב-DeerFlow 2.0 לעומת אלטרנטיבות
DeerFlow מצטיין כשאנחנו צריכים סוכנים שעובדים באופן אוטונומי לתקופות ממושכות על מטרות מורכבות רב-שלביות. אם אנחנו בונים סוכן שיבלה שעה לחקור נושא, לכתוב קוד, לבדוק אותו ולהפיק דוח - זה הכלי הנכון.
ליוזקייסים פשוטים יותר, פריימוורקים אחרים עשויים להיות מתאימים יותר. LangChain מעולה לאינטראקציות מהירות מבוססות צ'אט עם אאוטפוטים מובנים. CrewAI נהדר להגדרת תפקידי סוכנים מתמחים עם מסירות ברורות. AutoGPT עובד טוב למשימות חקרניות עם אילוצים רופפים.
ההבדל המפתח הוא תשתית לעומת אבסטרקציה. LangChain וכלים דומים נותנים לנו אבסטרקציות ברמה גבוהה לחשיבת סוכנים. DeerFlow נותן לנו תשתית ברמה נמוכה לביצוע של סוכנים. אנחנו עדיין צריכים לעצב את הלוגיקה של הסוכן - אבל אנחנו מקבלים סנדבוקס, זיכרון ותזמור ברמת פרודקשן מהקופסה.
תחשבו על זה ככה: אם LangChain הוא כמו פריימוורק ווב שמטפל בראוטינג ובטמפלייטים, DeerFlow הוא כמו Docker ו-Kubernetes שמטפלים בהרצה ובתזמור. שניהם הכרחיים, רק בשכבות שונות.
בעיניי - האם אשתמש בזה?
לעניות דעתי, זו בדיוק סוג החשיבה מהתשתית שאנחנו צריכים כשמערכות סוכנים עוברות לפרודקשן. רוב הפריימוורקים נותנים לנו טכניקות פרומפטינג חכמות אבל משאירים את הבעיות הקשות - הרצה בטוחה, state מתמשך, תיאום רב-סוכני - כתרגילים לקורא.
DeerFlow פותר את הבעיות הקשות האלה. סנדבוקס ה-Docker לבדו שווה את עלות האימוץ - זה אומר שאנחנו יכולים לתת לסוכנים לכתוב ולהריץ קוד בלי לדאוג שהם בטעות יזרקו את בסיס הנתונים של הפרודקשן שלנו או יחשפו credentials.
המגבלה היא שזו תשתית, לא פתרון שלם. אנחנו עדיין צריכים לעצב את הלוגיקה של הסוכן שלנו, לבחור את ה-LLMs שלנו ולהגדיר את תהליכי העבודה שלנו. יש עקומת למידה להבנה איך למבנה מטרות להרצה אוטונומית של מספר שעות.
אבל זו בדיוק הנקודה. DeerFlow לא מנסה לקבל החלטות על עיצוב הסוכן שלנו - הוא נותן לנו את התשתית החזקה ליישם כל עיצוב שנבחר. למערכות סוכנים בפרודקשן רציניות, במיוחד אלה שצריכות לעבוד באופן אוטונומי לתקופות ממושכות, זו תשתית חיונית.
אני אשתמש בזה לכל פרויקט שבו סוכנים צריכים להריץ קוד, לתאם תת-משימות או לעבוד ללא פיקוח ליותר מכמה דקות. בדקו את הריפו כאן: DeerFlow בגיטהאב
שאלות נפוצות
מה זה DeerFlow 2.0?
DeerFlow 2.0 הוא פריימוורק קוד פתוח שמספק תשתית הרצה לסוכני AI אוטונומיים, כולל הרצה מבודדת בסנדבוקס, זיכרון מתמשך ותזמור תת-סוכנים.
מי יצר את DeerFlow 2.0?
DeerFlow 2.0 נוצר על ידי ByteDance. במקור פותח ככלי מחקר עמוק פנימי, גרסה 2.0 נכתבה מחדש ושוחררה כקוד פתוח כהרנס למטרות כלליות.
מתי כדאי להשתמש ב-DeerFlow 2.0?
כדאי להשתמש ב-DeerFlow כשבונים סוכנים שצריכים לעבוד באופן אוטונומי לתקופות ממושכות על משימות מורכבות רב-שלביות הדורשות הרצת קוד בטוחה, זיכרון מתמשך ותיאום בין מספר תת-סוכנים מתמחים.
מה האלטרנטיבות ל-DeerFlow 2.0?
אלטרנטיבות כוללות LangChain (הטוב ביותר לאינטראקציות מבוססות צ'אט), CrewAI (טוב לתיאום סוכנים מבוסס תפקידים) ו-AutoGPT (מתאים למשימות חקרניות). DeerFlow שונה בכך שהוא מתמקד בתשתית הרצה במקום אבסטרקציות ברמה גבוהה.
מה המגבלות של DeerFlow 2.0?
DeerFlow הוא תשתית, לא פתרון מוכן. אנחנו עדיין צריכים לעצב לוגיקה של סוכן, לבחור LLMs, להגדיר תהליכי עבודה ולמבנה מטרות. יש עקומת למידה לבניית סוכנים שיכולים לעבוד באופן אוטונומי למשך שעות בצורה אפקטיבית.
