פיתוח מבוסס-מפרט באמצעות Antigravity CLI – תהליכי עבודה מובנים של סוכנים עם כישורים ו-MCP

1. מבוא

יצירת MVP באמצעות קוד היא מהירה, אבל הוספת תכונות על ידי שליחת עוד הנחיות היא הדרך שבה פרויקטים נכשלים. אתם צריכים דרך להוסיף מבנה והקשר מהעולם האמיתי לפיתוח בעזרת AI. כאן נכנס לתמונה Antigravity CLI – סוכן AI לקידוד שפועל בטרמינל. הוא יכול להבין את בסיס הקוד, להריץ פקודות ולערוך קבצים. העוצמה האמיתית שלו נובעת ממה שמחברים אליו:

  • מיומנויות מספקות לסוכן מתודולוגיה וידע בתחום – מיומנות מתודולוגית אוכפת תהליכי פיתוח מובנים, ומיומנות בתחום מספקת ידע מדויק ב-API כדי שהסוכן לא יהזה.
  • שרתי MCP מספקים לסוכן חיבורים בזמן אמת למערכות חיצוניות, ומאפשרים לו לבדוק סכימות אמיתיות, להריץ שאילתות ולאמת את העבודה שלו מול נתונים בפועל, במקום להסתמך על ידע אימון ישן.

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

מה תפַתחו

הדפוסים שמוצגים ב-Codelab הזה – התקנת מיומנויות לשימוש במתודולוגיה ובידע בתחום, חיבור שרתי MCP לגישה לנתונים בזמן אמת והרצת מחזור פיתוח מבוסס-מפרט – רלוונטיים לכל תכונה שיוצרים באמצעות Antigravity CLI, ללא קשר לשפה, למסגרת או למוצרי Google Cloud. כדי להמחיש את הדפוסים האלה, נשתמש בדוגמה ספציפית: הוספת שילוב של BigQuery ללוח בקרה של ניתוח נתונים של מסחר אלקטרוני.

אפליקציית המתחילים היא אפליקציית אינטרנט של FastAPI שקוראת נתוני מכירות מקובצי CSV סטטיים ומציגה תרשימים (מגמות הכנסות, מוצרים מובילים, פירוט של סטטוס ההזמנה, ביצועים לפי קטגוריה). בסיום, האפליקציה שולחת שאילתות לנתונים בזמן אמת מ-BigQuery – מחסן הנתונים (data warehouse) של Google Cloud במודל ללא שרת (serverless), שמאפשר להריץ שאילתות SQL על מערכי נתונים גדולים בלי לנהל תשתית. במילים אחרות, אתם מתחברים לthelook_ecommerce מערך הנתונים, וכך מקבלים גישה לקטלוג המלא של הזמנות, מוצרים ולקוחות, שלא ניתן לקבל באמצעות קובץ CSV עם 500 שורות. אתם יוצרים את התכונה הזו לגמרי דרך Antigravity CLI, בעזרת מיומנויות ו-MCP.

5acdeb09cd9d5960.png

הגדרת הסוכן שבה נשתמש עם Antigravity CLI תיראה כך

5e3dd8629e65e6ce.png

מה תלמדו

  • איך משתמשים ב-Antigravity CLI ב-Cloud Shell – הפעלה, ניווט בממשק המשתמש מבוסס-הטקסט והרצת פקודות עם לוכסן
  • מהן מיומנויות של סוכנים ואיך דפוס החשיפה ההדרגתית (מטא-נתונים → הוראות → משאבים) שומר על הקשר בצורה יעילה
  • שלוש קטגוריות של כישורים: מתודולוגיה (כוחות על), יעילות (איש מערות) וידע בתחום (google/skills)
  • מהו MCP ואיך מגדירים שרת MCP מרוחק (BigQuery MCP) ל-Antigravity CLI
  • איך מריצים מחזור פיתוח מבוסס-מפרט: הגדרה ← תכנון ← הטמעה
  • (אופציונלי) איך פועלים סוכני משנה ב-Antigravity CLI ואיך מנהלים אותם
  • איך משלבים את ספריית הלקוח של Python‏ google-cloud-bigquery באפליקציית FastAPI
  • (אופציונלי) איך פורסים את האפליקציה ב-Cloud Run באמצעות Antigravity CLI עם מיומנות דומיין

דרישות מוקדמות

  • חשבון Google Cloud
  • היכרות בסיסית עם Python, ממשקי API ל-REST ופקודות בטרמינל

2. הגדרת הסביבה

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

פתיחת Cloud Shell

