איך משתמשים ביכולות של סוכני AI (עם Gemini CLI ויכולות של סוכנים ל-Firebase)

1. מבוא

תמונה ראשית של מעבדת Agent Skills

בשיעור ה-Lab הזה תלמדו איך ליצור כישורי סוכן כדי לספק למודלים של שפה גדולה (LLM) גישה לידע ולתהליכי עבודה מותאמים אישית. תצרו אותו ככישור מקומי שאפשר לגשת אליו מ-Gemini CLI.

הפעולות שתבצעו:

  • אתם יכולים ליצור כישורי סוכן משלכם לדברים שאתם אוהבים.
  • אפשר להשתמש ב-Gemini CLI כדי לשלוח שאילתות למיומנות.
  • מתקינים את Agent Skills for Firebase הרשמי ומשתמשים בו כדי ליצור ולפרוס אפליקציה.

מה תלמדו

  • איך לבנות מיומנות.
  • איך כותבים קובץ SKILL.md.
  • איך משתמשים במיומנויות מקומיות עם Gemini CLI.

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

  1. אם עדיין אין לכם חשבון Google, אתם צריכים ליצור חשבון Google.
    • משתמשים בחשבון לשימוש אישי במקום בחשבון לצורכי עבודה או בחשבון בית ספרי. יכול להיות שבחשבונות לצורכי עבודה או בחשבונות בית ספריים יש הגבלות שימנעו מכם להפעיל את ממשקי ה-API שנדרשים למעבדה הזו.
  2. נכנסים למסוף Google Cloud.
  3. מפעילים את החיוב במסוף Cloud.
    • העלות של השלמת ה-Lab הזה במשאבי Cloud צריכה להיות פחות מ-1$.
    • כדי למחוק משאבים ולמנוע חיובים נוספים, אפשר לבצע את השלבים בסוף ה-Lab הזה.
    • משתמשים חדשים זכאים לתקופת ניסיון בחינם בשווי 300$.
  4. יוצרים פרויקט חדש או בוחרים להשתמש מחדש בפרויקט קיים.
    • אם מופיעה שגיאה לגבי מכסת הפרויקט, צריך לעשות שימוש חוזר בפרויקט קיים או למחוק פרויקט קיים כדי ליצור פרויקט חדש.

3. פתיחת Cloud Shell Editor

  1. כדי לעבור ישירות אל Cloud Shell Editor, לוחצים על הקישור הזה.
  2. אם תתבקשו לאשר בשלב כלשהו היום, תצטרכו ללחוץ על אישור כדי להמשיך. לוחצים כדי לתת הרשאה ל-Cloud Shell
  3. אם הטרמינל לא מופיע בתחתית המסך, פותחים אותו:
    • לוחצים על הצגה.
    • לוחצים על Terminal (מסוף)פתיחת טרמינל חדש ב-Cloud Shell Editor.
  4. בטרמינל, מגדירים את הפרויקט באמצעות הפקודה הבאה:
    • פורמט:
      gcloud config set project [PROJECT_ID]
      
    • דוגמה:
      gcloud config set project lab-project-id-example
      
    • אם אתם לא זוכרים את מזהה הפרויקט:
      • כדי לראות את כל מזהי הפרויקטים, מריצים את הפקודה:
        gcloud projects list | awk '/PROJECT_ID/{print $2}'
        
      הגדרת מזהה הפרויקט בטרמינל של Cloud Shell Editor
  5. תוצג ההודעה הבאה:
    Updated property [core/project].
    
    אם מופיע WARNING ומוצגת השאלה Do you want to continue (Y/n)?, סביר להניח שהזנתם את מזהה הפרויקט בצורה שגויה. לוחצים על n, לוחצים על Enter ומנסים להריץ שוב את הפקודה gcloud config set project.

4. יצירת מיומנות מותאמת אישית

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

  1. יוצרים ספרייה לשיעור ה-Lab הזה ועוברים אליה:
    mkdir ~/agent-skills-lab && cd ~/agent-skills-lab
    
  2. יוצרים ספרייה למיומנות של הפרויקט:
    mkdir -p ~/agent-skills-lab/.agents/skills/my-favorite-things
    
  3. יוצרים ופותחים קובץ חדש SKILL.md למיומנות:
    cloudshell edit ~/agent-skills-lab/.agents/skills/my-favorite-things/SKILL.md
    
    הפקודה cloudshell edit תפתח את הקובץ SKILL.md בעורך שמעל הטרמינל.
  4. מוסיפים את התוכן הבא לקובץ SKILL.md:
    ---
    name: my-favorite-things
    description: Provides personal information about my favorite color, food, and programming language. Use this skill when the user asks questions about my personal preferences or favorite things.
    ---
    
    # Knowledge
    
    - **Favorite Color:** Blue
    - **Favorite Food:** Pizza
    - **Favorite Programming Language:** Python
    
    If asked about one of my favorite things, please respond with the information provided above.
    

