יצירת סוכן משא ומתן משלכם באמצעות Gemini 3 ו-ADK

1. סקירה כללית

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

נעים להכיר: Raju, מוכר חדש מבוסס-AI. הוא מוכר פריטים דיגיטליים מדהימים, אבל צריך להתמקח איתו כדי לקבל אותם!

נשתמש ב-Gemini 3 (המוח), ב-ADK (הערכה לפיתוח סוכנים – הגוף) וב-Google Cloud Run (מיקום החנות) כדי להחיות את ראג'ו.

Raju the Shopkeeper

מה תלמדו

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

ארכיטקטורת סוכן Raju

  • החנות (Cloud Run): המקום שבו האפליקציה שלכם נמצאת באינטרנט.
  • המוח (Gemini 3): האינטליגנציה שמפעילה את Raju.
  • הגוף (ADK): המסגרת שמקשרת בין המוח לכלים.
  • המלאי (כלים): קוד Python שראג'ו משתמש בו כדי לבדוק את המלאי.
  • חזית החנות (ממשק משתמש): הממשק שהלקוחות רואים.

תלמדו איך:

  • מגדירים את Digital Dukaan (סביבת Google Cloud).
  • "Hire" Raju (קבלת 3 מפתחות Gemini API).
  • תלמד את ראג'ו להתמקח (הוראות מערכת ופרסונות).
  • נותנים לרָג'וּ מלאי (ADK Tools).
  • בניית קצה קדמי (ממשק משתמש של קצה קדמי).
  • פתוח לעסקים (פריסה ב-Cloud Run).

מה צריך

  • פרויקט ב-Google Cloud.
  • חוש הומור (למיקוח).
  • ידע בסיסי ב-Python.

2. הגדרת Dukaan (פרויקט Cloud)

לפני שנבנה את Raju, אנחנו צריכים מיקום של חנות. ב-Cloud, המשמעות היא פרויקט עם חשבון לחיוב.

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

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

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

שלב 2: יצירת פרויקט

שלב 2: יצירת פרויקט

  1. עוברים אל דף יצירת הפרויקט.
  2. מזינים שם ייחודי לפרויקט (לדוגמה, raju-shop-agent).
  3. בתפריט הנפתח 'חשבון לחיוב', בוחרים באפשרות חשבון לחיוב לתקופת ניסיון.
  4. לוחצים על יצירה וממתינים עד שהפרויקט יהיה מוכן.

שלב 3: אימות קישור החיוב

  1. עוברים אל דף החשבון לחיוב המקושר.
  2. אם מופיעה האפשרות 'קישור חשבון לחיוב', לוחצים עליה.
  3. מוודאים שחשבון החיוב בתקופת הניסיון מסומן.
  4. עכשיו אפשר להתחיל לבנות!

סיכום

בשלב הזה מגדירים את הפרויקט ואת החשבון לחיוב ב-Google Cloud, ויוצרים את הבסיס לאפליקציה.

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

3. בניית תא השירותים (הגדרת הסביבה)

צריך מקום להריץ בו את הקוד. יש שתי אפשרויות:

Cloud Shell לעומת טרמינל מקומי

Cloud Shell הוא טרמינל מבוסס-דפדפן שמותקן מראש עם כל מה שצריך (Python, ‏ ה-CLI של gcloud, ‏ git). יש לו אחסון מתמיד ואפשר לעבוד איתו מכל מקום.

1. הפעלת Cloud Shell

לוחצים על סמל ההפעלה של Cloud Shell (סמל של מסוף) בפינה השמאלית העליונה של הכותרת במסוף Google Cloud.

הפעלת Cloud Shell

עכשיו יתבצע אתחול של Cloud Shell. התהליך כולל:

  • אישור: אם מתבקשים, לוחצים על אישור כדי לאשר ל-Cloud Shell לבצע קריאות ל-Google Cloud APIs בשמכם.
  • הקצאת משאבים:‏ Cloud Shell מקצה מכונה וירטואלית זמנית לסשן שלכם.
  • מתחבר: לאחר מכן הוא מתחבר למכונה הווירטואלית הזו. התהליך כולו עשוי להימשך דקה או שתיים.

ממתינים עד שמופיעה שורת הפקודה (user@cloudshell:~ $).

2. אימות הגדרת הפרויקט

