Como usar as habilidades do agente de IA (com a CLI do Gemini e as habilidades do agente para Firebase)

1. Introdução

Foto de capa do laboratório de habilidades do agente

Neste laboratório, você vai aprender a criar habilidades de agente para dar aos LLMs acesso a conhecimentos e fluxos de trabalho personalizados. Você vai criar uma habilidade local que pode ser acessada na CLI do Gemini.

Atividades deste laboratório

  • Crie suas próprias habilidades de agente para suas coisas favoritas.
  • Use a CLI do Gemini para consultar sua habilidade.
  • Instale as habilidades oficiais do agente para o Firebase e use-as para criar e implantar um app.

O que você vai aprender

  • Como estruturar uma habilidade.
  • Como escrever um arquivo SKILL.md.
  • Como usar habilidades locais com a CLI do Gemini.

2. Configuração do projeto

  1. Se você ainda não tiver uma Conta do Google, crie uma.
    • Use uma conta pessoal em vez de uma conta escolar ou de trabalho. As contas escolares e de trabalho podem ter restrições que impedem a ativação das APIs necessárias para este laboratório.
  2. Faça login no Console do Google Cloud.
  3. Ative o faturamento no console do Cloud.
    • A conclusão deste laboratório custa menos de US $1 em recursos do Cloud.
    • Siga as etapas no final deste laboratório para excluir recursos e evitar mais cobranças.
    • Novos usuários podem aproveitar o teste sem custos financeiros de US$300.
  4. Crie um projeto ou reutilize um projeto existente.
    • Se você receber um erro sobre a cota do projeto, reutilize ou exclua um projeto atual para criar um novo.

3. Abrir editor do Cloud Shell

  1. Clique neste link para acessar diretamente o editor do Cloud Shell.
  2. Se for preciso autorizar em algum momento hoje, clique em Autorizar para continuar. Clique para autorizar o Cloud Shell
  3. Se o terminal não aparecer na parte de baixo da tela, abra-o:
    • Clique em Visualizar.
    • Clique em TerminalAbrir novo terminal no editor do Cloud Shell.
  4. No terminal, defina o projeto com este comando:
    • Formato:
      gcloud config set project [PROJECT_ID]
      
    • Exemplo:
      gcloud config set project lab-project-id-example
      
    • Se você não se lembrar do ID do projeto, faça o seguinte:
      • Para listar todos os IDs de projeto, use:
        gcloud projects list | awk '/PROJECT_ID/{print $2}'
        
      Definir o ID do projeto no terminal do Editor do Cloud Shell
  5. Você vai receber esta mensagem:
    Updated property [core/project].
    
    Se você vir um WARNING e for perguntado Do you want to continue (Y/n)?, provavelmente inseriu o ID do projeto incorretamente. Pressione n, Enter e tente executar o comando gcloud config set project novamente.

4. Criar sua habilidade personalizada

As habilidades do agente são diretórios que contêm pelo menos um arquivo SKILL.md com instruções e conhecimento para um agente de IA. Nesta seção, você vai criar uma habilidade que ensina a CLI do Gemini sobre seus assuntos favoritos.

  1. Crie um diretório para este laboratório e acesse-o:
    mkdir ~/agent-skills-lab && cd ~/agent-skills-lab
    
  2. Crie um diretório para a skill do projeto:
    mkdir -p ~/agent-skills-lab/.agents/skills/my-favorite-things
    
  3. Crie e abra um novo arquivo SKILL.md para sua habilidade:
    cloudshell edit ~/agent-skills-lab/.agents/skills/my-favorite-things/SKILL.md
    
    O comando cloudshell edit vai abrir o arquivo SKILL.md no editor acima do terminal.
  4. Adicione o seguinte conteúdo ao arquivo 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.
    

Com apenas um arquivo SKILL.md, você criou sua primeira habilidade. Agora é hora de usar essa habilidade na CLI do Gemini.

5. Usar sua habilidade na CLI do Gemini