פותחים את Cloud Shell בדפדפן. ‫Cloud Shell מספקת סביבה שהוגדרה מראש עם כל הכלים שדרושים ל-Codelab הזה. כשמוצגת בקשה, לוחצים על Authorize

אחר כך לוחצים על View (תצוגה) -> Terminal (טרמינל) כדי לפתוח את הטרמינל.הממשק אמור להיראות בערך כך:

86307fac5da2f077.png

זה יהיה הממשק הראשי שלנו, סביבת הפיתוח המשולבת (IDE) בחלק העליון והטרמינל בחלק התחתון

הגדרת ספריית העבודה

משכפלים את מאגר הקוד הנלווה שמכיל את קוד לתחילת הדרך של ה-Codelab הזה:

git clone https://github.com/alphinside/sdd-agy-bigquery-dashboard.git
cloudshell workspace sdd-agy-bigquery-dashboard && cd sdd-agy-bigquery-dashboard

המאגר הזה מכיל אפליקציית לוח בקרה מלאה ופעילה למסחר אלקטרוני, שקוראת נתונים מקובצי CSV סטטיים. במהלך שיעור ה-Codelab הזה, תשתמשו ב-Antigravity CLI כדי להוסיף שילוב של BigQuery כתכונה חדשה.

800c260f0be6933c.png

הקבצים והספריות של המפתחות:

  • src/main.py — אפליקציית FastAPI עם נקודות קצה של API שמציגות נתונים של לוח בקרה
  • src/data_service.py – שכבת נתונים שקוראת מקובצי CSV באמצעות pandas
  • src/templates/dashboard.html — תבנית Jinja2 עם המחשות של Chart.js
  • data/ — קובצי CSV סטטיים (orders.csv, ‏ products.csv, ‏ order_items.csv) שמכילים קבוצת משנה קטנה של נתונים מסחר אלקטרוני

האפליקציה היא לוח בקרה פשוט לקריאה בלבד: main.py מגדירה נקודות קצה של API, ‏ data_service.py קוראת קובצי CSV ומחזירה נתונים מובנים, וdashboard.html מעבדת את הנתונים האלה לתרשימים. השילוב עם BigQuery שאתם יוצרים מחליף את data_service.py במודול שמריץ שאילתות על נתונים בזמן אמת במקום לקרוא קבצים סטטיים.

הגדרת טרמינל

יצירת פרויקט ב-Google Cloud ( אופציונלי)

כדי ליצור פרויקט חדש, אפשר לעשות זאת מממשק המשתמש של Cloud Console. לשם כך, לוחצים על בורר הפרויקטים בפינה הימנית העליונה ואז על New Project

e2411959f960166b.png

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

PROJECT_ID="sdd-agy-cli-$(openssl rand -hex 5)"
gcloud projects create "$PROJECT_ID"
echo $PROJECT_ID

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

הפעלת הטרמינל

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

gcloud projects list

תוצג רשימה כמו זו שבהמשך. כדאי לזכור או להעתיק את מזהה הפרויקט שבו תשתמשו.

PROJECT_ID: alvin-exploratory-2
NAME: alvin-exploratory-2
PROJECT_NUMBER: 109790610330

עכשיו מריצים את הפקודה הבאה כדי ליצור סקריפט להפעלת הטרמינל ( או פשוט יוצרים את הקובץ הזה בעצמכם)

cloudshell edit configure_terminal.sh

לאחר מכן מעתיקים את הקוד הבא לסקריפט

#!/bin/bash

gcloud config set project YOUR_PROJECT_ID
export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value project)
echo $GOOGLE_CLOUD_PROJECT

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

bash configure_terminal.sh

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

8205fa68a1d749d7.png

הפעלת ממשקי API נדרשים

בשלב הבא נשתמש ב-BigQuery, שקשור לתרחיש לדוגמה שלנו. מפעילים את ממשקי Google Cloud API שנדרשים לשיעור ה-Codelab הזה:

gcloud services enable bigquery.googleapis.com

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

3. הגדרת מערך הנתונים ב-BigQuery

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

כדי לדמות את התהליך הזה, אפשר להשתמש ב-TheLook E-commerce – מערך נתונים ציבורי שמתוחזק על ידי Google ומכיל נתונים סינתטיים ריאליסטיים של מסחר אלקטרוני (מעל 125,000 הזמנות, מעל 29,000 מוצרים). אתם מעתיקים את הטבלאות הרלוונטיות למופע BigQuery של הפרויקט שלכם, כדי שהן ישמשו כ"נתונים של החברה שלכם".

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

