תבנית ADK Agentic עם זיכרון ו-MCP

1. מה תלמדו

ברוכים הבאים לסדנת ADK Master Class – המסע שלכם אל מערכות מרובות סוכנים

אתם עומדים להיכנס לעולם המלהיב של סוכני AI. שכחו מבוטים פשוטים שרק עונים על שאלות. אנחנו מתעמקים ב-Agent Development Kit (ADK) כדי לבנות מערכות מתוחכמות ואוטונומיות שיכולות להסיק מסקנות, לתכנן ולהשתמש בכלים כדי לבצע משימות מורכבות.

גרסת כיסוי

בסוף המדריך הזה תוכלו:

  • יצירת סוכן AI ראשון: תלמדו איך ליצור סוכן מתפקד שיכול להבין את הצרכים של המשתמש, להשתמש בכלים כמו חיפוש Google וליצור תשובות מפורטות ומועילות.
  • לבנות מערכות מרובות סוכנים: לומדים על התבנית Agent-as-a-Tool (סוכן ככלי), קונספט חדשני שבו סוכנים מעבירים משימות לסוכנים מומחים אחרים, ויוצרים צוות של מומחי AI שעובדים יחד.
  • ארגון תהליכי עבודה מורכבים: מעבר להקצאת משימות פשוטה, אפשר לשלוט בדפוסים מתקדמים כמו נתבים, שרשרות רציפות, לולאות וביצוע מקביל כדי ליצור אפליקציות חזקות, יעילות וחכמות שיכולות לטפל כמעט בכל בקשה.
  • איך נותנים לסוכנים זיכרון: הסבר על התפקיד החשוב של זיכרון שיחה, שמאפשר לסוכנים לטפל בשאלות המשך, ללמוד ממשוב ולנהל משימות מרובות שלבים בצורה חלקה.
  • חיבור באמצעות MCP: חיבור באמצעות ארגז הכלים של MCP.

קדימה, מתחילים! 🚀

2. הגדרה של מפתח GCP ו-Gemini API

הגדרה של פרויקט ב-GCP ומפתח Gemini API

כדי להפעיל את סוכני ה-AI שלנו, אנחנו צריכים שני דברים: פרויקט ב-Google Cloud שיספק את הבסיס ומפתח Gemini API כדי לגשת למודלים המתקדמים של Google.

שלב 1: הפעלת חשבון לחיוב

  • כדי לממש את הזיכוי בסך 5 דולר בחשבון לחיוב, תצטרכו אותו לפריסה. חשוב לוודא שאתם מחוברים לחשבון Gmail.

שלב 2: יצירת פרויקט חדש ב-GCP

  • נכנסים אל Google Cloud Console ויוצרים פרויקט חדש.

ליצור חשבון GCP חדש

  • נכנסים אל Google Cloud Console ויוצרים פרויקט חדש.
  • פותחים את החלונית הימנית, לוחצים על Billing ובודקים אם החשבון לחיוב מקושר לחשבון GCP הזה.

קישור החשבון לחיוב לחשבון gcp

אם הדף הזה מוצג, מסמנים את התיבה manage billing account, בוחרים באפשרות Google Cloud Trial One ומקשרים אליה.

שלב 3: מאתרים את מזהה הפרויקט ב-Google Cloud

‫👈 לוחצים על 'הפעלת Cloud Shell' בחלק העליון של מסוף Google Cloud (הסמל בצורת טרמינל בחלק העליון של חלונית Cloud Shell), cloud-shell.png

‫👈 לוחצים על הלחצן 'פתיחת הכלי לעריכה' (הוא נראה כמו תיקייה פתוחה עם עיפרון). חלון Cloud Shell Code Editor ייפתח. בצד ימין יופיע סייר הקבצים. open-editor.png

‫👈איך מוצאים את מזהה הפרויקט ב-Google Cloud:

  • פותחים את Google Cloud Console: קישור
  • בוחרים את הפרויקט שבו רוצים להשתמש בסדנה הזו מהתפריט הנפתח של הפרויקטים בחלק העליון של הדף.
  • מזהה הפרויקט מוצג בכרטיס Project info בלוח הבקרה

03-04-project-id.png

‫👈💻 בטרמינל, מוודאים שכבר עברתם אימות ושהפרויקט מוגדר למזהה הפרויקט שלכם באמצעות הפקודה הבאה:

gcloud auth list

‫👈💻 משכפלים את פרויקט ה-bootstrap מ-GitHub:

git clone https://github.com/cuppibla/adk_tutorial.git

‫👈💻 מריצים את סקריפט ההפעלה. הסקריפט יבקש מכם להזין את מזהה הפרויקט ב-Google Cloud. כשמוצגת הנחיה בסקריפט setup_venv.sh, מזינים את מזהה הפרויקט ב-Google Cloud שמצאתם בשלב הקודם.

cd ~/adk_tutorial
./setup_venv.sh

gcloud services enable  compute.googleapis.com \
                        artifactregistry.googleapis.com \
                        run.googleapis.com \
                        iam.googleapis.com \
                        aiplatform.googleapis.com \
                        cloudresourcemanager.googleapis.com