Agora que você criou uma habilidade, ela já pode ser descoberta pela CLI do Gemini porque está localizada no diretório .agents/skills.

  1. Inicie a CLI do Gemini:
    gemini
    
    A CLI do Gemini vai reconhecer a nova habilidade. Talvez seja necessário pressionar Enter para aceitar algumas configurações padrão.
  1. Pedir para o Gemini listar as habilidades disponíveis no contexto
    /skills
    
    Você vai encontrar my-favorite-things na lista de habilidades disponíveis.
  2. Pergunte ao Gemini sobre sua cor favorita:
    What is my favorite color?
    
    A CLI do Gemini precisa usar a habilidade my-favorite-things para responder à sua pergunta. Se solicitado, permita que a CLI do Gemini use a habilidade.

A saída vai mostrar que a CLI do Gemini usou sua habilidade e respondeu com algo como "Azul" ou "Minha cor favorita é azul".

Você conseguiu! Você criou e testou uma habilidade usando a CLI do Gemini.

Para encerrar a sessão, digite /quit e pressione Enter para sair da CLI do Gemini.

6. (Opcional) Criar e implantar um aplicativo no Firebase Hosting

Além de criar suas próprias skills, você pode instalar as criadas por outras pessoas. Isso demonstra o uso de habilidades portáteis, módulos autônomos de conhecimento, instruções e fluxos de trabalho que podem ser facilmente compartilhados e reutilizados.

As habilidades do agente para Firebase são um ótimo exemplo desses módulos portáteis. Eles foram projetados para ajudar os assistentes de IA a entender as práticas recomendadas do Firebase e executar tarefas complexas com mais precisão e menor custo de token.

Agora, use as habilidades do agente para o Firebase e crie um aplicativo da Web "A fazer" com autenticação de usuário e um banco de dados, além de implantá-lo no Firebase Hosting.

Criar o projeto

  1. Se você ainda estiver na CLI do Gemini, digite /quit para sair.
  2. Crie um novo diretório para seu projeto e navegue até ele:
    mkdir ~/todo-app && cd ~/todo-app
    
  3. Faça login no Firebase usando sua Conta do Google. Use a flag --no-localhost, já que você está no Cloud Shell:
    firebase login --no-localhost
    
    1. Interaja com os comandos da CLI:
      • Quando perguntado Enable Gemini in Firebase features?, digite Y (para Sim) e pressione Enter.
      • Quando perguntado Allow Firebase to collect CLI and Emulator Suite usage and error reporting information?, digite Y (para Sim) e pressione Enter.
    2. Autorizar no navegador:
      • Um URL vai aparecer no terminal. Clique no link (se não for possível clicar, destaque o URL no Cloud Shell para copiar e cole no navegador) para abrir a página de login em uma nova guia do navegador.
      • Etapa 1 de 3 (confirmar comando): clique em Sim, acabei de executar este comando.
      • Etapa 2 de 3 (confirmar ID da sessão): verifique se o ID da sessão corresponde ao que é mostrado no terminal e clique em Sim, este é meu ID de sessão.
      • Etapa 3 de 3 (Copiar código): clique em Copiar para copiar o código de autorização para a área de transferência.
    3. Conclua o login:
      • Volte ao terminal do Cloud Shell e cole o código de autorização no prompt ? Enter authorization code:.
      • Pressione Enter.
    Você vai receber uma mensagem de sucesso: ✔ Success! Logged in as .

Instalar o Agent Skills para Firebase

Agora que você criou o diretório do projeto, instale as habilidades do agente para o Firebase nele.

É possível instalar as Agent Skills para Firebase com a CLI skills no terminal:

npx skills add firebase/agent-skills

Durante a instalação, você vai precisar selecionar quais skills instalar. Use as teclas de seta para navegar pela lista e a barra de espaço para selecionar essas habilidades.

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

Selecionar quatro habilidades do Firebase

Para as solicitações subsequentes, aceite os padrões pressionando Enter.

Esse comando vai baixar e instalar habilidades, incluindo firebase-basics e firebase-hosting-basics, disponibilizando-as para uso na CLI do Gemini junto com sua habilidade my-favorite-things.

Para saber mais sobre o Agent Skills para Firebase, consulte as habilidades disponíveis.