יוצרים מערך נתונים בפרויקט:

bq mk --dataset $GOOGLE_CLOUD_PROJECT:thelook_ecommerce

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

bq cp bigquery-public-data:thelook_ecommerce.orders $GOOGLE_CLOUD_PROJECT:thelook_ecommerce.orders
bq cp bigquery-public-data:thelook_ecommerce.order_items $GOOGLE_CLOUD_PROJECT:thelook_ecommerce.order_items
bq cp bigquery-public-data:thelook_ecommerce.products $GOOGLE_CLOUD_PROJECT:thelook_ecommerce.products

מוודאים שהטבלאות נמצאות במערך הנתונים:

bq ls $GOOGLE_CLOUD_PROJECT:thelook_ecommerce

יוצגו שלוש טבלאות: orders,‏ order_items ו-products.

   tableId     Type    Labels   Time Partitioning   Clustered Fields  
 ------------- ------- -------- ------------------- ------------------ 
  order_items   TABLE                                                  
  orders        TABLE                                                  
  products      TABLE

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

bq query --nouse_legacy_sql \
  "SELECT COUNT(*) as total_orders FROM \`$GOOGLE_CLOUD_PROJECT.thelook_ecommerce.orders\`"
+--------------+
| total_orders |
+--------------+
|       125957 |
+--------------+

מספר ההזמנות צריך להיות מעל 100,000.

4. הרצת אפליקציית האינטרנט הראשונית

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

uv הוא מנהל פרויקטים וחבילות Python מהיר שנכתב ב-Rust ( מסמכים). בשיעור Codelab הזה נשתמש בו כדי להסביר על הנושא במהירות ובפשטות. אם משתמשים ב-Cloud Shell לצורך המדריך הזה, הוא כבר מותקן מראש במופע. במדריך הזה מוסבר איך להתקין את התוסף במחשב

מתקינים את יחסי התלות של הפרויקט, ובכך גם מכינים את הסביבה הווירטואלית:

uv sync

אחרי זה, אם אתם מכירים את Python, במקום להריץ פקודה של python, נריץ כל פקודה עם קובץ בינארי של uv. מפעילים את שרת הפיתוח של FastAPI:

uv run uvicorn src.main:app --host 0.0.0.0 --port 8080

פותחים את מרכז הבקרה בדפדפן באמצעות התכונה Web Preview של Cloud Shell. לוחצים על הלחצן Web Preview (תצוגה מקדימה באינטרנט) (סמל העין בסרגל הכלים של Cloud Shell) ובוחרים באפשרות Preview on port 8080 (תצוגה מקדימה ביציאה 8080).

53758c68d6505e7a.png

בלוח הבקרה מוצגות ארבע חלוניות של תרשימים:

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

שימו לב לתג מקור נתונים: CSV בכותרת. בכרטיסי הסיכום מוצגים סכומים כוללים שמחושבים מ-500 הזמנות ומכ-750 פריטים בהזמנה – קבוצת משנה קטנה של מערך הנתונים המלא של TheLook. טווח התאריכים מוגבל לאוקטובר עד דצמבר 2023.

זו האפליקציה הבסיסית שלנו, ועכשיו נשדרג אותה כך שתהיה משולבת עם BigQuery בעזרת Antigravity CLI.

5. הגדרת Antigravity CLI

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

מה זה Antigravity CLI?

‫Antigravity CLI היא גרסה של סוכן ה-AI של Google לכתיבת קוד: Antigravity לטרמינל. זהו ממשק משתמש קל משקל לטרמינל (TUI) שנבנה ב-Go ומתחבר לאותה מעטפת אג'נטית שמפעילה את אפליקציית Antigravity 2.0 למחשב. הוא קורא את בסיס הקוד, מריץ פקודות, עורך קבצים ומתחבר לכלים חיצוניים באמצעות MCP – והכול מהטרמינל.

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

agy --help

יוצגו פרטים על אפשרויות הפקודה הבאות

Usage of agy:
  --add-dir                       Add a directory to the workspace (repeatable) (default [])
  -c                              Short alias for --continue
  --continue                      Continue the most recent conversation
  --conversation                  Resume a previous conversation by ID
  --dangerously-skip-permissions  Auto-approve all tool permission requests without prompting
  -i                              Short alias for --prompt-interactive
  --log-file                      Override CLI log file path
  --model                         Model for the current CLI session
  --new-project                   Create a new project for this session
  -p                              Short alias for --print
  --print                         Run a single prompt non-interactively and print the response
  --print-timeout                 Timeout for print mode wait (default 5m0s)
  --project                       Project ID for the current CLI session
  --prompt                        Alias for --print
  --prompt-interactive            Run an initial prompt interactively and continue the session
  --sandbox                       Run in a sandbox with terminal restrictions enabled