יצרתם את המיומנות הראשונה שלכם רק באמצעות קובץ SKILL.md. הגיע הזמן להשתמש במיומנות הזו ב-Gemini CLI.

5. שימוש במיומנות מ-Gemini CLI

אחרי שיוצרים מיומנות, היא כבר ניתנת לגילוי על ידי Gemini CLI כי היא נמצאת בספרייה .agents/skills.

  1. מפעילים את Gemini CLI:
    gemini
    
    אפשר לראות ש-Gemini CLI מזהה את המיומנות החדשה. יכול להיות שתצטרכו להקיש על Enter כדי לאשר חלק מהגדרות ברירת המחדל.
  1. מבקשים מ-Gemini לפרט את המיומנויות שזמינות לו בהקשר הנוכחי
    /skills
    
    my-favorite-things אמור להופיע ברשימת הכישורים הזמינים.
  2. שואלים את Gemini מה הצבע האהוב עליו:
    What is my favorite color?
    
    ‫Gemini CLI צריך להשתמש במיומנות my-favorite-things כדי לענות על השאלה שלך. אם תתבקשו, תאשרו ל-Gemini CLI להשתמש במיומנות.

הפלט צריך להראות ש-Gemini CLI השתמש במיומנות שלכם והשיב במשהו כמו 'כחול' או 'הצבע האהוב עליי הוא כחול'.

הצלחתם! יצרתם מיומנות בהצלחה ובדקתם אותה באמצעות Gemini CLI.

כשמוכנים לסיים את הסשן, מקלידים /quit ולוחצים על Enter כדי לצאת מ-Gemini CLI.

6. (אופציונלי) בנייה ופריסה של אפליקציה ב-Firebase Hosting

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

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

עכשיו משתמשים ב-Agent Skills for Firebase כדי ליצור אפליקציית אינטרנט של רשימת מטלות, עם אימות משתמש ומסד נתונים, ולפרוס אותה ל-Firebase Hosting.

הגדרת הפרויקט

  1. אם אתם עדיין ב-Gemini CLI, מקלידים /quit כדי לצאת.
  2. יוצרים ספרייה חדשה לפרויקט ועוברים אליה:
    mkdir ~/todo-app && cd ~/todo-app
    
  3. מתחברים ל-Firebase באמצעות חשבון Google. משתמשים בדגל --no-localhost כי אתם נמצאים ב-Cloud Shell:
    firebase login --no-localhost
    
    1. איך מגיבים להנחיות ב-CLI:
      • כשמופיעה השאלה Enable Gemini in Firebase features?, מקלידים Y (ל'כן') ומקישים על Enter.
      • כשמופיעה השאלה Allow Firebase to collect CLI and Emulator Suite usage and error reporting information?, מקלידים Y (ל'כן') ומקישים על Enter.
    2. מתן הרשאה בדפדפן:
      • כתובת URL תופיע במסוף. לוחצים על הקישור כדי לפתוח את דף הכניסה בכרטיסייה חדשה בדפדפן.
      • שלב 1 מתוך 3 (אישור הפקודה): לוחצים על כן, הרצתי את הפקודה הזו.
      • שלב 2 מתוך 3 (אישור מזהה הסשן): מוודאים שמזהה הסשן זהה למה שמוצג במסוף, ואז לוחצים על כן, זה מזהה הסשן שלי.
      • שלב 3 מתוך 3 (העתקת הקוד): לוחצים על העתקה כדי להעתיק את קוד ההרשאה ללוח.
    3. משלימים את ההתחברות:
      • חוזרים לטרמינל של Cloud Shell ומדביקים את קוד ההרשאה בהנחיה ? Enter authorization code:.
      • לוחצים על Enter.
    אמורה להופיע הודעה על הצלחה: ✔ Success! Logged in as .

התקנת Agent Skills for Firebase

אחרי שיצרתם את ספריית הפרויקט, אתם צריכים להתקין בה את Agent Skills for Firebase.

אפשר להתקין את Agent Skills for Firebase באמצעות skills CLI במסוף:

npx skills add firebase/agent-skills

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

  • firebase-basics
  • firebase-hosting-basics
  • firebase-auth-basics
  • firebase-firestore-enterprise-native-mode

בחירת ארבע מיומנויות ב-Firebase

בהנחיות הבאות, אפשר לאשר את ברירות המחדל בלחיצה על Enter.

הפקודה הזו תוריד ותתקין את המיומנויות, כולל firebase-basics ו-firebase-hosting-basics, כך שתוכלו להשתמש בהן ב-Gemini CLI לצד המיומנות my-favorite-things.