בדרך כלל, Cloud Shell בוחר באופן אוטומטי את הפרויקט הנוכחי. כדי להיות בטוחים, כדאי לאמת את הזהות:

gcloud config get-value project

אם הפקודה לא מחזירה את מזהה הפרויקט (raju-shop-agent), צריך להגדיר אותו באופן ידני:

gcloud config set project raju-shop-agent

אפשרות 2: מסוף מקומי

אם אתם מעדיפים להשתמש במסוף של המחשב הנייד שלכם (iTerm,‏ PowerShell וכו'), תצטרכו לבצע עוד כמה פעולות הגדרה.

1. התקנת דרישות מוקדמות

ודאו שהאפליקציות הבאות מותקנות:

2. כניסה והגדרה של gcloud

מפעילים את Google Cloud CLI ונכנסים לחשבון:

gcloud auth login

מגדירים את הפרויקט (מחליפים את raju-shop-agent במזהה הפרויקט בפועל):

gcloud config set project raju-shop-agent

מגדירים Application Default Credentials (הגדרה כזו מאפשרת לכלים מקומיים לתקשר עם Google Cloud):

gcloud auth application-default login

סיכום

בשלב הזה, בוחרים את סביבת הפיתוח (Cloud Shell או מקומית) ומגדירים אותה.

בשלב הבא נכיר את הכלי שיעזור לנו לפתח מהר יותר ב-Meeting Gemini CLI.

4. העוזר האישי שלכם (Gemini CLI)

נעים להכיר את החבר הכי טוב החדש שלכם לפיתוח AI: Gemini CLI!

מבוא ל-Gemini CLI

‫Gemini CLI הוא ממשק שורת פקודה רב-עוצמה שעוזר לכם:

  • אוטומציה של תהליכי עבודה: ניהול יעיל של פרויקטים מבוססי-AI.
  • יצירת קוד: יצירת קוד, ממשק משתמש ואפילו קבצים שלמים.
  • מערכת אקולוגית של תוספים: אפשר להרחיב את היכולות של Cloud Shell באמצעות תוספים שונים (כמו Cloud Run, שבו נשתמש בהמשך).

1. התקנה של Gemini CLI (טרמינל מקומי בלבד)

אם אתם משתמשים בטרמינל במחשב הנייד המקומי:

npm install -g @google/gemini-cli

אם אתם משתמשים ב-Google Cloud Shell:

ממשק Gemini CLI מותקן מראש ב-Cloud Shell, כך שלא צריך להתקין שום דבר.

2. הפעלה ואימות

פותחים חלון טרמינל חדש (או כרטיסייה) ב-Cloud Shell (או בטרמינל מקומי) ומפעילים את Gemini CLI:

gemini

הגדרה בהפעלה הראשונה: אם זו הפעם הראשונה שאתם מפעילים את ה-CLI, הוא ידריך אתכם בתהליך הגדרה מהיר.

  • אימות: תתבקשו להיכנס לחשבון. מומלץ להשתמש בחשבון Gmail אישי כדי ליהנות ממכסות נדיבות בחינם שזמינות למודלים של Gemini.
  • הקשר של הפרויקט: מומלץ להריץ את הפקודה gemini מתוך תיקיית הפרויקט כדי שהיא תבין את הקשר של הקוד. (מכיוון שעדיין לא יצרנו את התיקייה, אפשר להריץ את הפקודה מתיקיית הבית).

3. אפשר להגיד שלום!

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

Hi

אמורה להתקבל תשובה ידידותית מהמודל.

4. פקודות חיוניות

  • /quit: מקלידים את הפקודה הזו כדי לצאת מ-Gemini CLI ולחזור לטרמינל הרגיל.
  • /help: הצגת רשימה של כל הפקודות הזמינות.

סיכום

בשלב הזה, התקנתם את Gemini CLI, ביצעתם אימות ואישרתם את Gemini CLI.

בשלב הבא נשתמש בערכת פיתוח סוכנים (ADK) כדי לבנות את השלד של החנות שלנו ב-Opening Shop (The Code).

5. מילוי המדפים (הגדרת הפרויקט)

אנחנו לא בונים מאפס (מוכרים חכמים חוסכים זמן). נשתמש ב-Agent Development Kit (ADK).

מה זה ADK?

מילוי המדפים

ערכת ה-ADK היא "מערכת ניהול החנות". זהו framework גמיש שמטפל ב:

  • תזמור: ניהול משימות מורכבות (למשל, ראג'ו בודק את המלאי בזמן שהוא מדבר עם לקוח).
  • ניהול מצב: זוכר את שם הלקוח ואת מה שהוא ביקש לפני 5 דקות.
  • כלים: חיבור למערכות חיצוניות (כמו מסד נתונים של מלאי).

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

בטרמינל Cloud Shell (או בטרמינל מקומי), מריצים את הפקודה הבאה כדי ליצור את הסוכן:

uvx agent-starter-pack create raju-shop

ממשק ה-CLI ישאל אתכם כמה שאלות כדי להגדיר את החנות. בוחרים באפשרויות הבאות (מקלידים את המספר ומקישים על Enter):

  1. סוג הסוכן: בוחרים באפשרות 1 (adk_base – סוכן ReAct בסיסי).
  2. יעד הפריסה: בוחרים באפשרות 2 (Cloud Run – הפעלת קונטיינר ללא שרת).
  3. סוג המפגש: בוחרים באפשרות 1 (In-memory session – פשוט ומהיר).
  4. CI/CD Runner: בוחרים באפשרות 3 (Skip – נבצע פריסה ידנית בשלב הזה).

ממתינים עד שהתהליך יסתיים. אחרי שמסיימים, מזינים את ספריית החנות ומתקינים את התלויות:

cd raju-shop
make install
source .venv/bin/activate

סקירה והגדרה של הנציג

עכשיו, אחרי שהגדרתם את חבילת המתחילים, כדאי לבדוק את המבנה שלה.

1. בדיקת מבנה התיקיות

מריצים את הפקודה הבאה כדי לראות איך החנות מאורגנת:

tree .

אמור להופיע מבנה כזה:

.
├── app
   ├── __init__.py
   ├── agent.py
   ├── app_utils
      ├── telemetry.py
      └── typing.py
   └── fast_api_app.py
├── Dockerfile
├── GEMINI.md
├── Makefile
├── pyproject.toml
├── README.md
├── tests
   ├── integration
      ├── test_agent.py
      └── test_server_e2e.py
   └── unit
       └── test_dummy.py
└── uv.lock

הקובץ הכי חשוב הוא app/agent.py. כאן נמצא המוח של ראג'ו!

2. הליכה בקוד

פותחים את app/agent.py ב-Cloud Shell Editor (או בסביבת פיתוח משולבת מקומית) ומעיינים בו:

  • root_agent = Agent(...): כאן מגדירים את ה-AI. יש לו model (מוח) ו-tools (ידיים).
  • כלים: יוצגו פונקציות של Python כמו get_weather. אלה כלים שהסוכן יכול להשתמש בהם.
  • app = App(...): הפקודה הזו עוטפת את הסוכן בשרת אינטרנט כדי שנוכל לתקשר איתו.

בדיקה מקומית

בטרמינל Cloud Shell (או בטרמינל מקומי), מריצים את הסוכן:

adk web

הפקודה הזו מפעילה שרת אינטרנט מקומי ביציאה 8000.

אם משתמשים ב-Cloud Shell:

  1. לוחצים על הלחצן Web Preview (תצוגה מקדימה באינטרנט) בפינה השמאלית העליונה (הסמל נראה כמו עין).
  2. בוחרים באפשרות שינוי היציאה.
  3. מזינים 8000 ולוחצים על שינוי ותצוגה מקדימה.

אם משתמשים בטרמינל מקומי:

  1. פותחים את הדפדפן ועוברים אל הכתובת http://localhost:8000.

אחרי שפותחים את ממשק המשתמש:

  1. בחירת 'אפליקציה': בתפריט הנפתח בפינה הימנית העליונה, מוודאים שבוחרים בסוכן שנקרא אפליקציה (מתעלמים מ-root_agent או מ-test_agent אם הם מופיעים).
  2. אומרים שלום: מקלידים "שלום!" ובודקים אם הוא מגיב.

בסיום, מקישים על Ctrl+C במסוף כדי לעצור את השרת adk web.

סיכום

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

בשלב הבא, ניתן לסוכן שלנו אישיות ושם בTraining Raju (The Persona).

6. אימון ראג'ו (הפרסונה)

כרגע, הסוכן משעמם. אנחנו ניתן לו אישיות!

הפעלת פרסונה של ראג'ו

במקום לכתוב קוד, פשוט אומרים ל-Gemini מה רוצים.

1. הגדרת הפרופיל

מריצים את הפקודה הבאה בטרמינל כדי "ללמד" את ראג'ו מי הוא:

gemini "In agent.py, update the root_agent instruction. You are Raju, a bargaining shopkeeper in a digital bazaar. You sell: Brass Lamp (50 coins), Silk Scarf (500 coins). Your goal is to sell high and be funny. Speak with an Indian-English flair."

2. אימות הקוד

פתיחת app/agent.py. אפשר לראות ש-Gemini כתב בשבילכם את הוראת המערכת.

3. בדיקה מקומית

עכשיו אפשר לשוחח עם ראג'ו! בטרמינל Cloud Shell (או בטרמינל מקומי):

adk web

פותחים את ממשק המשתמש האינטרנטי (תצוגה מקדימה באינטרנט, יציאה 8000 או localhost:8000), בוחרים את סוכן האפליקציה ומנסים את ההנחיות הבאות:

  • "I want the Brass Lamp but 50 coins is too much!"
  • "מה אתה מוכר, חבר?"

רוצה לראות איך הוא מגיב? הוא צריך להיות מצחיק ודרמטי, אבל לא להסכים למכור במחיר נמוך מדי.

סיכום

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

בשלב הבא, ניתן לרָג'וּ את האפשרות לבדוק את המלאי בפועל שלו במלאי (כלי הוספה).

7. המלאי (הוספת כלים)

ראג'ו צריך לדעת מה יש לו במלאי. ניתן לו 'מסד נתונים' וכלי לבדיקה שלו.

Raju Level Up

1. יצירת הכלי

מריצים את הפקודה הבודדת הזו כדי ליצור את המלאי, את הכלי ולחבר אותו ל-Raju:

gemini "In agent.py, create a dictionary INVENTORY with items: Brass Lamp (price 50, stock 5), Silk Scarf (price 500, stock 2), Taj Mahal (price 2000, stock 0). Then create a tool function check_inventory(item_name) that checks this dict. Finally, update the root_agent to use this tool and remove the default weather tools."

2. אימות הקסם

פותחים שוב את app/agent.py. תראו של-Gemini יש:

  1. נוצר המילון INVENTORY.
  2. כתבת את פונקציית Python‏ check_inventory.
  3. הרשימה tools=[...] בהגדרת הנציג עודכנה.

3. בדיקת המלאי

  1. מפעילים מחדש את השרת (Ctrl+C ואז adk web).
  2. יש לך שאלה ל-Raju?
    • "Do you have any Taj Mahals?" (הוא צריך להגיד לא, המלאי הוא 0).
    • "כמה עולה צעיף המשי?" (הוא צריך לבדוק את המחיר האמיתי).

סיכום

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

בשלב הבא, נפעיל את ראג'ו בענן במאמר Raju's Shop Goes Live (Deploying the Backend).

8. Raju's Shop Goes Live (Deploying the Backend)

הגיע הזמן לפתוח את הערוץ לכל העולם! לפני שנבנה את חזית החנות, נדאג לפריסת המוח והמלאי של ראג'ו (הסוכן שלכם) בענן.

Raju Goes Live

חשוב: ניהול מסופים

יכול להיות שהפקודה adk web פועלת במסוף הנוכחי מהשלב הקודם.

  • להשאיר את השרת פועל אם רוצים להמשיך לבדוק באופן מקומי.
  • פותחים חלון/כרטיסייה חדשים של הטרמינל כדי לבצע את שלבי הפריסה הבאים.
  • הערה: בכל פעם שמשנים את agent.py, צריך לעצור (Ctrl+C) ולהפעיל מחדש את adk web כדי שהשינויים ייכנסו לתוקף.

1. הכנה של Gemini CLI

בחלון הטרמינל החדש:

  1. בודקים אם אתם כבר ב-Gemini CLI (מחפשים את ההנחיה gemini>).
  2. אם כן, מקלידים /quit כדי לצאת למעטפת הרגילה.
  3. מוודאים שאתם נמצאים בתיקיית הפרויקט:
    cd raju-shop
    

2. התקנת התוסף Cloud Run

מתקינים את התוסף Cloud Run ל-Gemini CLI בטרמינל Cloud Shell (או בטרמינל מקומי):

gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp

3. הפעלה מחדש של Gemini CLI

מפעילים מחדש את Gemini CLI כדי להשתמש בתוסף החדש:

gemini

ההנחיה של Gemini CLI אמורה להופיע.

4. פריסת הסוכן

יש שתי דרכים להשתמש בתוספים ל-Gemini CLI:

אפשרות 1: פקודת לוכסן (ידנית) אפשר להקליד במפורש את הפקודה והדגלים:

/deploy --source . --name raju-agent --region us-central1 --allow-unauthenticated

אפשרות 2: שפה טבעית (מומלצת) זו הדרך הקלה והיעילה ביותר! יש לך שאלה ל-Gemini? הוא ישתמש בשרת MCP כדי להפעיל את הכלים הנכונים.

אפשר לנסות להדביק את ההנחיה הזו ב-Gemini CLI:

Deploy this agent app to cloud run on google cloud using the cloud-run MCP server.
Use project raju-shop-agent in us-central1 region.
Name the service raju-agent.
IMPORTANT: Make sure to allow unauthenticated invocations so my frontend can talk to it.

יכול להיות שתתבקשו לאשר את השימוש בכלי cloud-run ב-CLI. מקישים על Enter (או מקלידים y) כדי לאשר.

ממתינים שהקסם יקרה: התהליך יימשך 2-3 דקות. בסיום, תופיע הודעת הצלחה כמו זו:

 I've successfully deployed your agent app to Cloud Run.

  Service Details:
   * Service Name: raju-agent
   * Project: raju-shop-agent
   * Region: us-central1
   * URL: https://raju-agent-xyz123-uc.a.run.app
   * Console: View in Google Cloud Console (...)

5. אימות הפריסה

אחרי שהפריסה תושלם, Gemini CLI יספק כתובת URL של שירות. מעתיקים את כתובת ה-URL הזו.

בדיקת הדפדפן (האם הוא פעיל?) מדביקים את כתובת ה-URL בדפדפן.

  • הצלחה: אמור להופיע מאמרי העזרה של FastAPI‏ (Swagger UI) או דף נחיתה כללי של ADK. כך תוכלו לוודא ששירות Cloud Run פועל ונגיש.
  • שגיאה: אם מופיעה השגיאה 403 Forbidden, יכול להיות ששכחתם לאפשר 'קריאות לא מאומתות' בהנחיה לפריסה.

בשלב הבא נבדוק את הלוגיקה של המיקוח בפועל על ידי בניית קצה קדמי מתאים.

סיכום

בשלב הזה, פרסתם את הבק-אנד של הסוכן ב-Google Cloud Run באמצעות תוסף ל-Gemini CLI, כך שאפשר לגשת אליו באמצעות כתובת URL ציבורית.

בשלב הבא, נבנה חנות יפהפייה שבה הלקוחות יוכלו לדבר עם ראג'ו במאמר בניית החנות (ממשק משתמש של קצה קדמי).

9. עיצוב החנות (ממשק משתמש של חזית האתר)

טרמינל טקסט משעמם. אנחנו רוצים חלון ראווה מושך!

הדמיה של ממשק משתמש של חנות

איך ADK API פועל

כדי ליצור ממשק משתמש מותאם אישית, צריך להבין איך מתקשרים עם הקצה העורפי של הנציג. התהליך כולל שני שלבים:

  1. הפעלת סשן: לפני שמתחילים בצ'אט, צריך ליצור מזהה סשן (כמו עגלת קניות).
    • POST /apps/app/users/{user_id}/sessions/{session_id}
  2. שליחת הודעה: כדי לדבר, שולחים את הטקסט לנקודת הקצה של ההרצה.
    • POST /run (המטען הייעודי כולל appName,‏ userId,‏ sessionId וגם את text).
  3. מידע נוסף: אפשר לעיין במסמכי התיעוד של ADK Runtime API ושל Python API Reference.

נשתמש בלוגיקה הזו כדי לבנות את החלק הקדמי של האתר.

יש שתי דרכים ליצור את הממשק הזה:

אם אתם עובדים במחשב המקומי, Google Antigravity היא האפשרות הכי טובה. זהו סביבת פיתוח משולבת (IDE) מבוססת-AI שמאפשרת לכם "לכתוב קוד בהשראה" לכל ממשק המשתמש.

1. הורדה והתקנה

מורידים את קובץ ההתקנה של מערכת ההפעלה מדף ההורדה של Google Antigravity ומתקינים אותו.

2. פתיחת Workspace

מפעילים את Antigravity. פותחים את התיקייה raju-shop כWorkspace. כך ה-AI מקבל הקשר לגבי הפרויקט כולו.

3. יצירת ממשק המשתמש באמצעות Agent Manager

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

  1. מחפשים את ממשק הצ'אט של Agent Manager (בדרך כלל בצד שמאל).
  2. מדביקים את ההנחיה הבאה בצ'אט:
Create a single file HTML chat interface named `index.html`. It should have a colorful header that says 'Raju's Royal Artifacts'. It should look like an Indian market stall with orange and pink colors.

**Backend Integration:**
The chat should send messages to my deployed agent at: <YOUR_DEPLOYED_AGENT_URL>

**API Logic:**
1. **On Load:** Generate a random userId and sessionId. Call `POST /apps/app/users/{userId}/sessions/{sessionId}` to initialize.
2. **On Send:** Call `POST /run` with a JSON payload containing `appName: "app"`, `userId`, `sessionId`, and `newMessage: { role: "user", parts: [{ text: userInput }] }`.
3. **Display:** Show the user's message and the agent's response (from `content.parts[0].text`).

(חשוב להחליף את כתובת ה-URL של ה-פלייסהולדר בכתובת ה-URL של השירות בפועל מהשלב של הפריסה!)

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

4. בדיקת חזית החנות

ל-Google Antigravity יש יכולות תצוגה מקדימה מובנות. לוחצים על לחצן 'תצוגה מקדימה' (לרוב סמל של עין) כדי לראות את חלון הראווה של החנות בפועל. אפשר גם להריץ אותו באופן מקומי באמצעות python3 -m http.server 8000.

אפשרות 2: Gemini CLI (תואם ל-Cloud Shell)

אם אתם ב-Cloud Shell, אתם יכולים להשתמש ב-Gemini CLI כדי ליצור את חזית האתר תוך שניות.

מריצים את הפקודה הבאה במסוף:

gemini "Create a single file HTML chat interface named index.html. Header: 'Raju\'s Royal Artifacts', Indian market theme (orange/pink). Backend: <YOUR_DEPLOYED_AGENT_URL>. Logic: On load, generate random user/session IDs and POST to /apps/app/users/{uid}/sessions/{sid}. On chat, POST to /run with appName='app', userId, sessionId, and newMessage structure. Parse the JSON response to show the agent text." > index.html

(חשוב להחליף את

עם כתובת ה-URL בפועל של Cloud Run!)

סיכום

בשלב הזה השתמשתם ב-Google Antigravity כדי ליצור קוד של קצה קדמי מותאם אישית ב-HTML שמתחבר לבק-אנד של נציג התמיכה הפעיל.

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

10. פתיחה חגיגית (פריסת חזית האתר)

ראג'ו מחובר לאינטרנט (בק-אנד), אבל לחנות שלו נדרשת כתובת ציבורית (בקצה הקדמי)! מבקשים מ-Google Antigravity לפרוס את ממשק המשתמש שלנו בענן.

פריסת קצה קדמי

1. מבקשים מ-Agent Manager לפרוס

אין צורך לצאת מה-IDE. פשוט מבקשים מסוכן ניהול הפריסה לטפל בפריסה בשבילכם.

מדביקים את הפרומפט הזה בצ'אט:

‫"Deploy my index.html as a static website to Google Cloud Run. נותנים לשירות את השם raju-shop-frontend. מוודאים שהקובץ נגיש לכולם".

2. צפייה בקסם

הנציג/ה כנראה:

  1. יוצרים Dockerfile או הגדרה להצגת קבצים סטטיים (למשל באמצעות nginx או python).
  2. יוצרים את תמונת הקונטיינר.
  3. להריץ את הפקודה gcloud run deploy בשבילכם.

3. כדאי לבקר בחנות שלך!

בסיום התהליך, הסוכן ייתן לכם כתובת URL (לדוגמה, https://raju-shop-frontend-xyz.run.app). לוחצים עליו.

מזל טוב! עכשיו יש לכם אפליקציה של מוכר מבוססת-AI שמתמקחת עם לקוחות. אתם יכולים לשלוח את הקישור לחברים ולראות אם הם יצליחו לקבל הנחה.

סיכום

בשלב הזה השתמשתם ב-Antigravity Agent Manager כדי להוסיף את אפליקציית הקצה הקדמי שלכם לקונטיינר ולפרוס אותה ב-Cloud Run.

סיימתם לבנות את הפול סטאק! בסיום, נסכם את הדברים בשעת הסגירה (מסקנה).

11. שעת סגירה (סיום)

המשימה הושלמה

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

סיכום הנסיעה שלך:

  • Google Cloud: הגדרתם את הפרויקט ואת החשבון לחיוב, ופרסתם את הסוכן ב-Cloud Run.
  • Gemini 3: המוח החכם שמפעיל את האישיות של ראג'ו ואת כישורי המיקוח שלו.
  • Agent Development Kit (ADK): מסגרת שסיפקה בסיס מוכן לייצור עם יכולות מובנות של ניטור (טלמטריה), כדי שהסוכן יהיה חזק כבר מהיום הראשון.
  • Gemini CLI: עוזר שורת הפקודה לביצוע מהיר של משימות, לבדיקות ולהרחבות.
  • Google Antigravity: סביבת פיתוח משולבת (IDE) מהדור הבא שבה אפשר 'לכתוב קוד בהנאה' לממשק המשתמש ולתזמן פריסה.

השלבים הבאים ל-Digital Dukaan:

  • תיקון הבדיקות שנכשלו: שיניתם את הקוד, אבל מה עם הבדיקות? הבדיקות שמוגדרות כברירת מחדל (tests/unit/test_agent.py) עדיין מחפשות את מזג האוויר. אפשר להשתמש ב-Gemini CLI כדי לעדכן אותם באופן אוטומטי. אפשר לנסות: gemini "Update the tests in tests/unit/test_agent.py to test the new check_inventory tool instead of weather."
  • מלאי דינמי: עדכון אוטומטי של כמויות המלאי של Raju כשפריט מסוים נמכר. האם תוכל להוסיף לוגיקה להקטנת stock במילון INVENTORY אחרי רכישה מוצלחת?
  • כלי Payment Gateway: הטמעה של כלי מוק process_payment. אחרי שראג'ו יסגור עסקה, הוא יוכל להתקשר באמצעות הכלי הזה.
  • מידע נוסף על Antigravity: אפשר לקרוא על Agent Manager ועל Workspaces של Antigravity. אפשר לבקש מהנציג לשפר את index.html כדי להציג קבלה בזמן אמת?
  • שיתוף החנות: החנות של ראג'ו פעילה באינטרנט! שתפו את כתובת ה-URL של הקצה הקדמי עם חברים ובדקו אם הם יכולים לקבל מבצע טוב יותר משלכם.

משאבים

12. הסרת המשאבים

כדי להימנע מחיובים מיותרים בחשבון Google Cloud על המשאבים שבהם השתמשתם ב-codelab הזה, פועלים לפי השלבים הבאים.

1. ביטול הפריסה של שירותים ב-Cloud Run (אופציונלי, לחיסכון בעלויות)

אם אתם רוצים להפסיק את החיובים הפוטנציאליים שקשורים לשירותים שפרסתם, אבל להשאיר את הפרויקט ואת ההגדרות האחרות ללא שינוי, אתם יכולים לבטל פריסה של שירותי Cloud Run.

פותחים את הטרמינל של Cloud Shell (או טרמינל מקומי) ומריצים את הפקודות הבאות של gcloud:

# Undeploy the backend agent

gcloud run services delete raju-agent --region us-central1

# Undeploy the frontend shop (if you deployed it)

gcloud run services delete raju-shop-frontend --region us-central1

2. מחיקת פרויקט ב-Google Cloud (הפסקת כל העלויות)

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

  1. נכנסים אל דף הפרויקטים במסוף Google Cloud.
  2. בוחרים את הפרויקט (raju-shop-agent) ולוחצים על מחיקה.
  3. פועלים לפי ההנחיות כדי לאשר את מחיקת הפרויקט.