Available subcommands:
  changelog       Show changelog and release notes
  help            Show help for subcommands
  install         Configure environment paths and shell settings
  models          List available models
  plugin          Manage plugins (install, uninstall, list, enable, disable)
  plugins         Alias for plugin
  update          Update CLI

הפעלת Antigravity CLI

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

agy

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

5606b640b9bed9c3.png

במדריך הזה נשתמש ב-Google OAuth. תתבקשו לפתוח כתובת URL שבה תתבקשו לבחור את חשבון Google שבו תשתמשו כדי להיכנס.

e42183f1ccc5771a.png

אחרי שלוחצים על 'אימות', בוחרים את חשבון Google ולוחצים על Sign In

572b1d06151b55fa.png

תוצג לכם מחרוזת להעתקה. לוחצים על Copy to Clipboard כדי להעתיק אותה.

590d375c71f62a0e.png

ואז מדביקים אותו בהנחיה של Antigravity CLI כמו שמוצג למטה

a807ff24fbf278b4.png

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

3a7cd90438c94f5c.png

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

9e1e03543e8063c.png

בינתיים, נצא מ-Antigravity CLI ונמשיך לקטע הבא.

6. התאמה אישית – מיומנויות של סוכנים

כברירת מחדל, Antigravity CLI יכול לקרוא את בסיס הקוד, להריץ פקודות של מעטפת ולערוך קבצים. יש לו תהליך עבודה מוגבל מובנה של פיתוח מבוסס-מפרט, והידע שלו לגבי ממשקי API ספציפיים מוגבל למה שנכלל בנתוני האימון שלו. למשימה כמו שילוב של BigQuery באפליקציה קיימת, יש שני פערים:

  1. פער בתהליך – בלי מבנה, יכול להיות ש-Antigravity CLI יקפוץ ישר לכתיבת קוד. זה בסדר אם מדובר בתיקונים קטנים. אם התכונה משפיעה על כמה קבצים ונקודות קצה, יכול להיות שתקבלו הטמעות לא עקביות, מקרים קיצוניים חסרים ולא תקבלו תיעוד של ההחלטות שהתקבלו או של הסיבות להן.
  2. פער בידע – נתוני האימון של המודל עשויים לכלול דפוסים לא עדכניים של ספריות לקוח ב-BigQuery, קריאות API שהוצאו משימוש או סכימות טבלה שגויות. אין לו דרך לבדוק איך מערך הנתונים בפועל נראה כרגע.

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

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

בואו נתעמק בשני המושגים האלה

מיומנויות של סוכנים

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

ספריית מיומנויות נראית כך:

skills/<skill-name>/
├── SKILL.md          # Required: YAML frontmatter + workflow instructions
├── scripts/          # Optional: helper scripts
├── references/       # Optional: reference implementations
├── assets/           # Optional: templates or assets
└── ...                # Any additional files or directories

בבסיס, מיומנות היא תיקייה שמכילה קובץ SKILL.md. הקובץ הזה כולל מטא-נתונים (שם ותיאור, לכל הפחות) והוראות שמסבירות לסוכן איך לבצע משימה ספציפית. בנוסף, יכולות יכולות לכלול סקריפטים, חומרי עזר, תבניות ומקורות מידע אחרים.

בהמשך תשתמשו ב-SKILL.md של מיומנות bigquery-basics בסדנת הקוד הזו:

---
name: bigquery-basics
metadata:
  category: BigDataAndAnalytics
description: >-
  Manages datasets, tables, and jobs in BigQuery. Use when you need to interact
  with BigQuery, run SQL queries, manage BigQuery resources (datasets, tables,
  views), or perform basic data ingestion and analysis.
---

# BigQuery Basics

[Detailed instructions about BigQuery APIs, SQL patterns,
 client library usage, data ingestion patterns, etc.]

ה-YAML frontmatter (שם + תיאור + מטא-נתונים) הוא מה ש-Antigravity CLI טוען בהפעלה – מטא-נתונים קלים. הטקסט בפורמט Markdown שמופיע מתחת ל---- הוא סט הפקודות המלא, והוא נטען רק כש-Antigravity מזהה משימה שקשורה ל-BigQuery.

