בדל MetaGPT: מדריך מלא לסוכן הבינה המלאכותית הטוב ביותר הזמין כעת - Unite.AI
צור קשר

בינה כללית מלאכותית

MetaGPT: מדריך מלא לסוכן הבינה המלאכותית הטוב ביותר הזמין כעת

mm

יצא לאור

 on

איור מבוסס MetaGP של שיתוף פעולה בין בני אדם ומכונה

עם מודלים של שפה גדולה (LLMs) כמו ChatGPT, OpenAI הייתה עדה לעלייה באימוץ ארגונים ומשתמשים, וגרפה כיום כ-80 מיליון דולר בהכנסות חודשיות. לפי א הדו"ח האחרון מאת The Information, לפי הדיווחים, החברה שבסיסה בסן פרנסיסקו נמצאת בקצב להגיע להכנסות שנתיות של מיליארד דולר.

בפעם האחרונה התעמקנו AutoGPT ו-GPT-Engineering, סוכני הבינה המלאכותית המיינסטרים המוקדמת של קוד פתוח מבוססי LLM שנועדו להפוך משימות מורכבות לאוטומטיות. למרות שהן מבטיחות, למערכות אלו היה חלק ניכר מהבעיות: תוצאות לא עקביות, צווארי בקבוק בביצועים ומגבלות בטיפול בדרישות רב-גוניות. הם מראים בקיאות ביצירת קוד, אבל היכולות שלהם נעצרות לעתים קרובות שם. חסרות להם פונקציונליות קריטית של ניהול פרויקטים כמו יצירת PRD, יצירת עיצוב טכני ויצירת אב טיפוס של ממשק API.

זן MetaGPT- מערכת מרובת סוכנים המשתמשת במודלים של שפה גדולה מאת Sirui Hong ממזגת נהלי הפעלה סטנדרטיים (SOPs) עם מערכות מרובות סוכנים מבוססות LLM. פרדיגמה מתעוררת זו משבשת את המגבלות הקיימות של לימודי LLM בטיפוח שיתוף פעולה יעיל ופירוק משימות ביישומים מורכבים בעולם האמיתי.

היופי של MetaGPT טמון במבנה שלה. היא מנצלת טכניקות מטה-תכנות כדי לתפעל, לנתח ולהמיר קוד בזמן אמת. המטרה? לממש ארכיטקטורת תוכנה זריזה וגמישה שיכולה להתאים למשימות תכנות דינמיות.

פיתוח זריז - Metagpt

פיתוח Agile

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

הבנת מסגרת MetaGPT

שכבות יסוד ושיתוף פעולה

הארכיטקטורה של MetaGPT מחולקת לשתי שכבות: שכבת הרכיבים הבסיסיים ושכבת השיתוף.

  1. שכבת רכיבי יסוד: שכבה זו מתמקדת בפעולות סוכן בודדות ומקלה על חילופי מידע במערכת. הוא מציג אבני בניין ליבה כגון סביבה, זיכרון, תפקידים, פעולות וכלים. הסביבה מכינה את הבמה לסביבות עבודה ונתיבי תקשורת משותפים, בעוד הזיכרון משמש כארכיון הנתונים ההיסטוריים. תפקידים כוללים מומחיות ספציפית לתחום, פעולות מבצעות משימות מודולריות, וכלים מציעים שירותים נפוצים. שכבה זו משמשת למעשה כמערכת ההפעלה של הסוכנים. פרטים נוספים על איך אלה עובדים יחד זמינים במאמר 'מעבר ל-ChatGPT; סוכן בינה מלאכותית: עולם חדש של עובדים"
  2. שכבת שיתוף פעולה: שכבה זו בנויה על גבי רכיבים בסיסיים, מנהלת ומייעלת את מאמצי שיתוף הפעולה של סוכנים בודדים. הוא מציג שני מנגנונים: שיתוף ידע והקיפת זרימות עבודה.
    • שיתוף ידע: זה פועל כדבק שיתופי שמחבר בין סוכנים. סוכנים יכולים לאחסן, לאחזר ולשתף מידע ברמות שונות, ולכן להפחית את היתירות ולשפר את היעילות התפעולית.
    • הקפצת זרימות עבודה: כאן נכנסים לתמונה נהלי הפעלה סטנדרטיים (SOPs). SOPs פועלים כשרטוטים שמפרקים משימות לרכיבים הניתנים לניהול. לסוכנים מוקצות משימות המשנה הללו, והביצועים שלהם מתאימים לתפוקות סטנדרטיות.

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

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

תהליכים קוגניטיביים בסוכני MetaGPT

