Como criar habilidades de agente para a CLI do Gemini

1. Introdução

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 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 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 custo financeiro de US$300.
  4. Crie um projeto ou reutilize um projeto existente.
    • Se aparecer um erro sobre a cota do projeto, reutilize ou exclua um projeto para criar outro.

3. Abrir editor do Cloud Shell

  1. Clique neste link para navegar diretamente até o editor do Cloud Shell.
  2. Se for preciso autorizar em algum 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:
      • 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ê encontrar um WARNING e receber a pergunta Do you want to continue (Y/n)?, provavelmente inseriu o ID do projeto de forma incorreta. Pressione n, Enter e tente executar o comando gcloud config set project novamente.

4. Criar uma skill de "coisas favoritas"

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 armazenar sua skill:
    mkdir -p ~/.gemini/skills/my-favorite-things
    
  2. Crie e abra um novo arquivo SKILL.md para sua skill:
    cloudshell edit ~/.gemini/skills/my-favorite-things/SKILL.md
    
    O comando cloudshell edit vai abrir o arquivo SKILL.md no editor acima do terminal.
  3. Adicione o seguinte conteúdo ao arquivo SKILL.md:
    ---
    name: my-favorite-things
    description: Information about my favorite things. Use this skill to answer questions about my favorite color, food, or programming language.
    ---
    
    My favorite color is blue.
    My favorite food is pizza.
    My favorite programming language is 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 skill. Agora é hora de usar essa habilidade na CLI do Gemini.

5. Usar sua habilidade na CLI do Gemini

Agora que você criou uma habilidade, é possível usá-la com a CLI do Gemini. As habilidades colocadas em ~/.gemini/skills são descobertas automaticamente pela CLI do Gemini.

  1. Iniciar a CLI do Gemini no Cloud Shell
    gemini
    
    Talvez seja necessário pressionar Enter para aceitar algumas configurações padrão.
  2. Pedir para o Gemini listar as habilidades disponíveis no contexto
    /skills
    
    my-favorite-things vai aparecer na lista de habilidades disponíveis.
  3. 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 deve mostrar que a CLI do Gemini usou sua habilidade e respondeu com "Azul".

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

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

6. Instalar habilidades de agente para o Firebase

Além de criar suas próprias skills, você pode instalar skills criadas por outras pessoas. As habilidades do agente para Firebase (GitHub) são módulos portáteis e independentes de conhecimento, instruções e fluxos de trabalho específicos do Firebase. Eles foram criados 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.

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

npx skills add firebase/agent-skills

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

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

7. Conheça as habilidades do agente para Firebase

As habilidades do agente para Firebase agora estão instaladas e prontas para uso na CLI do Gemini. Para conferir, execute a CLI do Gemini e digite /skills firebase:

gemini

Em seguida, na CLI do Gemini:

/skills firebase

Você vai encontrar uma lista de habilidades do Firebase instaladas, como firebase-basics, firebase-auth-basics, firebase-firestore-basics e firebase-app-hosting-basics.

8. (Opcional) Use as habilidades do agente para o Firebase para criar e implantar um aplicativo

Agora, use as habilidades do agente para Firebase instaladas e crie um aplicativo da Web "A fazer" com autenticação de usuário e um banco de dados. Depois, implante no Firebase App Hosting.

  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. Se você estiver no Cloud Shell ou em outro ambiente sem um navegador, use a flag --no-localhost.
    firebase login --no-localhost
    
    Siga as instruções para autorizar a CLI do Firebase.
  4. Inicie a CLI do Gemini:
    gemini
    
  5. Agora, peça ao Gemini para gerar o código do aplicativo:
    Generate HTML, CSS, and Javascript for a single page  application. It should use Google Sign-in with Firebase Authentication, and 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.
    
    O Gemini pode pedir para criar arquivos como index.html, style.css e script.js. Permita que ele faça isso.
  6. Por fim, implante o aplicativo no Firebase App Hosting:
    /firebase-app-hosting-basics deploy my web app to Firebase App Hosting.
    
    Siga as instruções para configurar o App Hosting e concluir a implantação. Depois da implantação, você vai receber um URL para seu aplicativo ativo.

9. 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 do Cloud 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. Você pode:

  1. Exclua o diretório da habilidade:
    rm -rf ~/.gemini/skills/my-favorite-things
    
  2. Aviso: Não é possível desfazer a próxima ação. Se você quiser excluir tudo no Cloud Shell para liberar espaço, exclua todo o diretório inicial. Tenha cuidado para que tudo o que você quer manter seja salvo em outro lugar.
    sudo rm -rf $HOME