גילוי נאות הדרגתי

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

  1. שכבה 1 (גילוי): בזמן ההפעלה, Antigravity קורא רק את מטא-נתוני ה-YAML של כל מיומנות מותקנת. הוא יודע שהמיומנות קיימת – וזה הכול.
  2. שכבה 2 (הפעלה): כשהמשימה שלכם תואמת לתיאור של מיומנות, AGY קורא את SKILL.md המלא לתוך ההקשר הפעיל שלו. עכשיו הוא יודע מה לעשות.
  3. שכבה 3 (ביצוע): לפי הצורך, Antigravity ניגש לסקריפטים, לדוגמאות או למשאבים של המיומנות. עכשיו הוא יודע איך לעשות את זה.

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

שלוש קטגוריות של מיומנויות

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

קטגוריה

מיומנויות

מטרה

ידע בתחום

google/skills

מה הנציג יודע על טכנולוגיות ספציפיות

מתודולוגיה

obra/superpowers

איך לפתח – אוכף פיתוח מבוסס-מפרט, תכנון ובדיקה

יעילות

JuliusBrussee/caveman

כמה יעיל השימוש באסימונים

google/skills מספק מיומנויות של סוכנים מהדומיין הנוכחי, שמתוחזקות על ידי Google למוצרי Google. לדוגמה, הוא מספק לסוכן ידע מדויק ועדכני על ממשקי BigQuery API, על דפוסי פריסה של Cloud Run ועל שירותים אחרים. בלי מיומנויות דומיין, הסוכן מסתמך על נתוני אימון שאולי לא עדכניים או לא מלאים – מיומנויות דומיין מחליפות את הניחושים בתיעוד עדכני.

obra/superpowers הוא יישום דעתני של תהליך עבודה של פיתוח מבוסס-מפרט (SDD). בלי מסגרת SDD, הסוכנים קופצים ישר לקוד כשאתם מתארים תכונה – זה עובד בתיקונים קטנים, אבל התוצאות לא עקביות וקשה לתחזק אותן כשמדובר במשהו גדול יותר. SDD מחייב מחזור מובנה: הבהרת הדרישות → כתיבת מפרט → יצירת תוכנית → הטמעה בהתאם למפרט. בכל שלב נוצר ארטיפקט שניתן לבדיקה. הסוכן לא יתחיל לכתוב קוד עד שתאשרו את המפרט. יש מסגרות SDD אחרות – spec-kit,‏ agent-skills ועוד – שלכל אחת מהן יש דעות שונות לגבי מחזור התכנון-יישום-הגדרה. בשיעור Codelab הזה נשתמש ב'כוחות על' כדוגמה קונקרטית. העיקרון הבסיסי (הגדרה ותכנון לפני כתיבת הקוד) תקף לכל מסגרת שתבחרו.

JuliusBrussee/caveman דוחס את הפלט של הסוכן עד 75%. הוא מסיר מילים מיותרות, נימוסים והסברים ארוכים, תוך שמירה על כל המידע הטכני. פחות טוקנים לכל תשובה פירושו אינטראקציות פרודוקטיביות יותר לכל סשן ותשובות מהירות יותר. מפעילים אותו באמצעות /caveman או באמצעות הנחיה לסוכן לדבר בצורה יעילה. היא מושבתת אוטומטית עבור אזהרות אבטחה ופעולות בלתי הפיכות.

התקנה של מיומנויות לסוכן

התקנה רשמית של Google Skills

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

npx skills add google/skills

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

8b6b0deb5fe07dfd.png

מחפשים את bigquery-basics ואת cloud-run-basics ולוחצים על מקש הרווח כדי לבחור אותם. התיבה צריכה להיות אפורה כהה כמו שמוצג בהמשך

4fa62a7341444be5.png

לאחר מכן, בסוכנים שנבחרו, פשוט לוחצים על Enter כדי לדלג על הבחירה, כי Antigravity CLI כבר כלול כברירת מחדל.

c16e7ed1be8ad91b.png

נבחר את היקף ההתקנה Project, כך שהמיומנויות יותקנו בספרייה .agents בספריית העבודה שלנו

6c84cee31651dffc.png

לסיום, לוחצים על Enter כדי לענות עם Yes (כן) ולהשלים את ההתקנה. אם הגדרתם הרבה מיומנויות, אתם יכולים גם לענות כן כדי להתקין את מיומנות find-skills.

4709e3a1ad34a27d.png

התקנת מיומנויות של צד שלישי כפלאגינים

בשלב הבא נתקין את obra/superpowers ואת היכולות של JuliusBrussee/caveman. הכישורים האלה נתמכים להתקנה כפלאגינים של Antigravity CLI, ולכן אפשר להתקין אותם באמצעות הפקודה הבאה

