Come utilizzare le competenze degli agenti AI (con Gemini CLI e le competenze degli agenti per Firebase)

1. Introduzione

Foto di copertina del lab Competenze dell'agente

In questo lab imparerai a creare competenze dell'agente per fornire ai LLM l'accesso a conoscenze e workflow personalizzati. Lo creerai come skill locale a cui è possibile accedere dalla Gemini CLI.

In questo lab proverai a:

  • Crea le tue competenze dell'agente per le tue attività preferite.
  • Utilizza Gemini CLI per eseguire query sulla tua skill.
  • Installa le competenze degli agenti ufficiali per Firebase e usale per creare e implementare un'app.

Obiettivi didattici

  • Come strutturare un'abilità.
  • Come scrivere un file SKILL.md.
  • Come utilizzare le skill locali con Gemini CLI.

2. Configurazione del progetto

  1. Se non hai ancora un Account Google, devi crearne uno.
    • Utilizza un account personale anziché un account di lavoro o della scuola. Gli account di lavoro e della scuola potrebbero avere limitazioni che impediscono l'attivazione delle API necessarie per questo lab.
  2. Accedi a Google Cloud Console.
  3. Abilita la fatturazione nella console Cloud.
    • Il completamento di questo lab dovrebbe costare meno di 1 $in risorse cloud.
    • Per evitare ulteriori addebiti, puoi seguire i passaggi alla fine di questo lab per eliminare le risorse.
    • I nuovi utenti hanno diritto alla prova senza costi di 300$.
  4. Crea un nuovo progetto o scegli di riutilizzarne uno esistente.
    • Se visualizzi un errore relativo alla quota del progetto, riutilizza un progetto esistente o eliminalo per crearne uno nuovo.

3. Apri editor di Cloud Shell

  1. Fai clic su questo link per andare direttamente all'editor di Cloud Shell.
  2. Se ti viene richiesto di concedere l'autorizzazione in qualsiasi momento della giornata, fai clic su Autorizza per continuare. Fai clic per autorizzare Cloud Shell
  3. Se il terminale non viene visualizzato nella parte inferiore dello schermo, aprilo:
    • Fai clic su Visualizza.
    • Fai clic su TerminaleApri un nuovo terminale nell'editor di Cloud Shell.
  4. Nel terminale, imposta il tuo progetto con questo comando:
    • Formato:
      gcloud config set project [PROJECT_ID]
      
    • Esempio:
      gcloud config set project lab-project-id-example
      
    • Se non ricordi l'ID progetto:
      • Puoi elencare tutti gli ID progetto con:
        gcloud projects list | awk '/PROJECT_ID/{print $2}'
        
      Imposta l'ID progetto nel terminale dell'editor di Cloud Shell
  5. Dovresti visualizzare questo messaggio:
    Updated property [core/project].
    
    Se visualizzi un WARNING e ti viene chiesto Do you want to continue (Y/n)?, è probabile che tu abbia inserito l'ID progetto in modo errato. Premi n, premi Enter e prova a eseguire di nuovo il comando gcloud config set project.

4. Crea la tua skill "Cose preferite"

Le competenze dell'agente sono directory che contengono almeno un file SKILL.md che fornisce istruzioni e conoscenze a un agente AI. In questa sezione creerai una competenza che insegna a Gemini CLI le tue cose preferite.

  1. Crea una directory per questo lab e accedi alla directory:
    mkdir ~/agent-skills-lab && cd ~/agent-skills-lab
    
  2. Crea una directory per la skill del progetto:
    mkdir -p ~/agent-skills-lab/.agents/skills/my-favorite-things
    
  3. Crea e apri un nuovo file SKILL.md per la tua skill:
    cloudshell edit ~/agent-skills-lab/.agents/skills/my-favorite-things/SKILL.md
    
    Il comando cloudshell edit aprirà il file SKILL.md nell'editor sopra il terminale.
  4. Aggiungi i seguenti contenuti al file 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.
    

Con un solo file SKILL.md, hai creato la tua prima skill. È il momento di utilizzare questa competenza in Gemini CLI.

5. Utilizzare la tua skill da Gemini CLI