Criar e implantar um app da Web básico

  1. Ative as APIs necessárias para seu projeto:
    gcloud services enable \
      cloudresourcemanager.googleapis.com \
      firebase.googleapis.com
    
  2. Ative o Firebase no seu projeto atual do Google Cloud:
    firebase projects:addfirebase ${GOOGLE_CLOUD_PROJECT}
    
  3. Inicie a CLI do Gemini:
    gemini
    
  4. Peça ao Gemini para gerar um index.html básico:
    Generate an index.html file with the content "Hello Firebase Hosting" and
    deploy the application to Firebase Hosting using the current Google Cloud
    Project.
    
    O Gemini vai pedir para criar index.html e executar firebase. Pressione Enter para permitir que ela faça isso.A CLI do Gemini vai usar o Agent Skills para Firebase para criar e implantar seu site. Oriente o agente e faça as aprovações necessárias.

Quando a implantação for concluída, um URL será fornecido para seu app da Web. Use ctrl+click (Windows/Linux) ou cmd+click (Mac) para abrir links no terminal do Editor do Cloud Shell. Acesse o URL do app implantado.

Adicionar o Firebase Authentication

  1. Inicie a CLI do Gemini, se ainda não tiver feito isso:
    gemini
    
    O Gemini pode fazer perguntas como "Você confia nesta pasta?" Pressione Enter para aceitar os padrões.
  2. Agora, peça para o Gemini adicionar o Google Sign-in:
    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.
    
    O Gemini pode pedir para criar ou atualizar arquivos como index.html, style.css e script.js. Permita que ele faça isso. O Gemini pode pedir que você realize algumas ações no console do Firebase. A CLI consegue fazer a maioria dessas ações se você pedir, mas talvez seja necessário concluir as etapas manualmente (como ativar o Google OAuth) se a instância do Cloud Shell tiver uma versão mais antiga da CLI do Firebase instalada.

Quando a implantação for concluída, um URL será fornecido para seu app da Web. Use ctrl+click (Windows/Linux) ou cmd+click (Mac) para abrir links no terminal do Editor do Cloud Shell. Acesse o URL do app implantado.

Para que as mudanças mais recentes apareçam, talvez seja necessário fazer uma "atualização forçada" com ctrl+shift+R (Windows/Linux) ou cmd+shift+R (Mac).

Adicionar o Cloud Firestore

  1. Inicie a CLI do Gemini, se ainda não tiver feito isso:
    gemini
    
    O Gemini pode fazer perguntas como "Você confia nesta pasta?" Pressione Enter para aceitar os padrões.
  2. Peça ao Gemini para adicionar o Firestore e salvar tarefas:
    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.
    
    O Gemini vai atualizar os arquivos. Permita que ele faça isso.

Quando a implantação for concluída, um URL será fornecido para seu app da Web. Use ctrl+click (Windows/Linux) ou cmd+click (Mac) para abrir links no terminal do Editor do Cloud Shell. Acesse o URL do app implantado.

Para que as mudanças mais recentes apareçam, talvez seja necessário fazer uma "atualização forçada" com ctrl+shift+R (Windows/Linux) ou cmd+shift+R (Mac).

Se o aplicativo não funcionar como esperado, continue trabalhando com a CLI do Gemini para ter a funcionalidade desejada. Exemplo: shell Hide the task form when the user is logged out. Update the security rules so the user can see their TODOs.

Continue testando o laboratório para adicionar os recursos que você quer ver no seu novo aplicativo do Firebase.

7. Conclusão

Parabéns! Você criou uma habilidade e aprendeu a instalar outras para a CLI do Gemini.

(Opcional) Limpar

Se quiser limpar, exclua o projeto na nuvem para evitar cobranças adicionais.

Se quiser, exclua o projeto:

gcloud projects delete $GOOGLE_CLOUD_PROJECT

Você também pode excluir recursos desnecessários do disco do Cloud Shell para liberar espaço.

  1. Exclua o diretório do laboratório. Isso remove a habilidade e o app:
    rm -rf ~/agent-skills-lab
    
  2. Exclua o diretório do aplicativo "To Do" (se você o criou fora):
    rm -rf ~/todo-app
    

Se você precisar redefinir o Cloud Shell para o estado padrão, siga a documentação oficial para instruções sobre como fazer isso com segurança.