agy plugin install https://github.com/obra/superpowers
agy plugin install https://github.com/JuliusBrussee/caveman

אחר כך אפשר לאמת את ההתקנה באמצעות הפקודה הבאה

agy plugin list

יוצג הפלט הבא

{
  "imports": [
    {
      "name": "superpowers",
      "source": "gemini-cli",
      "importedAt": "2026-07-06T01:50:36Z",
      "components": [
        "skills",
        "hooks"
      ]
    },
    {
      "name": "caveman",
      "source": "gemini-cli",
      "importedAt": "2026-07-06T01:50:37Z",
      "components": [
        "skills",
        "agents",
        "commands"
      ]
    }
  ]
}

השלב הזה השלים את הגדרת הכישורים. נעבור לתרגיל הבא

7. התאמה אישית – כלי MCP

e7b9be2e1c98b4db.png

MCP (Model Context Protocol) הוא פרוטוקול פתוח שקובע תקן לאופן שבו סוכני AI מגלים כלים חיצוניים ואיך הם מתקשרים איתם. הוא מגדיר מודל של לקוח-שרת: הסוכן מארח לקוח MCP, והכלים נחשפים על ידי שרתי MCP. כל לקוח שתואם ל-MCP יכול להשתמש בכל שרת שתואם ל-MCP – לא צריך קוד שילוב מותאם אישית לכל כלי.

פרוטוקול MCP משתמש בארכיטקטורת לקוח-שרת:

  • Host – האפליקציה שבה מודל ה-AI נמצא (במקרה הזה, Antigravity CLI)
  • לקוח – רכיב בתוך המארח שמטפל בתקשורת של MCP (מוטמע ב-Antigravity CLI)
  • שרת – תוכנה קלה שחושפת יכולות ל-AI ( במקרה שלנו, נשתמש בשרת Google Cloud Managed BigQuery MCP)

כשמריצים את תהליך העבודה של SDD באמצעות Antigravity CLI בהמשך ה-codelab הזה, צריך לוודא שיש לו מידע מדויק על סכימת מערך הנתונים ב-BigQuery – שמות הטבלאות, סוגי העמודות והקשרים ביניהן. ‫BigQuery MCP מאפשר ל-Antigravity CLI לבדוק את הסכימה הפעילה ישירות. כך נוצרות מפרטים וקוד שמפנים לטבלאות ולעמודות אמיתיות, ולא לכאלה שנוצרו על ידי AI גנרטיבי.

הגדרת MCP מנוהל ב-BigQuery

‫Google מארחת שרת BigQuery MCP מנוהל בתשתית Google Cloud – לא נדרשת הגדרה מקומית ( אפשר לעיין במוצרים אחרים של Google Cloud שנתמכים במסמכי התיעוד האלה). כדי להגדיר את Antigravity CLI כך שיתחבר אליו, צריך ליצור את קובץ ההגדרה של MCP בספריית הפרויקט:

mkdir -p .agents
cat > .agents/mcp_config.json << EOF
{
  "mcpServers": {
    "bigquery": {
      "serverUrl": "https://bigquery.googleapis.com/mcp",
      "transport": "http",
      "authProviderType": "google_credentials"
    }
  }
}
EOF

ההגדרה הזו מציינת ל-AGY:

  • איפה אפשר למצוא את שרת ה-MCP של BigQuery‏ (serverUrl)
  • כדי להשתמש בפרטי הכניסה של Google לאימות (authProviderType)

ההגדרה מתבצעת ברמת סביבת העבודה (.agents/mcp_config.json)

אנחנו יכולים לאמת את ההגדרה מתוך Antigravity CLI. בואו נפעיל פתרונות חכמים קודם

agy

אחר כך, מריצים את הפקודה דרך שורת הפקודות /mcp כדי לוודא שההגדרה תקינה.

/mcp

הוא ייראה בערך כך

a7ef228bfcbb5280.png

לאחר מכן, לוחצים על Esc כדי לצאת מהאינטראקציה עם פקודה דרך שורת הפקודות.

יוצאים מ-Antigravity CLI (לוחצים פעמיים על Ctrl+D)

8. פיתוח תכונות באמצעות פיתוח מונחה-מפרט

אחרי שמתקינים את התוספים או את הכישורים ומחברים את BigQuery MCP, אפשר להשתמש בתהליך העבודה של פיתוח מבוסס-מפרט כדי לציין באופן רשמי את תכונת השילוב של BigQuery. בשלב הזה, ההנחיה specify before you code (צריך לציין לפני שכותבים קוד) הופכת למעשית.

