1. מבוא
בשיעור ה-Lab הזה תתרגלו מיומנויות פיתוח מודרניות באמצעות תיאום של Antigravity כדי ליצור אפליקציה מלאה מבוססת-ענן. בנוסף, תלמדו איך להשתמש ב-MCP של Developer Knowledge ובכישורי סוכן כדי לשפר את הידע של הסוכן ואת איכות הפלט.
אנחנו יוצרים את "מערכת משלוח החתולים", אפליקציה שמייצרת תמונות של חתולים באמצעות Gemini 3.1 Flash Image, שנקרא גם Nano Banana 2. הקצה העורפי של האפליקציה יפותח באמצעות Antigravity SDK וייפרס ל-Cloud Run. אנחנו גם ניצור קצה קדמי מודרני באמצעות lit ו-vite. כל זה בלי לכתוב שורת קוד אחת באופן ידני.
מה תלמדו
- איך עובדים עם Antigravity CLI במצב מהיר ובמצב תכנון
- איך מעניקים ל-Antigravity גישה לתיעוד למפתחים של Google באמצעות שרת ה-MCP של Developer Knowledge
- איך מתקינים יכולות מותאמות אישית ב-Antigravity CLI
- איך משתמשים ב-Antigravity כדי לפרוס ולבדוק אפליקציות
דרישות מוקדמות
- ניסיון בשימוש בטרמינל
- קריאה והבנה של קוד
- ידע בסיסי בסוכני AI לכתיבת קוד
- הבנה בסיסית של מושגי ענן
2. הגדרה
כדי לאתחל את הפרויקט ב-Google Cloud שנדרש ל-Codelab הזה, פועלים לפי ההוראות הבאות. אחרי שמפעילים את הפרויקט, מומלץ להריץ את ה-Codelab ב-Cloud Shell, כי הוא כולל את כל הכלים שצריך כדי להריץ אותו.
אם אתם מעדיפים להריץ את שיעור ה-Codelab הזה בסביבה המקומית שלכם, תצטרכו להתקין את Python, uv ועורך קוד לפני שתמשיכו. כל ההוראות ב-codelab הזה מניחות שאתם מריצים אותו ב-Cloud Shell, אלא אם צוין אחרת.
הגדרת סביבה בקצב עצמי
- נכנסים ל-מסוף Google Cloud ויוצרים פרויקט חדש או משתמשים בפרויקט קיים. אם עדיין אין לכם חשבון Gmail או Google Workspace, אתם צריכים ליצור חשבון.



- שם הפרויקט הוא השם המוצג למשתתפים בפרויקט. זו מחרוזת תווים שלא נמצאת בשימוש ב-Google APIs. תמיד אפשר לעדכן את המיקום.
- מזהה הפרויקט הוא ייחודי לכל הפרויקטים ב-Google Cloud ואי אפשר לשנות אותו אחרי שהוא מוגדר. מסוף Cloud יוצר באופן אוטומטי מחרוזת ייחודית, ובדרך כלל לא צריך לדעת מה היא. ברוב ה-Codelabs, תצטרכו להפנות למזהה הפרויקט (בדרך כלל מסומן כ-
PROJECT_ID). אם אתם לא אוהבים את המזהה שנוצר, אתם יכולים ליצור מזהה אקראי אחר. אפשר גם לנסות כתובת משלכם ולבדוק אם היא זמינה. אי אפשר לשנות את ההגדרה הזו אחרי השלב הזה, והיא נשארת לאורך הפרויקט. - לידיעתכם, יש ערך שלישי, מספר פרויקט, שחלק מממשקי ה-API משתמשים בו. מידע נוסף על שלושת הערכים האלה מופיע במאמרי העזרה.
- בשלב הבא, תצטרכו להפעיל את החיוב במסוף Cloud כדי להשתמש במשאבי Cloud או בממשקי API של Cloud. השלמת ה-codelab הזה לא תעלה לכם הרבה, אם בכלל. כדי להשבית את המשאבים ולמנוע חיובים נוספים אחרי שתסיימו את המדריך הזה, תוכלו למחוק את המשאבים שיצרתם או למחוק את הפרויקט. משתמשים חדשים ב-Google Cloud זכאים לתוכנית תקופת ניסיון בחינם בשווי 300$.
הפעלת Cloud Shell
אפשר להפעיל את Google Cloud מרחוק מהמחשב הנייד, אבל ב-Codelab הזה נשתמש ב-Google Cloud Shell, סביבת שורת פקודה שפועלת בענן.
ב-מסוף Google Cloud, לוחצים על סמל Cloud Shell בסרגל הכלים שבפינה הימנית העליונה:

הקצאת המשאבים והחיבור לסביבה יימשכו רק כמה רגעים. בסיום התהליך, אמור להופיע משהו כזה:

המכונה הווירטואלית הזו כוללת את כל הכלים שדרושים למפתחים. יש בה ספריית בית בנפח מתמיד של 5GB והיא פועלת ב-Google Cloud, מה שמשפר מאוד את הביצועים והאימות ברשת. אפשר לבצע את כל העבודה ב-codelab הזה בדפדפן. לא צריך להתקין שום דבר.
3. הגדרה ואימות של Antigravity CLI
בשיעור ה-Lab הזה תעבדו עם Antigravity (AGY). סוכן התכנות של Google שמשתמש במודלים של Gemini מבית Google כדי לעזור לכם ליצור תוכנה. יש אפליקציית מחשב של AGY, ממשק שורת פקודה (AGY CLI) וסביבת פיתוח משולבת (IDE) שמאפשרים לכם לראות ולערוך קוד יחד עם הסוכן. בשיעור ה-Lab הזה נשתמש בממשק AGY CLI.
בנוסף, יש גם SDK ליצירת סוכני Antigravity משלכם למטרות כלליות באמצעות מעטפת אג'נטית של Antigravity (אפשר לחשוב על המעטפת האג'נטית כמנוע של Antigravity).
הפעלת AGY ואימות
לוחצים על הלחצן Open editor (פתיחת העורך) כדי לפתוח את Cloud Shell Editor.

אחרי שפותחים את העורך, אפשר להגדיל את החלון באמצעות לחצן ההגדלה בסרגל התפריטים:

פותחים את חלונית הטרמינל באמצעות התפריט Terminal > New Terminal או באמצעות מקש הקיצור Ctrl+` (מקש Ctrl בתוספת מקש הגרש):

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

לאחר מכן, בטרמינל, יוצרים ספריית עבודה לתרגיל הראשון ועוברים אליה:
mkdir -p ~/hello-agy && cd ~/hello-agy
בטרמינל הזה, מקלידים agy כדי להפעיל את Antigravity CLI:
agy
אחרי שagy יופעל, תופיע בקשה לבצע אימות. בוחרים באפשרות שימוש בפרויקט בענן:

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

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

לבסוף, בוחרים במיקום Google Cloud global:

יצירת סקריפט מהיר להצגת עובדות מעניינות על חתולים
עכשיו ניצור סקריפט קצר כדי להבין איך פועל ה-CLI של AGY.
מבקשים מ-AGY לכתוב סקריפט קצר שמחזיר עובדות על חתולים, ומפעילים אותו:
Write a simple node script that returns cat trivia and run it for me
AGY יחשוב כמה רגעים ויכתוב את התסריט בשבילכם.
כש-AGY מבקש הרשאה להריץ את סקריפט הצומת, בוחרים באפשרות Yes ומקישים על Enter.
כך נראתה בקשת ההרשאה:
Requesting permission for: node cat-trivia.js Do you want to proceed? > 1. Yes 2. Yes, and always allow in this conversation for commands that start with 'node cat-trivia\.js' 3. Yes, and always allow for commands that start with 'node cat-trivia\.js' (Persist to settings.json) 4. No
אחרי שהסקריפט מופעל, AGY מספק סיכום של הפעולות שהוא ביצע. זה מה שהוא אמר לי:
I have created and executed a simple Node.js script that returns cat trivia.
### Created File
• cat-trivia.js: A standalone Node.js script that fetches random cat facts from a public API ( https://catfact.ninja/fact ) with built-in fallbacks and ASCII art.
### Execution Output
Running the script using node cat-trivia.js produced the following output:
_._ _,-'""`-._
(,-.`._,'( |\`-/|
`-.-' \ )-`( , o o)
`- \`_`"'-
🐱 Here is your Cat Trivia:
----------------------------------------
"In 1987 cats overtook dogs as the number one pet in America."
----------------------------------------
אהבתי שהוא אפילו הוסיף לי ציור ASCII של חתול.
עכשיו, יכול להיות שתרצו לקבל מידע נוסף על מה שהיא יצרה בשבילכם. אפשר לפתוח את העורך ולבדוק את קוד המקור (מומלץ לעשות זאת), אבל אפשר גם לבקש מ-AGY להוסיף הערות לקוד ולהסביר אותו:
Explain the code you generated please
תקרא את ההסבר ותשאל שאלות המשך אם תרצה לדעת עוד.
לבסוף, כדי לסיים את המשימה הזו, סוגרים את agy על ידי הקשה על Ctrl+D פעמיים.
4. חיבור למסמכי מפתחים של Google וביצוע שאילתות
הסוכנים והמודלים משתכללים מיום ליום, אבל איכות התשובות תלויה מאוד בדיוק של הידע שלהם ובמידת העדכניות שלו. לכן חשוב לתת לסוכן כלים לאחזור מסמכי מפתחים עדכניים ממקור מהימן, כדי שהוא לא יקבל החלטות שגויות על סמך ידע פנימי או ניחושים.
שרת ה-MCP של Google Developer Knowledge מאפשר לסוכני תכנות לחפש במסמכי התיעוד הרשמיים של Google למפתחים בנושא Firebase, Google Cloud, Android, Maps ועוד מוצרים רבים של Google.
כשמקשרים את הסוכן ישירות לספריית התיעוד הרשמית של Google, מוודאים שהקוד וההנחיות שבהם הוא משתמש עדכניים ומבוססים על הקשר מהימן.
כדי להתחיל, מפעילים את Developer Knowledge API:
gcloud services enable developerknowledge.googleapis.com
הגדרה וקביעת הגדרות של שרת ה-MCP של Developer Knowledge
כדי ליצור את סביבת העבודה לפרויקט הזה ולהגדיר את שרת ה-MCP של Developer Knowledge ל-Antigravity:
קבצי ההגדרות של Antigravity עבור המשתמש שלכם מאוחסנים בתיקייה .gemini בספריית הבית. הדיאגרמה שלמטה מציגה גרסה פשוטה של הממשק עם הרכיבים העיקריים שמופיעים בו:
~/.gemini
├── antigravity/
├── antigravity-cli/
│ ├── brain/ # Conversations and artifacts
│ └── settings.json # CLI settings
├── config/
│ ├── plugins/ # Global / shared plugins
│ └── mcp_config.json # Global / shared MCP config
├── skills/ # Global / shared skills
│ └── {skill_name}/
│ ├── SKILL.md # Skill definition
│ └── ... # [optional] support files, scripts, etc.
└── GEMINI.md # Global rules
כדי להוסיף את שרת ה-MCP של Developer Knowledge ל-AGY CLI, עורכים את הקובץ mcp_config.json בתיקייה ~/.gemini/config.
קודם כול, מוודאים שתיקיית ההגדרות קיימת ויוצרים קובץ mcp_config.json ריק:
mkdir -p ~/.gemini/config && touch mcp_config.json
לאחר מכן פותחים את הקובץ הזה ב-Cloud Shell Editor באמצעות הפקודה הבאה:
cloudshell edit ~/.gemini/config/mcp_config.json
בסוף, מוסיפים את ההגדרה הבאה ל-mcp_config.json. חשוב להחליף את [[PROJECT_ID]] במזהה הפרויקט בפועל. מזהה הפרויקט מופיע בחלונית הצדדית של ההוראות האלה.
~/.gemini/config/mcp_config.json
{
"mcpServers": {
"google-developer-knowledge": {
"url": "https://developerknowledge.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"timeout": 30000,
"headers": {
"X-goog-user-project": "[[PROJECT_ID]]"
}
}
}
}
עכשיו אפשר לבדוק אם שרת ה-MCP נטען בצורה תקינה באמצעות הפקודה דרך שורת הפקודות /mcp. אתם אמורים לראות משהו כזה:

ה-MCP של Developer Knowledge מוגדר, ועכשיו נראה אותו בפעולה.
יצירת סקריפט ליצירת תמונות של חתולים באמצעות Nano Banana 2
כדי להציג את היכולות של MCP Developer Knowledge, ניצור סקריפט פשוט שמייצר תמונות של חתולים באמצעות Nano Banana 2.
תצטרכו להריץ את הפקודות הבאות בטרמינל. כדי לסגור את agy ולחזור אל המעטפת, לוחצים פעמיים על Ctrl+D.
קודם צריך להפעיל את AI Platform API. זהו ה-API שמאפשר לפרויקט לבצע קריאות ל-Gemini API:
gcloud services enable aiplatform.googleapis.com
יוצרים סביבת עבודה בשביל מחולל הגורים:
mkdir -p ~/nano-banana-kitten && cd ~/nano-banana-kitten
מאתחלים את מנהל התלות:
uv init
מפעילים את Antigravity ומזינים את ההנחיה הבאה:
Write a script that uses Nano Banana 2 through Vertex AI to generate a picture of a cute kitten, and run the script for me. Use the google-developer-knowledge MCP when researching.
מקישים על Ctrl+O כדי להרחיב את שלבי הביניים של תהליך החשיבה ולקרוא אותם. אפשר לראות את AGY משתמש בשירות google-developer-knowledge כדי לשלוח שאילתות, לכתוב תסריט, להריץ אותו בשבילכם ולתקן שגיאות שהוא מוצא.
הצגת תמונת החתול =^_^=

5. יצירת סוכן למשלוח חתולים
ה-MCP של Google Developer Knowledge שימושי למענה על שאלות באמצעות התיעוד הרשמי, אבל לפעמים המידע שאנחנו צריכים הוא מאוד ספציפי ולא ניתן למצוא אותו במסמכים. במקרים כאלה, אפשר להשתמש בתקן פתוח אחר: Agent Skills.
כישורי סוכן הם פורמט קל משקל ופתוח להרחבת היכולות של סוכני AI באמצעות ידע ותהליכי עבודה מיוחדים. המאפיין המגדיר של מיומנות הוא מה שנקרא חשיפה הדרגתית: במקום לטעון את כל תוכן המיומנות מההתחלה, הסוכן יפעיל את המיומנות רק כשצריך, יטען את המידע הנדרש לפי דרישה ויחסוך טוקנים יקרים.
כדי להשלים את סוכן משלוח החתולים, נשתמש ב-Antigravity SDK כמעטפת האג'נטית שלנו. כדי לצמצם את החיכוך ולייעל את ההטמעה של סוכן התכנות, נשתמש גם במיומנות הרשמית של Antigravity SDK.
יצירת סביבת עבודה והתקנת יחסי תלות
קודם יוצרים תיקייה לפרויקט הסופי:
mkdir -p ~/cat-delivery && cd ~/cat-delivery
אחר כך משתמשים במנהל החבילות uv כדי לאתחל את התיקייה הזו ולהתקין כמה יחסי תלות:
uv init && uv add fastapi uvicorn
התקנה של AGY SDK Python skill
כדי להתקין מיומנויות מקוד מקור ומחנויות אפליקציות פתוחות, אפשר להשתמש ב-Skill CLI של Vercel. מריצים את הפקודה הבאה במסוף כדי להתקין את מיומנות google-antigravity-sdk. מוודאים שהסקריפט מופעל מתיקיית סביבת העבודה של ה-Labs (~/cdslab)
npx skills add Google-Antigravity/antigravity-sdk-python --skill google-antigravity-sdk --agent antigravity-cli --yes
הפלט של הפקודה הזו אמור להיראות כך:

שימו לב שהפקודה npx skills add Google-Antigravity/antigravity-sdk-python שכפלה אוטומטית את המאגר antigravity-sdk-python מ-GitHub. אפשר להשתמש בפקודה הזו כדי להתקין מיומנויות מכל מאגר GitHub, כל עוד יש בו תיקייה בשם skills.
התקנת יכולות מפלאגינים
דרך נוספת להתקין מיומנויות היא באמצעות מערכת הפלאגינים. תוספים ב-Antigravity מאפשרים לכם לכלול באותו חבילה לא רק מיומנויות, אלא גם שרתי MCP, כללים ו-hooks. הן שימושיות ליצירת תוספים מגובשים בחבילת פריסה אחת.
מכיוון שאנחנו יוצרים אפליקציית אינטרנט, מתקינים את התוסף modern-web-guidance באמצעות הפקודה הבאה:
agy plugin install https://github.com/GoogleChrome/modern-web-guidance
התוסף הזה כולל מיומנות שמכילה שיטות מומלצות לפיתוח אתרים שנכתבו על ידי צוות Google Chrome.
מפעילים שוב את agy כדי לראות את הכישורים האלה בפעולה. בהנחיה של agy, מקלידים /skills כדי לפתוח את תפריט המיומנויות:
/skills
יוצג לכם משהו כזה:

עכשיו, אחרי שהגדרנו את הכישורים של ה-MCP והסוכן, Antigravity מוכן לעבוד על הפרויקט שלנו עם כל המידע שהוא צריך כדי להצליח.
תכנון האפליקציה
ל-Antigravity יש שני מצבי פעולה: מהיר ותכנון. במצב מהיר, Antigravity יתחיל לעבוד על המשימה באופן מיידי, והוא מיועד למשימות פשוטות ועצמאיות. מצב התכנון מיועד למשימות מורכבות. במצב הזה, הסוכן יפרט קודם תוכנית שאפשר לבדוק ולשנות לפני שמתחילים בביצוע.
כדי להפעיל את מצב התכנון, אפשר להשתמש בפקודה דרך שורת הפקודות: /planning
/planning
אפשר לחזור למצב מהיר באמצעות /fast:
/fast
כשעוברים בין מצב תכנון למצב מהיר, יכול להיות שיהיה שימושי גם להחליף מודלים. אפשר לעשות את זה באמצעות הפקודה /model:
/model
יכול להיות שרשימת המודלים הזמינים תהיה שונה מעט בהתאם לסביבה ולמצב האימות שלכם:

לצורך המדריך הזה, בוחרים באפשרות Gemini 3.5 Flash (נמוך). המילה 'נמוך' בסוגריים מציינת את רמת החשיבה של המודל. Gemini 3.5 Flash עם Low thinking הוא מודל מהיר ויעיל מאוד עם כלכלה טובה של טוקנים. אם בוחרים ברמת חשיבה בינונית או גבוהה, המודל ישקיע יותר טוקנים וזמן בהסקת מסקנות לפני שהוא יחזיר תשובה.
לדוגמה, בתרחישים בעולם האמיתי, אפשר להשתמש במודל הכי מתקדם ברמת חשיבה גבוהה לתכנון, ובמודל מהיר יותר ליישום. אבל בשביל הפרויקט שלנו, Gemini 3.5 Flash (Low) מספיק.
יצירת התוכנית
כדי לחזור למצב תכנון ב-Antigravity:
/planning
לאחר מכן שולחים את ההנחיה הבאה כדי ליצור את תוכנית ההטמעה:
Create an application named "Cat Delivery System". This application will be an agent that generates cat pictures using Gemini 3.1 Flash Image (aka Nano Banana 2). The user will interact with the agent whenever it feels the need for a cat picture in their life, whether it be to make them smile, laugh or just brighten their day. Cat pictures can take any form the user desires: anime, cartoon, photorealistic, 3D render, etc. The only rule is ABSOLUTELY NO DOGS - steer the user towards cats if necessary. P.S.: capybaras are allowed.
The tech stack should be as follows:
- uv package manager
- Backend: agent using Antigravity SDK
- Frontend: simple chat window, light mode, lit / vite
- Model: Gemini 3.5 Flash for the root agent, Gemini 3.1 Flash Image for image generation
TODO:
- backend should serve a static frontend
- define the contract between frontend and backend before starting implementation
- use Google Cloud Project auth
בשלב המחקר, יכול להיות ש-Antigravity יפעיל גם את ה-MCP של הידע למפתחים וגם מיומנות אחת או יותר:

אחרי שהתוכנית תהיה מוכנה, תתבקשו לבדוק אותה:

שימו לב לפינה השמאלית התחתונה של המסך: מופיעה הודעה שאומרת 1 artifact ורמז לשימוש במקש /artifact כדי לבדוק. ב-Antigravity, קבצים תומכים כמו תוכניות, רשימות משימות ומדריכים נקראים 'ארטיפקטים' כדי להבדיל אותם מקבצים רגילים שמהווים חלק מהפתרון (למשל, קוד מקור).
אם מזינים את הפקודה /artifact בהנחיה, אפשר לראות את התוכנית ולהוסיף לה תגובות אם צריך לבצע בה שינויים.
/artifact
אתם אמורים לראות משהו כזה:

שימו לב שיש קובץ בשם implementation_plan.md עם האפשרויות לפתוח, לאשר או לדחות. מקישים על Enter כדי לפתוח אותו. דוגמה לאופן שבו התוכנית נראית במערכת שלי:

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

מוסיפים תגובות לתוכנית עד שמרוצים ממנה, ואז לוחצים על ESC כדי לחזור. לאחר מכן לוחצים על Y כדי לאשר את שליחת ההערות לסוכן:

אחרי שתלחצו על Y, הנציג יתחיל לעבוד באופן מיידי. יכול להיות שהסוכן יבקש עוד אישורים לשימוש בכלים ככל שיתקדם בהטמעה.
יכול להיות שתבחינו שמספר החפצים יגדל עם הזמן. בנוסף לתוכנית, Antigravity יוצרת גם רשימת משימות (task.md) כדי לעקוב אחרי כל פריט שהיא צריכה להטמיע או פעולה שהיא צריכה לבצע. בסיום, היא יוצרת קובץ הדרכה (walkthrough.md) עם הסבר על היעדים שהושגו. אפשר לבדוק את כל המאפיינים האלה באמצעות הפקודה /artifact.

בכל שלב אפשר לפתוח את הקבצים האלה ולהוסיף להם הערות. כשתשלחו אותם לנציג, הם יתווספו לתור לביצוע, בדיוק כמו הנחיה שנוספה לתור. מומלץ להוסיף הערות לקבצים האלה כדי לספק לסוכן הקשר הקשר נוסף לגבי הבקשה שלכם.
6. פריסת הסוכן בענן
עכשיו אפשר לפרוס אותה בענן באמצעות Cloud Run. מכיוון שהמשימה הזו לא דורשת תוכנית מורכבת, אפשר להשתמש במצב מהיר.
כדי להעביר את Antigravity למצב מהיר, לוחצים על /fast:
/fast
כדי להנחות את Antigravity לפרוס את סוכן ה-CDS ב-Cloud Run, משתמשים בהנחיה הבאה:
Deploy the agent and frontend to Cloud Run.
TODO:
- backend should serve a static frontend
- frontend and backend are deployed in the same container
Acceptance Criteria
- Agent is deployed to cloud run
- Frontend is live and renders with no errors
- Backend is live and responds to requests with no errors
7. מעולה!
בסדנה הזו תרגלתם פיתוח מודרני באמצעות Antigravity, כולל איך להרחיב את היכולות שלו באמצעות שרתי MCP וכישורי סוכן. בנוסף, יצרתם אפליקציה מלאה שמבוססת על Antigravity SDK ועל Gemini 3.1 Flash Image. המסע שלכם ללימודים לא צריך להסתיים כאן: כדאי לעיין ב-codelabs אחרים בפלטפורמה הזו ולהמשיך לפתח את כישורי התכנות שלכם באמצעות סוכנים.