Ora che hai creato correttamente una skill, questa è già rilevabile da Gemini CLI perché si trova nella directory .agents/skills.

  1. Avvia Gemini CLI:
    gemini
    
    Dovresti vedere Gemini CLI riconoscere la nuova skill. Potresti dover premere Enter per accettare alcune impostazioni predefinite.
  1. Chiedi a Gemini di elencare le competenze a sua disposizione nel contesto
    /skills
    
    Dovresti vedere my-favorite-things nell'elenco delle skill disponibili.
  2. Chiedi a Gemini informazioni sul tuo colore preferito:
    What is my favorite color?
    
    Gemini CLI deve utilizzare la skill my-favorite-things per rispondere alla tua domanda. Se richiesto, consenti a Gemini CLI di utilizzare la skill.

L'output dovrebbe mostrare che Gemini CLI ha utilizzato la tua skill e ha risposto con qualcosa del tipo "Blu" o "Il mio colore preferito è il blu".

Ce l'hai fatta. Hai creato correttamente una skill e l'hai testata utilizzando Gemini CLI.

Quando è tutto pronto per terminare la sessione, digita /quit e poi premi Enter per uscire da Gemini CLI.

6. (Facoltativo) Crea ed esegui il deployment di un'applicazione in Firebase Hosting

Oltre a creare le tue skill, puoi installare quelle create da altri. Ciò dimostra l'utilizzo di competenze portatili, ovvero moduli autonomi di conoscenze, istruzioni e flussi di lavoro che possono essere facilmente condivisi e riutilizzati.

Le competenze dell'agente per Firebase sono un ottimo esempio di questi moduli portatili. Sono progettati per aiutare gli assistenti AI a comprendere le best practice di Firebase ed eseguire attività complesse con maggiore precisione e a un costo inferiore dei token.

Ora utilizza le competenze dell'agente per Firebase per creare un'applicazione web "Cose da fare", con autenticazione utente e un database, ed eseguine il deployment su Firebase Hosting.

Configura il progetto

  1. Se sei ancora in Gemini CLI, digita /quit per uscire.
  2. Crea una nuova directory per il tuo progetto e accedi alla directory:
    mkdir ~/todo-app && cd ~/todo-app
    
  3. Accedi a Firebase utilizzando il tuo Account Google. Utilizza il flag --no-localhost poiché ti trovi in Cloud Shell:
    firebase login --no-localhost
    
    1. Interagisci con i prompt della CLI:
      • Quando ti viene chiesto Enable Gemini in Firebase features?, digita Y (per Sì) e premi Enter.
      • Quando ti viene chiesto Allow Firebase to collect CLI and Emulator Suite usage and error reporting information?, digita Y (per Sì) e premi Enter.
    2. Autorizza nel browser:
      • Vedrai un URL nel terminale. Fai clic sul link per aprire la pagina di accesso in una nuova scheda del browser.
      • Passaggio 1 di 3 (conferma del comando): fai clic su Sì, ho appena eseguito questo comando.
      • Passaggio 2 di 3 (Conferma ID sessione): assicurati che l'ID sessione corrisponda a quello visualizzato nel terminale, quindi fai clic su Sì, questo è il mio ID sessione.
      • Passaggio 3 di 3 (Copia codice): fai clic su Copia per copiare il codice di autorizzazione negli appunti.
    3. Completa l'accesso:
      • Torna al terminale Cloud Shell e incolla il codice di autorizzazione al prompt ? Enter authorization code:.
      • Premi Enter.
    Dovresti visualizzare un messaggio di operazione riuscita: ✔ Success! Logged in as .

Installa Agent Skills per Firebase

Ora che hai creato la directory del progetto, devi installare Agent Skills per Firebase al suo interno.

Puoi installare Agent Skills per Firebase con la CLI skills nel terminale:

npx skills add firebase/agent-skills

Durante l'installazione, ti verrà chiesto di selezionare le skill da installare. Utilizza i tasti freccia per navigare nell'elenco e la barra spaziatrice per selezionare queste competenze.

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

Selezione di quattro competenze Firebase

Per le richieste successive, puoi accettare in sicurezza i valori predefiniti premendo Enter.

Questo comando scaricherà e installerà le skill, tra cui firebase-basics e firebase-hosting-basics, rendendole disponibili per l'utilizzo in Gemini CLI insieme alla skill my-favorite-things.

Per saperne di più sulle competenze dell'agente per Firebase, consulta Competenze disponibili.

