Escrever códigos pode ser recompensador e satisfatório, mas conseguir que ele funcione para apresentável para colegas muitas vezes é uma tarefa árdua. Os modelos generativos de inteligência artificial podem ajudar você a adicionar comentários de código, encontrar erros antes dos revisores humanos e realizar uma série de outras tarefas para facilitar o fluxo de trabalho da programação.
Neste tutorial, mostramos como estender o Pipet Code Agent, uma ferramenta de assistência de código com tecnologia de IA criada pela equipe de relações com desenvolvedores de IA do Google. Esse projeto de código aberto é uma extensão do Visual Studio Code (VS Code) da Microsoft que ajuda a cuidar de algumas tarefas de programação importantes, mas menos divertidas, como comentar o código, encontrar erros e sugerir melhorias. A extensão envia solicitações de assistência de programação para a API Gemini e incorpora as respostas na janela de edição de código.
É possível modificar o Pipet para que essas funções atuais funcionem melhor ou criar novos comandos para melhorar o suporte ao fluxo de trabalho de desenvolvimento.
Para ter uma visão geral em vídeo do projeto e como estendê-lo, incluindo insights das pessoas que o criaram, confira Assistente de código de IA: criar com IA do Google. Caso contrário, comece a estender o projeto seguindo as instruções abaixo.
Configuração do projeto
As instruções a seguir orientam você na configuração do projeto do agente do código Pipet para desenvolvimento e teste. As etapas gerais são instalar um software de pré-requisito, definir algumas variáveis de ambiente, clonar o projeto do repositório de código e executar a instalação da configuração.
Instale os pré-requisitos
O projeto Pipet Code Agent é executado como uma extensão do Visual Studio Code da Microsoft e usa o Node.js e a ferramenta npm
para gerenciar os pacotes e executar o aplicativo. As instruções de instalação a seguir são
para uma máquina host Linux.
Para instalar o software necessário:
- Instale o Visual Studio Code da sua plataforma.
- Instale
node
enpm
seguindo as instruções de instalação da sua plataforma.
Clonar e configurar o projeto
Faça o download do código do projeto e use o comando de instalação npm
para fazer o download
das dependências necessárias e configurar o projeto. Você precisa do software de controle de origem git para recuperar o código-fonte do projeto.
Para fazer o download e configurar o código do projeto:
- Clone o repositório git usando o comando a seguir.
git clone https://github.com/google/generative-ai-docs
- Como opção, configure seu repositório git local para usar a finalização da compra esparsa
para que você tenha apenas os arquivos para o projeto do agente do Documentos.
cd generative-ai-docs/ git sparse-checkout init --cone git sparse-checkout set examples/gemini/node/pipet-code-agent/
- Navegue até o diretório raiz do projeto do agente do Pipet Code.
cd generative-ai-docs/examples/gemini/node/pipet-code-agent/
- Execute o comando de instalação para fazer o download de dependências e configurar o projeto:
npm install
Configurar e testar a extensão
Agora você pode testar sua instalação executando o Pipet Code Agent como uma extensão de desenvolvimento no VS Code no seu dispositivo. O teste abre uma janela separada Extension Development Host do VS Code em que a nova extensão está disponível. Nessa nova janela, você configura a chave de API que a extensão usa para acessar a API Google Gemini.
Figura 1. Janela do host de desenvolvimento da extensão do VS Code com os comandos de extensão Pipet.
Para configurar e testar sua configuração:
- Inicie o aplicativo VS Code.
- No VS Code, crie uma nova janela selecionando File > New Window.
- Abra o projeto do agente do código Pipet selecionando File > Open Folder
e a pasta
pipet-code-agent/
. - Abra o arquivo
pipet-code-agent/package.json
. - Para executar a extensão no modo de depuração, selecione Run > Start Debugging. Esta etapa abre uma janela separada Extension Development Host do VS Code.
- Abra as configurações do VS Code selecionando Code > Settings > Settings.
- Receba uma chave de API do Google Gemini no site para desenvolvedores de IA generativa e copie a string da chave.
- Definir a chave de API como configuração. No campo Configurações de pesquisa, digite
pipet
, selecione a guia Usuário e, na configuração Google > Gemini: chave de API, clique no link Editar em settings.json e adicione sua chave de API do Gemini:"google.gemini.apiKey": "your-api-key-here"
- Salve as mudanças no arquivo
settings.json
e feche as guias de configurações.
Para testar os comandos de extensão:
- Na janela Extension Development Host do VS Code, selecione qualquer código na janela do editor.
- Abra a Paleta de comandos selecionando Visualizar > Paleta de comandos.
- No Paleta de comandos, digite
Pipet
e selecione um dos comandos com esse prefixo.
Modificar comando atual
Modificar os comandos fornecidos no agente de código do Pipet é a maneira mais simples de alterar o comportamento e os recursos da extensão. Os comandos de comentário e revisão usam uma abordagem de comandos de shot com exemplos de código e comentários referentes a ele, bem como algumas instruções gerais para o modelo generativo de IA. Essas informações de contexto do comando orientam o modelo generativo do Gemini na formação de uma resposta. É possível alterar o comportamento de cada um dos comandos existentes ao alterar as instruções do prompt, os exemplos ou ambos nos comandos de comentário ou revisão.
Este conjunto de instruções explica como modificar o comando review.ts
alterando o texto do prompt.
Para se preparar para editar o comando review.ts
:
- Inicie o aplicativo VS Code.
- No VS Code, crie uma nova janela selecionando File > New Window.
- Abra o projeto do agente do código Pipet selecionando File > Open Folder
e a pasta
pipet-code-agent/
. - Abra
pipet-code-agent/src/review.ts
.
Para modificar o comportamento do comando review.ts
:
- No arquivo
review.ts
, altere o início da constante PROMPT para instruções diferentes.const PROMPT = ' Write review comments for following code, identifying bugs and ways to improve code quality. Examples of bugs are syntax errors or typos, out of memory errors, and boundary value errors. Examples of improving code quality are reducing complexity of code, eliminating duplicate code, and ensuring other developers are able to understand the code. ${CODE_LABEL} ...
- Se quiser, no arquivo
review.ts
, adicione outro exemplo à lista de exemplos de código e revisão de código.... ${REVIEW_LABEL} There are duplicate lines of code in this control structure. ${CODE_LABEL} const fixed_value = 128; ${REVIEW_LABEL} Make sure constant names are in all capitals (FIXED_VALUE) for clarity. ';
- Salve as mudanças no arquivo
review.ts
.
Para testar o comando modificado:
- Na janela do projeto de extensão do VS Code Pipet, reinicie o depurador selecionando Run > Restart Debugging.
- Na janela Extension Development Host do VS Code, selecione qualquer código na janela do editor.
- Abra a Paleta de comandos selecionando Visualizar > Paleta de comandos.
- No Paleta de comandos, digite
Pipet
e selecione o comando Pipet: Review the selected code.
Criar novo comando
Você pode estender o Pipet criando novos comandos que executam tarefas completamente novas com a API Gemini. Na maioria das vezes, cada arquivo de comando (comment.ts
e review.ts
) é
independente e inclui código para coletar texto do editor ativo,
compor um comando, conectar-se à API Gemini, enviar um prompt e processar
a resposta.
Figura 2. Novo comando de recomendação de nome de função na janela Host de desenvolvimento da extensão do VS Code.
Neste conjunto de instruções, explicamos como criar um novo comando usando o código de
um comando já existente, comment.ts
, como modelo.
Para criar um comando que recomenda nomes para funções, siga estas etapas:
- Faça uma cópia do arquivo
pipet-code-agent/src/comment.ts
chamadoname.ts
no diretóriosrc/
. - No VS Code, abra o arquivo
src/name.ts
. - Mude as instruções de solicitação no arquivo
name.ts
editando o valorPROMPT
.// Provide instructions for the AI generative model const PROMPT = `Recommend a name for this function. Explain your reasoning in 3 sentences or less:`;
- Altere o nome e a mensagem informativa da função de comando.
export async function generateName() { vscode.window.showInformationMessage('Generating function name...');
- Atualize o código Assembly do prompt para incluir apenas o valor
PROMPT
e o texto selecionado no editor.// Build the full prompt using the template. const fullPrompt = `${PROMPT} " ${selectedCode} " `;
- Mude a saída da resposta para descrever o que ela está gerando.
// update prefix to describe output let commentIntro = padding + commentPrefix + "Recommended name: (generated)\n"; editBuilder.insert(selection.start, commentIntro); editBuilder.insert(selection.start, pyComment);
- Salve as mudanças no arquivo
review.ts
.
Integrar o novo comando
Depois de concluir o código do novo comando, você precisa integrá-lo ao restante da extensão. Atualize os arquivos extension.ts
e package.json
para criar a nova parte do comando da extensão e permitir que o VS Code invoque o novo comando.
Para integrar o comando name
ao código da extensão:
- No VS Code, abra o arquivo
pipet-code-agent/src/extension.ts
. - Adicione o novo arquivo de código à extensão incluindo uma nova instrução
de importação.
import { generateName } from './name';
- Registre o novo comando adicionando o seguinte código à função
activate()
.export function activate(context: vscode.ExtensionContext) { ... vscode.commands.registerCommand('pipet-code-agent.nameFunction', generateName); }
- Salve as mudanças no arquivo
extension.ts
.
Para integrar o comando name
ao pacote de extensões:
- No VS Code, abra o arquivo
pipet-code-agent/package.json
. - Adicione o novo comando à seção
commands
do arquivo do pacote."contributes": { "commands": [ ... { "command": "pipet-code-agent.nameFunction", "title": "Pipet: Name the selected function." } ],
- Salve as mudanças no arquivo
package.json
.
Testar o novo comando
Depois de concluir a codificação do comando e a integração à extensão, você poderá testá-la. Seu novo comando só está disponível na janela Extension Development Host do VS Code, e não na janela do VS Code em que você editou o código da extensão.
Para testar o comando modificado:
- Na janela do projeto de extensão do VS Code Pipet, reinicie o depurador selecionando Run > Restart Debugging, que reinicia outra janela Extension Development Host.
- Na janela Extension Development Host do VS Code, selecione um código na janela do editor.
- Abra a Paleta de comandos selecionando Visualizar > Paleta de comandos.
- No Paleta de comandos, digite
Pipet
e selecione o comando Pipet: Name the selected function.
Outros recursos
Para mais informações sobre o projeto do agente do Pipet Code, consulte o repositório de códigos. Se você precisar de ajuda para criar o aplicativo ou estiver procurando colaboradores desenvolvedores, confira o servidor da Comunidade de desenvolvedores do Google no Discord.
Aplicativos de produção
Se você planeja implantar o agente do Docs para um público grande, observe que o uso da API Google Gemini pode estar sujeito a limitação de taxa e outras restrições de uso. Se estiver pensando em criar um aplicativo de produção com a API Gemini, como o Docs Agent, confira os serviços da Vertex AI do Google Cloud para aumentar a escalonabilidade e a confiabilidade do seu app.