MetaGPT יכול להתבונן, לחשוב, לשקף ולפעול. הם פועלים באמצעות פונקציות התנהגותיות ספציפיות כמו _think(), _observe(), _publish_message()וכו'. המודל הקוגניטיבי הזה מכשיר את הסוכנים להיות לומדים פעילים שיכולים להסתגל ולהתפתח.

  1. להתבונן: סוכנים סורקים את הסביבה שלהם ומשלבים נתוני מפתח בזיכרון שלהם.
  2. תחשוב והרהר: דרך ה _think() תפקוד, תפקידים מכוונים לפני ביצוע פעולות.
  3. שידור הודעות: נעשה שימוש בסוכנים _publish_message() כדי לשתף סטטוסים נוכחיים של משימות ורשומות פעולות קשורות.
  4. ידע משקעים ומעשה: סוכנים מעריכים הודעות נכנסות ומעדכנים את המאגרים הפנימיים שלהם לפני שהם מחליטים על דרך הפעולה הבאה.
  5. הנהלת המדינה: עם תכונות כמו נעילת משימות ועדכון סטטוס, תפקידים יכולים לעבד מספר פעולות ברצף ללא הפרעה, תוך שיקוף של שיתוף פעולה אנושי בעולם האמיתי.

מנגנוני סקירת קוד עבור MetaGPT

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

ניסויים כמותיים שנערכו על פני מספר משימות גילו כי MetaGPT עלתה על מקבילותיה כמעט בכל תרחיש. Pass@1 הוא מדד ליכולת המסגרת לייצר קוד מדויק באיטרציה בודדת. מדד זה מציע השתקפות מציאותית יותר של התועלת של מסגרת בסביבה מעשית. קצב Pass@1 גבוה יותר פירושו פחות איתור באגים ויותר יעילות, משפיע ישירות על מחזורי הפיתוח והעלויות. כשהוא מוערם מול כלי יצירת קוד מתקדמים אחרים כגון CodeX, CodeT, ואפילו GPT-4, MetaGPT ביצועים טובים יותר הקניון. היכולת של המסגרת להשיג 81.7% ל 82.3% תעריף Pass@1 מופעל HumanEval ו MBPP אמות מידה.

