Criar um assistente de código de IA com o agente do Pipet Code

Escrever códigos pode ser gratificante e satisfatório, mas extrair o código trabalhar e estar apresentável para os colegas muitas vezes é uma tarefa difícil. Artificial os modelos generativos de inteligência podem ajudar você a adicionar comentários no código, erros antes dos revisores humanos, e realizar uma série de outras tarefas para tornar seu fluxo de trabalho de codificação mais fácil.

Neste tutorial, mostramos como estender Pipet Code Agent (em inglês) uma ferramenta de assistência de código com tecnologia de IA criada pela equipe de relações com desenvolvedores de IA na Google. Este projeto de código aberto é uma extensão do Microsoft Visual Studio Code (VS Code) que ajuda você a e cuida de algumas das tarefas mais importantes, mas menos divertidas, da codificação, como comentar, seu código, encontrando erros e sugerindo melhorias. A extensão envia na programação de solicitações de assistência para a API Gemini e incorpora as respostas janela de edição de código.

É possível modificar a função Pipet para fazer essas funções existentes funcionarem melhor para você ou crie novos comandos para oferecer um suporte melhor ao seu fluxo de trabalho de desenvolvimento.

Para um vídeo de visão geral do projeto e como estendê-lo, incluindo insights dos criadores, confira Assistente de IA Code: crie com a IA do Google. Caso contrário, comece a ampliar o projeto seguindo as instruções. a seguir.

Configurar o projeto

Estas instruções ajudam você a configurar o projeto do agente de código pipe para desenvolvimento e testes. As etapas gerais são a instalação de alguns pré-requisitos de software, definindo algumas variáveis de ambiente, clonando o projeto do código e execute a instalação da configuração.

Instalar os pré-requisitos

O projeto do Pipet Code Agent é executado como uma extensão do Visual Studio da Microsoft Code e usa Node.js e a ferramenta npm para gerenciar e executar o aplicativo. As instruções de instalação a seguir são em uma máquina host Linux.

Para instalar o software necessário:

  1. Instale o Visual Studio Code. para sua plataforma.
  2. Instale node e npm seguindo as instruções de instruções da sua plataforma.

Clonar e configurar o projeto

Baixe o código do projeto e use o comando de instalação npm para fazer o download as dependências necessárias e configurar o projeto. Você precisa o 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:

  1. Clone o repositório git usando o comando a seguir.
    git clone https://github.com/google/generative-ai-docs
    
  2. Outra opção é configurar o repositório git local para usar a finalização esparsa. então você só tem os arquivos do projeto do agente do Documentos.
    cd generative-ai-docs/
    git sparse-checkout init --cone
    git sparse-checkout set examples/gemini/node/pipet-code-agent/
    
  3. Navegue até o diretório raiz do projeto do agente de código pipe.
    cd generative-ai-docs/examples/gemini/node/pipet-code-agent/
    
  4. Execute o comando de instalação para fazer o download das dependências e configurar o projeto:
    npm install
    

Configurar e testar a extensão

Agora é possível testar sua instalação executando o Pipet Code Agent como uma extensão de desenvolvimento no VS Code no seu dispositivo. O teste abre um VS separado Janela Extension Development Host do código em que a nova extensão está disponível. Nessa nova janela, configure a chave de API que a extensão usa para acessar API Google Gemini.

Agente de código pipe em execução na janela "Host de desenvolvimento de extensão" Figura 1. Janela do host de desenvolvimento da extensão do VS Code com o Pipet comandos de extensão.

Para definir e testar a configuração:

  1. Inicie o aplicativo VS Code.
  2. No VS Code, crie uma nova janela selecionando File > Nova janela.
  3. Abra o projeto do Pipet Code Agent selecionando File > Abrir pasta, e selecionando a pasta pipet-code-agent/.
  4. Abra o arquivo pipet-code-agent/package.json.
  5. Execute a extensão no modo de depuração selecionando Run > Iniciar depuração. Esta etapa abre uma janela separada, o Host de desenvolvimento da extensão do VS Code.
  6. Abra as configurações do VS Code selecionando Code > Configurações > Configurações.
  7. Receba uma chave da API Google Gemini site para desenvolvedores de IA generativa e copie a string da chave.
  8. Definir a chave de API como uma configuração. Nas Configurações de pesquisa digite pipet, selecione a guia Usuário e no menu Google > Gemini: API da API, clique no link Editar em settings.json e adicione a Chave da API Gemini:
    "google.gemini.apiKey": "your-api-key-here"
    
  9. Salve as mudanças no arquivo settings.json e feche as guias de configurações.
.

Para testar os comandos de extensão:

  1. Na janela Extension Development Host do VS Code, selecione qualquer código. na janela do editor.
  2. Abra a paleta de comandos selecionando Exibir > Paleta de comandos.
  3. Na Paleta de comandos, digite Pipet e selecione um dos comandos esse prefixo.

Modificar o comando atual

Modificar os comandos fornecidos no Pipet Code Agent é a maneira mais simples de alterar o comportamento e os recursos da extensão. Tanto o comentário quanto os comandos de revisão usam uma comandos de poucos shots abordagem com exemplos de código e comentários para esse código, bem como alguns instruções gerais para o modelo generativo de IA. Este contexto de comando informações orientam o modelo generativo do Gemini na formação de uma resposta. De alterando as instruções, os exemplos ou ambos os comandos no comentário ou revisar comandos, é possível alterar o comportamento de cada um dos comandos existentes.