מוודאים שמזינים את Antigravity CLI, ובשביל ההדגמה הזו נאפשר את כל ההרצות של הכלי באמצעות הדגל הזה

agy --dangerously-skip-permissions

הפעלת מצב מערה

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

/caveman:caveman

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

8e6965ae2207147e.png

התחלת המפרט של SDD

מזינים את הגשת בקשה להוספת תכונה ב-Antigravity CLI:

I want to add a BigQuery integration feature to this e-commerce dashboard app. Currently it reads
from CSV files in the data/ directory. I want to replace the CSV reads with live queries
against the thelook_ecommerce dataset in my BigQuery project using the
google-cloud-bigquery Python client library.

The dashboard should show the same panels (revenue trend, top products, order status,
category performance) but with the full dataset instead of the 500-row CSV subset.

Follow spec-driven-development for development workflow, ensure spec and plan docs created following the superpowers standard in current working directory; also use Bigquery MCP to figure out the data schema.

היכולת 'כוחות על' מופעלת באופן אוטומטי כשהיא מזהה בקשה ברמת התכונה. ה-AGY נכנס למחזור ה-SDD במקום לקפוץ ישר לקוד.

ה-CLI של Antigravity יתחיל את התהליך כדי להבין את הפרויקט הנוכחי ולאסוף את ההקשר הנדרש. תוכלו לראות את הפקודה שמופעלת, כמו ListDir ו-Read, כמו שמוצג בהמשך

3102949f929df967.png

בנוסף, הוא ישתמש בחיבור BigQuery MCP שהגדרנו קודם כדי למצוא את הסכימה של מערך הנתונים

7fbc061a07058d24.png

כך תוכלו לוודא של-Antigravity CLI יש הקשר הנכון לפני שתתחילו לפתח

הבהרות לגבי הדרישות

יכול להיות ש-Antigravity CLI ישאל שאלות ממוקדות לגבי היקף התכונה. דוגמאות לשאלות נפוצות:

  • איך צריך להגדיר את מזהה הפרויקט?
  • איך צריך לצבור ולהציג את הנתונים בתרשים מגמת ההכנסות?
  • איך כדאי לגשת לשילוב? ‫SQL ישיר לעומת Pandas מקומי

אתם יכולים לענות על השאלות האלה לפי ההמלצה של הסוכן

91fb44a131f927e9.png4d5e5ffbc81644a5.png

עיון במפרט

אחרי ההבהרה, הוא ייצור מסמך מפרט רשמי. אם הוא יפעל לפי ההוראות בצורה נכונה, הוא יפעל לפי מוסכמת המיומנויות obra/superpowers שבה הוא ייצור מסמך מפרט בספרייה obra/superpowers כמו שמוצג בהמשךdocs/superpowers/specs

86e0a2f86a956497.png

מסמך המפרט ייראה כך:

# BigQuery Integration Design Specification

## Overview

This document specifies ...

## Architecture

The application currently reads ...

## Data Schema & Sources

All tables reside in the BigQuery ...

...

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

74cde3e9b4c95b88.png

proceed with the specs

שלב התכנון והביצוע של סוכני משנה

אחרי שתאשרו את המפרט, Antigravity CLI יפרק אותו לתוכנית הטמעה שתיכתב לספרייה docs/superpowers/plans

727b92a4eca89106.png

במסמכי התוכנית יופיעו כמה דברים, כמו בדוגמה הבאה:

  • קבצים לשינוי
  • קבצים ליצירה או לעדכון
  • שינויים בתלות
  • פירוט המשימות

הוא גם ימליץ על שימוש ב-subagent driven development שנתמך על ידי Antigravity CLI – במקום שאגנט יחיד יבצע את כל הפעולות ברצף, Antiravity CLI יכול להקצות משימות לסוכני משנה מיוחדים. במהלך ההטמעה, יכול להיות שתראו סוכני משנה כמו:

  • מבצע המשימה – כותב את הקוד למשימה ספציפית מהתוכנית
  • בודק המשימות – בודק את הקוד שהוטמע בהשוואה למפרט
  • בודק קוד סופי – מבצע בדיקה הוליסטית של כל השינויים לפני השלמתם

751df4f6d964e42b.png

אם מוצגת לכם הנחיה כזו, הגיבו כך

Use subagent driven development

בהמשך נראה איך סוכני המשנה מקבלים משימות אחת אחרי השנייה.