השוואת מדדי MBPP ו-HumanEval b/w MetaGPT ומודלים מובילים אחרים (https://arxiv.org/pdf/2308.00352.pdf)

השוואת מדדי MBPP ו-HumanEval b/w MetaGPT ומודלים מובילים אחרים (https://arxiv.org/pdf/2308.00352.pdf)

המסגרת גם משתמשת בפחות אסימונים ומשאבים חישוביים, ומשיגה שיעור הצלחה גבוה בשבריר מעלות הנדסת תוכנה מסורתית. הנתונים הצביעו על עלות ממוצעת של רק $1.09 לכל פרויקט עם MetaGPT שזה רק חלק ממה שמפתח יגבה עבור אותה משימה.

שלבים להתקנה מקומית של MetaGPT במערכת שלך

התקנת NPM, Python

  1. בדוק והתקן את NPM: דבר ראשון, ודא ש-NPM מותקן במערכת שלך. אם לא, תצטרך להתקין node.js. כדי לבדוק אם יש לך npm, הפעל את הפקודה הזו בטרמינל שלך: npm --version. אם אתה רואה מספר גרסה, אתה מוכן ללכת.
  2. כדי להתקין mermaid-js, תלות עבור MetaGPT, הרץ: sudo npm install -g @mermaid-js/mermaid-cli or npm install -g @mermaid-js/mermaid-cli
  3. אמת את גרסת Python: ודא שיש לך Python 3.9 ומעלה. כדי לבדוק את גרסת Python שלך, פתח את הטרמינל שלך והקלד: python --version. אם אינך מעודכן, הורד את הגרסה העדכנית ביותר מה- האתר הרשמי של Python.
  4. שיבוט מאגר MetaGPT: התחל בשיבוט מאגר MetaGPT GitHub באמצעות הפקודה git clone https://github.com/geekan/metagpt. ודא שיש לך Git מותקן במערכת שלך בשביל זה. אם לא, בקר כאן.
  5. נווט אל ספרייה: לאחר שיבוט, נווט אל ספריית MetaGPT באמצעות הפקודה cd metagpt.
  6. הַתקָנָה: הפעל את סקריפט ההתקנה של Python כדי להתקין את MetaGPT עם הפקודה python setup.py install.
  7. צור אפליקציה: הפעל python startup.py "ENTER-PROMPT" --code_review True

הערות:

  • הפרויקט החדש שלך אמור להיות כעת ב- workspace/ במדריך.
  • --code_review True יאפשר למודל GPT לבצע פעולות נוספות אשר יבטיחו שהקוד יפעל בצורה מדויקת אך שימו לב שזה יעלה יותר.
  • אם אתה נתקל בשגיאת הרשאה במהלך ההתקנה, נסה להפעיל python setup.py install --user כחלופה.
  • לקבלת גישה למהדורות ספציפיות ולפרטים נוספים, בקר בדף הגרסאות הרשמי של MetaGPT GitHub: מהדורות של MetaGPT.

התקנת Docker

למי שמעדיף קונטיינריזציה, Docker מפשט את התהליך:

  • משוך את תמונת הדוקר: הורד את התמונה הרשמית של MetaGPT והכן את קובץ התצורה:
docker pull metagpt/metagpt:v0.3.1
mkdir -p /opt/metagpt/{config,workspace}
docker run --rm metagpt/metagpt:v0.3.1 cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml
vim /opt/metagpt/config/key.yaml
  • הפעל את ה-MetaGPT Container: בצע את המכולה עם הפקודה הבאה:
docker run --rm --privileged \
-v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \
-v /opt/metagpt/workspace:/app/metagpt/workspace \
metagpt/metagpt:v0.3.1 \
python startup.py "Create a simple and interactive CLI based rock, paper and scissors game" --code_review True

הגדרת MetaGPT עם מפתח ה-API של OpenAI

לאחר ההגדרה הראשונית, תצטרך לשלב את MetaGPT עם מפתח ה-API של OpenAI. להלן השלבים לעשות זאת:

  1. אתר או הפק את מפתח OpenAI שלך: אתה יכול למצוא מפתח זה ב-OpenAI Dashboard שלך תחת הגדרות API.
  2. הגדר את מפתח ה-API: יש לך אפשרות למקם את מפתח ה-API בכל אחד מהם config/key.yaml, config/config.yaml, או הגדר אותו כמשתנה סביבה (env). סדר העדיפות הוא config/key.yaml > config/config.yaml > env.
  3. כדי להגדיר את המפתח, נווט אל config/key.yaml והחלף את טקסט מציין המיקום במפתח OpenAI שלך: OPENAI_API_KEY: "sk-..."

זכור להגן על מפתח ה-API של OpenAI שלך. לעולם אל תתחייב אותו למאגר ציבורי או שתף אותו עם אנשים לא מורשים.

איור מקרה שימוש

נתתי את המטרה לפתח משחק סלעים, נייר ומספריים מבוסס CLI, ומטה-GPT ביצעה את המשימה בהצלחה.

להלן סרטון המציג את הריצה בפועל של קוד המשחק שנוצר.

הפעלת הדגמה של MetaGPT

MetaGPT סיפקה מסמך עיצוב מערכת ב-Markdown - שפת סימון קלת משקל נפוצה. קובץ Markdown זה היה גדוש בדיאגרמות UML, ובכך הציע תצוגה מפורטת של התוכנית האדריכלית. יתרה מכך, מפרטי API פורטו עם שיטות HTTP, נקודות קצה, אובייקטי בקשה/תגובה וקודי סטטוס

MetaGPT Output - עיצוב מערכת

פלט MetaGPT - Markdown של עיצוב מערכת

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

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

מסקנה: MetaGPT—מהפכה בפיתוח תוכנה

MetaGPT מגדירה מחדש את הנוף של פיתוח בינה מלאכותית ותוכנה, ומציעה שילוב חלק של אוטומציה חכמה וניהול פרויקטים זריז. עולה בהרבה על היכולות של ChatGPT, AutoGPT ודגמי LangChain המסורתיים, הוא מצטיין בפירוק משימות, יצירת קוד יעיל ותכנון פרויקטים. למידע נוסף על

להלן הנקודות העיקריות מהמאמר הזה:

  1. כוחה של מטא-תכנות: על ידי שימוש בתכנות מטה, MetaGPT מספקת מסגרת תוכנה זריזה ומסתגלת. זה חורג מהפונקציונליות הצרה של כלים מדור קודם ומציג גישה טרנספורמטיבית שמטפלת לא רק בקידוד, אלא גם בהיבטי ניהול פרויקטים וקבלת החלטות.
  2. אדריכלות דו-שכבתית: עם השכבות הבסיסיות והשיתופיות שלה, MetaGPT יוצר למעשה מערכת אקולוגית סינרגטית שבה סוכנים יכולים לעבוד בצורה מלוכדת, בדומה לצוות תוכנה מנוהל במומחיות.
  3. סקירת קוד אופטימלית: מעבר ליצירת קוד בלבד, MetaGPT מציעה תכונות של ביצוע קדם הידור, שהיא בעצם מערכת אזהרה מוקדמת לשגיאות. זה לא רק חוסך זמן איתור באגים אלא גם מבטיח את איכות הקוד.
  4. סוכנים קוגניטיביים: הסוכנים החכמים של MetaGPT, גדושים בפונקציות קוגניטיביות כמו _observe(), _think()ו-_publish_message(), מתפתחים ומסתגלים, ומבטיחים שפתרון התוכנה שלך לא רק מקודד אלא הוא 'אינטיליגנטי'.
  5. התקנה ופריסה: הדגמנו שניתן להגדיר את MetaGPT בקלות, בין אם אתה מעדיף התקנה מקומית באמצעות npm ו-Python, או קונטיינריזציה באמצעות Docker.

ביליתי את חמש השנים האחרונות בשקיעת עצמי בעולם המרתק של למידת מכונה ולמידה עמוקה. התשוקה והמומחיות שלי הובילו אותי לתרום ליותר מ-50 פרויקטים מגוונים של הנדסת תוכנה, עם התמקדות מיוחדת ב-AI/ML. הסקרנות המתמשכת שלי משכה אותי גם לעבר עיבוד שפה טבעית, תחום שאני להוט לחקור עוד יותר.