Este conjunto de instruções explica como modificar o comando review.ts alterando o texto do prompt do comando.

Para se preparar para editar o comando review.ts:

  1. Inicie o aplicativo VS Code.
  2. No VS Code, crie uma nova janela selecionando File > Nova janela.
  3. Abra o projeto do Pipet Code Agent selecionando File > Abrir pasta, e selecionando a pasta pipet-code-agent/.
  4. Abra pipet-code-agent/src/review.ts.

Para modificar o comportamento do comando review.ts:

  1. No arquivo review.ts, mude o início de PROMPT. constante com 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}
    ...
  2. Opcionalmente, no arquivo review.ts, adicione outro exemplo à lista de exemplos de revisão de código e 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.
    ';
  3. Salve as mudanças no arquivo review.ts.

Para testar o comando modificado:

  1. Na janela do projeto da extensão VS Code Pipet, reinicie o depurador. selecionando Executar > Reiniciar depuração.
  2. Na janela Extension Development Host do VS Code, selecione qualquer código. na janela do editor.
  3. Abra a paleta de comandos selecionando Exibir > Paleta de comandos.
  4. Na paleta de comandos, digite Pipet e selecione Pipet: Review the selecionado.

Criar novo comando

É possível estender o Pipet com a criação de novos comandos que executam tarefas completamente novas com a API Gemini. Cada arquivo de comando (comment.ts e review.ts) tem a maior parte do independente e inclui código para coletar texto do editor ativo, escrever um comando, se conectar à API Gemini, enviar um comando e processar a resposta.

Agente de código de Pipet com o nome da função de seleção mostrada Figura 2. Novo comando de recomendação do nome da função na extensão do VS Code Janela "Host de desenvolvimento".

Este conjunto de instruções explica como criar um novo comando usando o código do um comando atual, comment.ts, como um modelo.

Para criar um comando que recomende nomes para funções:

  1. Faça uma cópia do arquivo pipet-code-agent/src/comment.ts chamado name.ts no diretório src/.
  2. No VS Code, abra o arquivo src/name.ts.
  3. Mude as instruções de comando no arquivo name.ts da seguinte forma: editando o valor PROMPT.
    // Provide instructions for the AI generative model
    const PROMPT = `Recommend a name for this function. Explain your
    reasoning in 3 sentences or less:`;
    
  4. Mude o nome da função de comando e a mensagem informativa.
    export async function generateName() {
      vscode.window.showInformationMessage('Generating function name...');
    
  5. Atualize o código Assembly do comando para incluir apenas PROMPT. e o texto selecionado no editor.
      // Build the full prompt using the template.
      const fullPrompt = `${PROMPT}
    "
    ${selectedCode}
    "
    `;
  6. Altere 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);
    
  7. 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 o restante da extensão. Atualize os arquivos extension.ts e package.json para torne o novo comando parte da extensão e permita que o VS Code invoque o novo comando.

Para integrar o comando name ao código de extensão:

  1. No VS Code, abra o arquivo pipet-code-agent/src/extension.ts.
  2. Adicione o novo arquivo de código à extensão adicionando uma nova importação. .
    import { generateName } from './name';
    
  3. Registre o novo comando adicionando o seguinte código ao função activate().
    export function activate(context: vscode.ExtensionContext) {
        ...
        vscode.commands.registerCommand('pipet-code-agent.nameFunction', generateName);
    }
  4. Salve as mudanças no arquivo extension.ts.

Para integrar o comando name ao pacote de extensão:

  1. No VS Code, abra o arquivo pipet-code-agent/package.json.
  2. Adicione o novo comando à seção commands do pacote. .
      "contributes": {
        "commands": [
          ...
          {
            "command": "pipet-code-agent.nameFunction",
            "title": "Pipet: Name the selected function."
          }
        ],
    
  3. Salve as mudanças no arquivo package.json.

Testar o novo comando

Depois de codificar o comando e integrá-lo com o você poderá testá-la. Seu novo comando só está disponível no Janela Extension Development Host, e não na janela do VS Code em que você editou o código da extensão.

Para testar o comando modificado:

  1. Na janela do projeto da extensão VS Code Pipet, reinicie o depurador. selecionando Executar > Reiniciar depuração, que reinicia uma Janela Extension Development Host.
  2. Na janela Extension Development Host do VS Code, selecione um código. na janela do editor.
  3. Abra a paleta de comandos selecionando Exibir > Paleta de comandos.
  4. Na paleta de comandos, digite Pipet e selecione Pipet: Name the comando da função selecionada.

Outros recursos

Para mais informações sobre o projeto de agente de código pipe, consulte a repositório de códigos (link em inglês). Se você precisar de ajuda para criar o aplicativo ou estiver procurando desenvolvedores colaboradores, confira o Discord da comunidade do Google Developers servidor.

Aplicativos de produção

Se você planeja implantar o Agente do Documentos para um público grande, observe que o uso do a API Gemini do Google pode estar sujeita à limitação de taxa, restrições de uso. Se você está pensando em criar um aplicativo de produção com a API Gemini, como Agente do Documentos, confira Vertex AI do Google Cloud para aumentar a escalonabilidade e a confiabilidade do seu app.