fb4a986dbceaec96.pngb2e74e769f9ff4bf.png620d12e9056f621b.png

אחרי זמן מה, הפיתוח יסתיים ( כנראה אחרי יצירת סוכן Final Code Reviewer). לאחר מכן נוכל לבדוק את התוצאה.

עדכון בנושא בדיקה ידנית של אפליקציות

אחרי שכל המשימות יסתיימו, נוכל לבדוק את האפליקציה המעודכנת. יוצאים מה-CLI של Antigravity על ידי הקשה על Ctrl+D פעמיים, ואז מריצים את הפקודה הבאה

bash configure_terminal.sh && uv run uvicorn src.main:app --host 0.0.0.0 --port 8080

אם הפיתוח הצליח, עכשיו אמורות להופיע Total Orders יותר מ-120,000 הזמנות, והן משולבות עם BigQuery

20398466e2d8a70f.png

מעולה! עכשיו אתם משלבים בהצלחה את BigQuery עם אפליקציית האינטרנט שלכם בעזרת Antigravity CLI

9. (אופציונלי) פריסה ב-Cloud Run באמצעות Antigravity CLI

מרכז הבקרה פועל באופן מקומי באמצעות תצוגה מקדימה באינטרנט של Cloud Shell. בשלב האופציונלי הזה פורסים את האפליקציה ב-Cloud Run כשירות אינטרנט שנגיש לכולם – כך אפשר לראות איך היכולות של Antigravity CLI בתחום הדומיין מתרחבות מפיתוח לתפעול.

ה-skill‏ cloud-run-basics (מהתוסף google/skills שהתקנתם קודם) מספק ל-Antigravity CLI ידע על תבניות פריסה של Cloud Run, דרישות של Dockerfile, קישור יציאות ודגלים של gcloud run deploy. פריסה מבוססת-מקור (gcloud run deploy --source .) יוצרת ופורסת בפקודה אחת – Cloud Build מטפל בקונטיינריזציה באופן אוטומטי.

הפעלת Cloud Run APIs

מפעילים את ממשקי ה-API שנדרשים לפריסה:

gcloud services enable \
  run.googleapis.com \
  cloudbuild.googleapis.com \
  cloudresourcemanager.googleapis.com

לאחר מכן, מזינים Antigravity CLI

agy --dangerously-skip-permissions

הנחיה של Antigravity CLI לפריסה

נורה לו לפרוס את האפליקציות שלנו

Deploy this application to Cloud Run, name the service "bigquery-dashboard" and make it publicly accessible

הוא יקרא את המיומנות cloud-run-basics כדי להבין מה הדרישה לפריסת אפליקציית האינטרנט של הפרויקט הנוכחי

a5ef955de2d71c91.png

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

b58fb8f5f2023264.png

עכשיו האפליקציה שלכם פרוסה וזמינה באופן מלא בעזרת Antigravity CLI

10. סיכום

שדרגתם לוח בקרה של מסחר אלקטרוני מקובצי CSV סטטיים לנתוני BigQuery בזמן אמת – בלי לכתוב קוד אפליקציה באופן ידני. ‫Antigravity CLI טיפל בהטמעה באמצעות תהליך עבודה מבוקר של פיתוח מבוסס-מפרט, בהנחיית מיומנויות לשימוש חוזר וחיבור פעיל לנתונים באמצעות MCP.

מה למדתם

  • איך משתמשים ב-Antigravity CLI ב-Cloud Shell לפיתוח בעזרת AI
  • מהן מיומנויות של סוכן ואיך חשיפה הדרגתית שומרת על יעילות חלון ההקשר
  • שלוש קטגוריות של כישורים: מתודולוגיה (יכולות על), יעילות (איש מערות), ידע בתחום (google/skills)
  • מהו MCP ואיך מגדירים את BigQuery MCP לגישה לנתונים בזמן אמת
  • איך מריצים מחזור פיתוח מבוסס-מפרט (ציון → תכנון → הטמעה) במקום קידוד אינטואיטיבי
  • איך Antigravity CLI יכול ליצור סוכן משנה כדי שהפיתוח יהיה ממוקד ויעיל יותר

פינוי נפח

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

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

gcloud projects delete $GOOGLE_CLOUD_PROJECT

אפשרות 2: מחיקת משאבים ספציפיים

אם אתם רוצים לשמור את הפרויקט אבל להסיר רק את המשאבים שנוצרו ב-Codelab הזה:

bq rm -r -f $GOOGLE_CLOUD_PROJECT:thelook_ecommerce
gcloud run services delete bigquery-dashboard --region us-central1 --quiet