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 do agente para fornecer 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 do 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 gravar 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, deverá criar uma Conta do Google.
    • 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 cobranças adicionais.
    • Novos usuários têm direito ao teste sem custos de US$300.
  4. Crie um novo projeto ou reutilize um projeto atual.
    • 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 navegar diretamente até o editor do Cloud Shell.
  2. Se for preciso autorizar a qualquer momento, 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 um 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:
      • É possível listar todos os IDs de projeto com:
        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ê receber um WARNING e a pergunta Do you want to continue (Y/n)?, provavelmente inseriu o ID do projeto incorretamente. Pressione n, pressione 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, no mínimo, um arquivo SKILL.md que fornece instruções e conhecimento a um agente de IA. Nesta seção, você vai criar uma habilidade que ensina a CLI do Gemini sobre suas coisas favoritas.

  1. Crie um diretório para este laboratório e navegue até ele:
    mkdir ~/agent-skills-lab && cd ~/agent-skills-lab
    
  2. Crie um diretório para a habilidade 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. É 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. Peça ao Gemini para 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 vai 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 uma habilidade e a testou usando a CLI do Gemini.

Quando estiver tudo pronto 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 habilidades, você pode instalar habilidades 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 compartilhados e reutilizados com facilidade.

As habilidades do agente para o Firebase são um ótimo exemplo desses módulos portáteis. Elas foram projetadas 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 para criar um aplicativo da Web "To Do", com autenticação de usuário e um banco de dados, e implante-o 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 prompts 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. Autorize no navegador:
      • Você vai encontrar um URL no terminal. Clique no link 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 as habilidades do agente para o Firebase

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

É possível instalar as habilidades do agente para o Firebase com a CLI de habilidades no terminal:

npx skills add firebase/agent-skills

Durante a instalação, você vai receber um pedido para selecionar as habilidades a serem instaladas. Use as teclas de seta para navegar na 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 os prompts subsequentes, aceite os padrões pressionando Enter.

Esse comando vai fazer o download e instalar habilidades, incluindo firebase-basics e firebase-hosting-basics, tornando-as disponíveis para uso na CLI do Gemini junto com a habilidade my-favorite-things.

Para saber mais sobre as habilidades do agente para o Firebase, consulte Habilidades disponíveis.

Criar e implantar um app da Web básico

  1. Ative as APIs necessárias para o 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 ele faça isso.A CLI do Gemini vai usar as habilidades do agente para o Firebase para criar e implantar seu site. Oriente o agente com aprovações conforme necessário.

Quando a implantação for concluída, um URL será fornecido para seu app da Web. Use ctrl+click (Windows) ou cmc+click (Mac) para abrir links no terminal do editor do Cloud Shell. Acesse o URL do aplicativo 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 ao Gemini para adicionar o login do 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.
    
    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 pode fazer a maioria delas se você pedir, mas talvez seja necessário concluir as etapas manualmente (como ativar o OAuth do Google) 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) ou cmc+click (Mac) para abrir links no terminal do editor do Cloud Shell. Acesse o URL do aplicativo implantado.

Para que as mudanças mais recentes apareçam, talvez seja necessário realizar uma "atualização forçada" com ctrl+shift+R (Windows) 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 para 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) ou cmc+click (Mac) para abrir links no terminal do editor do Cloud Shell. Acesse o URL do aplicativo implantado.

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

Se o aplicativo não funcionar conforme esperado, continue trabalhando com a CLI do Gemini para receber a funcionalidade esperada. 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 habilidades para a CLI do Gemini.

(Opcional) Limpar

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

Se quiser, exclua o projeto:

gcloud projects delete $GOOGLE_CLOUD_PROJECT

Também é possível 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.