מידע נוסף על כישורי נציג ל-Firebase זמין במאמר בנושא כישורים זמינים.

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

  1. מפעילים את ממשקי ה-API הנדרשים בפרויקט:
    gcloud services enable \
      cloudresourcemanager.googleapis.com \
      firebase.googleapis.com
    
  2. מפעילים את Firebase בפרויקט הקיים ב-Google Cloud:
    firebase projects:addfirebase ${GOOGLE_CLOUD_PROJECT}
    
  3. מפעילים את Gemini CLI:
    gemini
    
  4. מבקשים מ-Gemini ליצור index.html בסיסי:
    Generate an index.html file with the content "Hello Firebase Hosting" and
    deploy the application to Firebase Hosting using the current Google Cloud
    Project.
    
    ‫Gemini יבקש ליצור index.html ולהפעיל firebase. מקישים על Enter כדי לאשר את הפעולה.Gemini CLI ישתמש בכישורי הסוכן ל-Firebase כדי ליצור ולפרוס את האתר. אם צריך, מנחים את הנציג ומספקים אישורים.

בסיום הפריסה, אמורה להיות כתובת URL לאפליקציית האינטרנט. משתמשים ב-ctrl+click (Windows) או ב-cmc+click (Mac) כדי לפתוח קישורים במסוף של Cloud Shell Editor. עוברים לכתובת ה-URL של האפליקציה שפרסתם.

הוספת אימות ב-Firebase

  1. מפעילים את Gemini CLI אם הוא לא מופעל:
    gemini
    
    יכול להיות ש-Gemini ישאל שאלות כמו "האם התיקייה הזו מהימנה?" כדי לאשר את ברירות המחדל, לוחצים על Enter.
  2. עכשיו, מבקשים מ-Gemini להוסיף כניסה לחשבון Google:
    Generate HTML, CSS, and Javascript for a single page application.
    It should use Google Sign-in with Firebase Authentication.
    A user should be able to sign in with their Google Account.
    Deploy when you are done and give the URL to the user.
    
    יכול להיות ש-Gemini יבקש ליצור או לעדכן קבצים כמו index.html, style.css ו-script.js. מאשרים לו לעשות את זה. יכול להיות ש-Gemini יבקש מכם לבצע פעולות במסוף Firebase. ה-CLI יכול לבצע את רוב הפעולות האלה אם מבקשים ממנו לנסות, אבל יכול להיות שיהיה צורך לבצע את השלבים באופן ידני (למשל, הפעלת Google OAuth) אם במופע Cloud Shell מותקנת גרסה ישנה יותר של Firebase CLI.

בסיום הפריסה, אמורה להיות כתובת URL לאפליקציית האינטרנט. משתמשים ב-ctrl+click (Windows) או ב-cmc+click (Mac) כדי לפתוח קישורים במסוף של Cloud Shell Editor. עוברים לכתובת ה-URL של האפליקציה שפרסתם.

כדי לראות את השינויים האחרונים, יכול להיות שתצטרכו לבצע "רענון מלא" באמצעות ctrl+shift+R (Windows) או cmd+shift+R (Mac).

הוספה של Cloud Firestore

  1. מפעילים את Gemini CLI אם הוא לא מופעל:
    gemini
    
    יכול להיות ש-Gemini ישאל שאלות כמו "האם התיקייה הזו מהימנה?" כדי לאשר את ברירות המחדל, לוחצים על Enter.
  2. מבקשים מ-Gemini להוסיף את Firestore כדי לשמור את המשימות:
    Update the application to save tasks in Cloud Firestore for the signed-in user.
    A user should be able to add new tasks and see a list of their tasks.
    Deploy when you are done and give the URL to the user.
    
    ‫Gemini יעודכן בקבצים. מאשרים את הפעולה.

בסיום הפריסה, אמורה להיות כתובת URL לאפליקציית האינטרנט. משתמשים ב-ctrl+click (Windows) או ב-cmc+click (Mac) כדי לפתוח קישורים במסוף של Cloud Shell Editor. עוברים לכתובת ה-URL של האפליקציה שפרסתם.

כדי לראות את השינויים האחרונים, יכול להיות שתצטרכו לבצע "רענון מלא" באמצעות ctrl+shift+R (Windows) או cmd+shift+R (Mac).

אם האפליקציה לא פועלת כמו שציפיתם, אפשר להמשיך לעבוד עם Gemini CLI כדי לקבל את הפונקציונליות שאתם רוצים. דוגמה: shell Hide the task form when the user is logged out. Update the security rules so the user can see their TODOs.

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

7. סיכום

מעולה! יצרתם בהצלחה מיומנות ולמדתם איך להתקין מיומנויות נוספות ל-Gemini CLI.

(אופציונלי) ניקוי

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

אם רוצים, אפשר למחוק את הפרויקט:

gcloud projects delete $GOOGLE_CLOUD_PROJECT

אפשר גם למחוק משאבים מיותרים מהדיסק של Cloud Shell כדי לפנות מקום.

  1. מוחקים את ספריית ה-Labs (הפעולה הזו מסירה גם את המיומנות וגם את האפליקציה):
    rm -rf ~/agent-skills-lab
    
  2. מוחקים את ספריית האפליקציות של To Do (אם יצרתם אותה מחוץ ל-Google Workspace):
    rm -rf ~/todo-app
    

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