איך משתמשים ביכולות של סוכני 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. יצירת מיומנות בהתאמה אישית

מיומנויות של סוכנים הן ספריות שמכילות לפחות קובץ SKILL.md שמספק הוראות וידע לסוכן AI. בחלק הזה ניצור מיומנות שתלמד את 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

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

התכונה 'כישורי סוכן' ב-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 תוצג במסוף. לוחצים על הקישור (אם אי אפשר ללחוץ עליו, מסמנים את כתובת ה-URL ב-Cloud Shell כדי להעתיק אותה, ואז מדביקים אותה בדפדפן) כדי לפתוח את דף הכניסה בכרטיסייה חדשה בדפדפן.
      • שלב 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/Linux) או ב-cmd+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/Linux) או ב-cmd+click (Mac) כדי לפתוח קישורים במסוף של Cloud Shell Editor. עוברים לכתובת ה-URL של האפליקציה שפרסתם.

כדי לראות את השינויים האחרונים, יכול להיות שתצטרכו לבצע "רענון מלא" באמצעות ctrl+shift+R (Windows/Linux) או 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/Linux) או ב-cmd+click (Mac) כדי לפתוח קישורים במסוף של Cloud Shell Editor. עוברים לכתובת ה-URL של האפליקציה שפרסתם.

כדי לראות את השינויים האחרונים, יכול להיות שתצטרכו לבצע "רענון מלא" באמצעות ctrl+shift+R (Windows/Linux) או 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.

כדאי להמשיך להתנסות ב-Lab כדי להוסיף את התכונות שרוצים לראות באפליקציית 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 למצב ברירת המחדל, תוכלו לפעול לפי ההוראות במסמכים הרשמיים כדי לעשות זאת בצורה בטוחה.