3. סשן 1: הסוכן הראשון שלכם ב-ADK Web

פותחים את ADK Web על ידי הרצה של:

cd ~/adk_tutorial
source .adk_env/bin/activate
adk web

אחרי שמריצים את הפקודות, אמור להופיע פלט במסוף שמציין שהופעל שרת האינטרנט של ADK, בדומה לזה:

+-----------------------------------------------------------------------------+
| ADK Web Server started                                                      |
|                                                                             |
| For local testing, access at http://localhost:8000.                         |
+-----------------------------------------------------------------------------+

INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

‫👈 כדי לגשת לממשק המשתמש של ADK Dev מהדפדפן:

בסרגל הכלים של Cloud Shell (בדרך כלל בפינה השמאלית העליונה), לוחצים על סמל התצוגה המקדימה בדפדפן (לרוב נראה כמו עין או ריבוע עם חץ) ובוחרים באפשרות 'שינוי יציאה'. בחלון הקופץ, מגדירים את היציאה ל-8000 ולוחצים על שינוי ותצוגה מקדימה. לאחר מכן, ייפתחו ב-Cloud Shell כרטיסייה או חלון חדשים בדפדפן עם ממשק המשתמש של ADK Dev.

webpreview

‫👈 טקס הזימון הושלם, והנציג פועל עכשיו. ממשק המשתמש של ADK Dev בדפדפן הוא החיבור הישיר שלכם ל-Familiar.

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

אפשר לבחור את single_agent כאן: תמונה של מעקב אחרי סוכנים בודדים

אפשר לראות את המעקב כאן: תמונה של סוכן יחיד

‫👉 Test Prompt:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art.

4. סשן 2: סוכן Workflow: סוכן Sequential, סוכן Parallel, סוכן Loop

Parallel Agent

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

‫👉 Test Prompt:

Plan my trip to San Francisco, I want to find some good concert, restaurant and museum.

אפשר לבחור את parallel_agent כאן: תמונה של סוכנים מקבילים

אפשר לראות את המעקב כאן: תמונה של סוכנים מקבילים

נציג עוקב

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

‫👉 Test Prompt:

Find a good sushi near Standford and tell me how to get there.

אפשר לבחור את sequential_agent כאן: תמונה של מעקב אחרי סוכנים עוקבים

אפשר לראות את המעקב כאן: תמונה של מעקב אחר sequential_agent

Loop Agent

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

‫👉 Test Prompt:

Plan a trip from Sunnyvale to San Francisco today.

אפשר לבחור את loop_agent כאן: תמונה של סוכני לולאה

אפשר לראות את המעקב כאן: תמונה של סוכני לולאה

5. סשן 3: נציג מותאם אישית

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

‫👉 Test Prompt:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art. Make sure within budget of 100 dollars.

אפשר לבחור את Custom_Agent כאן: תמונה של מעקב אחרי Custom_Agent

אפשר לראות את המעקב כאן: תמונה של מעקב אחרי Custom_Agent

6. סשן 4: דפוס Orchestrator – סוכן ניתוב

אחרי שפותחים את ממשק האינטרנט של ADK, אפשר לבחור באפשרות routing_agent.

‫👉 Test Prompt:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

אפשר לבחור את routing_agent כאן: תמונה של סוכני ניתוב

אפשר לראות את המעקב כאן: תמונה של סוכני ניתוב

7. סשן 5: סוכן ככלי

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

‫👉 Test Prompt:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

אפשר לבחור את agent_as_tool כאן: תמונה של סוכן ככלי

אפשר לראות את המעקב כאן: תמונה של סוכני ניתוב

8. סשן 6: סוכן עם זיכרון לטווח ארוך

‫👈💻 כדי לבדוק את הזיכרון לטווח ארוך, עוברים לתיקייה ומשתמשים ב-runner כדי להפעיל את הסוכן:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

‫👉 Test Prompt:

I like Art and Italian food.

לאחר מכן מסיימים את הסשן על ידי הקשה על Ctrl+C. להפעיל מחדש את הסשן:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

‫👉 Test Prompt:

Plan a trip to San Francisco based on my preference.

9. סשן 7: שיפור היכולות של הנציג באמצעות MCP

שלב 1: הכנת מסד הנתונים המקומי

‫👈💻 מריצים את הפקודה הבאה בטרמינל

cd ~/adk_tutorial
source .adk_env/bin/activate
chmod +x setup_trip_database.py
./setup_trip_database.py

שלב 2: התקנה והפעלה של MCP Toolbox Server

‫👈💻 מריצים את הפקודה הבאה בטרמינל

cd ~/adk_tutorial/mcp_tool_box
export VERSION=0.16.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox

אחרי שמסיימים להוריד, ואז מריצים

chmod +x toolbox

שלב 3

בטרמינל אחד מריצים את הפקודה הבאה

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/mcp_tool_box
./toolbox --tools-file "trip_tools.yaml" --port 7001

בטרמינל אחר מריצים את הפקודה הבאה

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/g_agents_mcp
python main.py