Crea ed esegui il deployment di un'app web di base

  1. Abilita le API richieste per il tuo progetto:
    gcloud services enable \
      cloudresourcemanager.googleapis.com \
      firebase.googleapis.com
    
  2. Attiva Firebase nel tuo progetto Google Cloud attuale:
    firebase projects:addfirebase ${GOOGLE_CLOUD_PROJECT}
    
  3. Avvia Gemini CLI:
    gemini
    
  4. Chiedi a Gemini di generare un index.html di base:
    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 ti chiederà di creare index.html ed eseguire firebase. Premi Enter per consentire a Gemini CLI di utilizzare le competenze dell'agente per Firebase per creare e implementare il tuo sito web. Guida l'agente insieme alle approvazioni, se necessario.

Al termine del deployment, dovrebbe essere fornito un URL per l'app web. Utilizza ctrl+click (Windows) o cmc+click (Mac) per aprire i link nel terminale dell'editor di Cloud Shell. Visita l'URL dell'app di cui hai eseguito il deployment.

Aggiungi Firebase Authentication

  1. Avvia Gemini CLI se non è già stata avviata:
    gemini
    
    Gemini potrebbe farti domande come "Ti fidi di questa cartella?" Premi Enter per accettare i valori predefiniti.
  2. Ora chiedi a Gemini di aggiungere l'accesso con 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 potrebbe chiederti di creare o aggiornare file come index.html, style.css e script.js. Consenti a Gemini di farlo. Gemini potrebbe chiederti di eseguire alcune azioni nella console Firebase. L'interfaccia a riga di comando è in grado di eseguire la maggior parte di queste operazioni se le chiedi di provarci, ma il completamento manuale dei passaggi (come l'attivazione di Google OAuth) potrebbe essere necessario se nella tua istanza Cloud Shell è installata una versione precedente di Firebase CLI.

Al termine del deployment, dovrebbe essere fornito un URL per l'app web. Utilizza ctrl+click (Windows) o cmc+click (Mac) per aprire i link nel terminale dell'editor di Cloud Shell. Visita l'URL dell'app di cui hai eseguito il deployment.

Per visualizzare le ultime modifiche, potrebbe essere necessario eseguire un "aggiornamento forzato" con ctrl+shift+R (Windows) o cmd+shift+R (Mac).

Aggiungi Cloud Firestore

  1. Avvia Gemini CLI se non è già stata avviata:
    gemini
    
    Gemini potrebbe farti domande come "Ti fidi di questa cartella?" Premi Enter per accettare i valori predefiniti.
  2. Chiedi a Gemini di aggiungere Firestore per salvare le attività:
    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 aggiornerà i file. Consenti di farlo.

Al termine del deployment, dovrebbe essere fornito un URL per l'app web. Utilizza ctrl+click (Windows) o cmc+click (Mac) per aprire i link nel terminale dell'editor di Cloud Shell. Visita l'URL dell'app di cui hai eseguito il deployment.

Per visualizzare le ultime modifiche, potrebbe essere necessario eseguire un "aggiornamento forzato" con ctrl+shift+R (Windows) o cmd+shift+R (Mac).

Se l'applicazione non funziona come previsto, continua a utilizzare Gemini CLI per ottenere la funzionalità che ti aspetti. Esempio: shell Hide the task form when the user is logged out. Update the security rules so the user can see their TODOs.

Continua a sperimentare con il lab per aggiungere le funzionalità che vorresti vedere nella tua nuova applicazione Firebase.

7. Conclusione

Complimenti! Hai creato correttamente una skill e hai imparato a installare skill aggiuntive per Gemini CLI.

(Facoltativo) Pulizia

Se vuoi liberare spazio, puoi eliminare il tuo progetto Cloud per evitare addebiti aggiuntivi.

Se vuoi, elimina il progetto:

gcloud projects delete $GOOGLE_CLOUD_PROJECT

Puoi anche eliminare le risorse non necessarie dal disco di Cloud Shell per liberare spazio.

  1. Elimina la directory del lab (in questo modo vengono rimossi sia la skill sia l'app):
    rm -rf ~/agent-skills-lab
    
  2. Elimina la directory dell'applicazione "To Do" (se l'hai creata all'esterno):
    rm -rf ~/todo-app
    

Se devi reimpostare Cloud Shell allo stato predefinito, puoi seguire la documentazione ufficiale per istruzioni su come farlo in modo sicuro.