Skip to main content

Uso responsável da CLI do GitHub Copilot

Saiba como usar o CLI do GitHub Copilot de modo responsável, compreendendo suas finalidades, recursos e limitações.

Quem pode usar esse recurso?

O CLI do GitHub Copilot está disponível com os planos GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business e GitHub Copilot Enterprise.

Se você receber o Copilot de uma organização, a política CLI do Copilot deverá ser habilitada nas configurações da organização.

Sobre o CLI do GitHub Copilot

A CLI do GitHub Copilot fornece uma interface semelhante a um chat no terminal que pode criar e modificar arquivos de forma autônoma em seu computador e executar comandos. Você pode pedir à Copilot para executar qualquer ação nos arquivos no diretório ativo.

A CLI do GitHub Copilot pode gerar alterações personalizadas com base em sua descrição e configurações, incluindo tarefas como correções de bug, implementação de novos recursos incrementais, criação de protótipos, documentação e manutenção da base de código.

Ao trabalhar em sua tarefa, o agente do Copilot tem acesso ao seu ambiente de terminal local, onde ele pode fazer alterações no código, executar testes automatizados, executar linters e executar comandos disponíveis em seu ambiente.

O agente foi avaliado em uma variedade de linguagens de programação, sendo o inglês o principal idioma compatível.

O agente trabalha usando uma combinação de processamento de linguagem natural e machine learning para entender sua tarefa e fazer alterações em uma base de código para concluir a tarefa. Esse processo pode ser dividido em várias etapas.

Processamento de entrada

O prompt de entrada do usuário é combinado com outras informações contextuais relevantes para formar um prompt. Esse prompt é enviado para um modelo de linguagem grande para processamento. As entradas podem assumir a forma de linguagem natural simples, snippets de código ou referências a arquivos em seu terminal.

Análise de modelo de linguagem

O prompt então percorre todo um grande modelo de linguagem, que é uma rede neural treinada em um grande corpo de dados. O modelo de linguagem analisa o prompt de entrada para ajudar o agente a raciocinar sobre a tarefa e aproveitar as ferramentas necessárias.

Geração de resposta

O modelo de linguagem gera uma resposta com base na análise do prompt. Essa resposta pode assumir a forma de sugestões de linguagem natural, sugestões de código, modificações de arquivo e execuções de comando.

Formatação de saída

A resposta gerada pelo agente é formatada e apresentada a você. A CLI do GitHub Copilot usa realce de sintaxe, recuo e outros recursos de formatação para que a resposta gerada fique mais clara.

O agente também pode querer executar comandos em seu ambiente local e criar, editar ou excluir arquivos em seu sistema de arquivos para realizar a tarefa.

Você pode fornecer comentários ao agente depois que ele retornar uma resposta na janela de chat interativa. O agente então reenviará esses comentários para o modelo de linguagem para análise posterior. Depois que o agente concluir as alterações com base nos comentários, o agente retornará uma resposta adicional.

O objetivo do Copilot é fornecer a solução mais relevante para a resolução de tarefas. Mas, nem sempre ele consegue fornecer a resposta que você está procurando. Você é responsável por revisar e validar as respostas geradas pelo Copilot para garantir que sejam precisas e adequadas. Para obter mais informações, consulte a seção Como aprimorar os resultados da CLI do GitHub Copilot, mais adiante neste artigo.

Casos de uso do CLI do GitHub Copilot

Você pode delegar uma tarefa ao Copilot em uma variedade de cenários, incluindo:

  • Manutenção de base de código: como lidar com correções relacionadas à segurança, atualizações de dependência e refatoração direcionada.
  • Documentação: como atualizar e criar uma nova documentação.
  • Desenvolvimento de recursos: como implementar solicitações de recursos incrementais.
  • Melhorar a cobertura de teste: como desenvolver conjuntos de testes adicionais para gerenciamento de qualidade.
  • Criar protótipos de novos projetos: como lançar novos conceitos.
  • Configurar seu ambiente: executar comandos no terminal para configurar seu ambiente local para trabalhar em projetos existentes
  • Encontre o comando certo para executar uma tarefa: o Copilot pode fornecer sugestões de comandos para executar tarefas que você está tentando realizar.
  • Explicar um comando desconhecido: o Copilot pode fornecer uma descrição em linguagem natural da funcionalidade e da finalidade de um comando.

Como aprimorar os resultados da CLI do GitHub Copilot

A CLI do GitHub Copilot pode dar suporte a uma ampla variedade de tarefas. Você pode adotar várias medidas para aprimorar as respostas que você recebe e resolver algumas das limitações do agente.

Para obter mais informações sobre limitações, consulte a seção Limitações da CLI do GitHub Copilot, mais adiante neste artigo.

Verifique se o escopo das tarefas está bem definido

A CLI do GitHub Copilot aproveita o prompt como contexto básico ao gerar uma pull request. Quanto mais claro e bem definido o prompt que você atribuir ao agente, melhor serão os resultados obtidos. Um issue ideal inclui:

  • Uma descrição clara do problema a ser resolvido ou do trabalho necessário.
  • Critérios de aceitação completos para determinar o que é uma boa solução (por exemplo, deve haver testes de unidade?).
  • Dicas ou ponteiros sobre quais arquivos precisam ser alterados.

Personalizar sua experiência com contexto adicional

A CLI do GitHub Copilot aproveita o prompt, os comentários e o código do repositório como contexto ao gerar sugestões de alterações. Para aprimorar o desempenho do Copilot, considere implementar instruções personalizadas do Copilot para ajudar o agente a entender melhor seu projeto e compilar, testar e validar suas alterações. Para obter mais informações, confira "Adicionar instruções personalizadas ao seu repositório" no Práticas recomendadas de uso do GitHub Copilot para trabalhar em tarefas.

Usar o CLI do GitHub Copilot como uma ferramenta, não uma substituição

Embora a CLI do GitHub Copilot possa ser uma ferramenta avançada para gerar código e documentação, é importante usá-la como uma ferramenta, em vez de uma substituição à programação humana. Você sempre deve revisar e verificar comandos gerados pela CLI do GitHub Copilot para garantir que eles atendam aos requisitos e não tenham erros nem questões de segurança.

Use práticas seguras de codificação e revisão de código

Embora a CLI do GitHub Copilot possa gerar código sintaticamente correto, ele pode nem sempre ser seguro. Você sempre deve seguir as práticas recomendadas para codificação segura, como evitar senhas embutidas em código ou vulnerabilidades de injeção de SQL, além de seguir as práticas recomendadas de revisão de código, para resolver as limitações do agente. Você deve sempre tomar as mesmas precauções que tomaria com qualquer código que escrevesse que utilizasse material não originado de maneira independente, incluindo precauções para garantir sua adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança.

Enviar comentários

Se você encontrar problemas ou limitações com a CLI do GitHub Copilot, recomendamos que você forneça comentários usando o comando /feedback.

Medidas de segurança para a CLI do GitHub Copilot

Como restringir permissões do Copilot

Por padrão, o Copilot só tem acesso a arquivos e pastas no diretório em que a CLI do GitHub Copilot foi invocada. Verifique se você confia nos arquivos neste diretório. Se o Copilot desejar acessar arquivos fora do diretório atual, ele solicitará permissão. Conceda permissão somente se você confiar no conteúdo desse diretório.

O Copilot solicitará permissão antes de modificar arquivos. Verifique se ele está modificando os arquivos corretos antes de conceder permissão.

O Copilot também solicitará permissão antes de executar comandos que possam ser perigosos. Examine esses comandos cuidadosamente antes de dar permissão para executar.

Para obter mais informações sobre práticas de segurança ao usar a CLI do GitHub Copilot, consulte "Considerações de segurança" em Sobre a CLI do GitHub Copilot.

Limitações do CLI do GitHub Copilot

Dependendo de fatores como a base de código e dados de entrada, você pode obter diferentes níveis de desempenho ao usar a CLI do GitHub Copilot. As informações a seguir ajudam a entender as limitações do sistema e os principais conceitos sobre desempenho, conforme se aplicam à CLI do GitHub Copilot.

Escopo limitado

O modelo de linguagem usado pela CLI do GitHub Copilot foi treinado em um grande corpo de código, mas ainda tem um escopo limitado e pode não conseguir lidar com determinadas estruturas de código ou linguagens de programação obscuras. Para cada linguagem, a qualidade das sugestões recebidas pode depender do volume e da diversidade de dados de treinamento para essa linguagem.

Possíveis desvios

O modelo de linguagem usado pelos dados de treinamento da CLI do GitHub Copilot e pelo contexto coletado pelo grande modelo de linguagem pode conter viéses e erros que a ferramenta pode propagar. Além disso, a CLI do GitHub Copilot pode ser tendenciosa em relação a determinadas linguagens de programação ou estilos de codificação, o que pode resultar em comentários não ideais ou sugestões incompletas.

Riscos de segurança

A CLI do GitHub Copilot gera código e linguagem natural com base no contexto de um Issue ou comentário em um repositório, que poderá expor informações confidenciais ou vulnerabilidades se não for usado com cuidado. Você deve ter o cuidado de examinar todas as saídas geradas pelo CLI do GitHub Copilot meticulosamente antes de mesclar.

Código impreciso

A CLI do GitHub Copilot pode gerar código que pareça válido, mas que pode não estar realmente correto em termos semânticos ou sintáticos ou pode não refletir com precisão a intenção do desenvolvedor.

Para atenuar o risco de código impreciso, revise e teste cuidadosamente o código gerado, ainda mais ao lidar com aplicativos críticos ou confidenciais. Você também deve garantir que o código gerado siga práticas recomendadas e os padrões de design e se encaixe na arquitetura geral e no estilo da base de código.

Código público

A CLI do GitHub Copilot pode gerar código que seja semelhante ou quase semelhante ao código disponível publicamente, mesmo que a política "Sugestões correspondentes ao código público" esteja definida como "Bloquear". Confira Como gerenciar políticas do GitHub Copilot como um assinante individual.

Os usuários precisam avaliar possíveis obrigações legais e regulatórias específicas ao usar serviços e soluções de IA, o que pode não ser apropriado para uso em todos os setores ou cenários. Além disso, os serviços ou as soluções de IA não são projetados e podem não ser usados de maneiras proibidas em termos de serviço aplicáveis e códigos de conduta relevantes.

Gerenciamento de riscos e responsabilidade do usuário na execução de comandos

É necessário cuidado adicional ao pedir ou permitir que a CLI do GitHub Copilot execute um comando, particularmente em relação à potencial destrutividade de alguns comandos sugeridos. Você pode encontrar comandos de exclusão de arquivo ou formatação da unidade de disco rígido que podem causar problemas se usados incorretamente. Embora esses comandos possam ser necessários em determinados cenários, você precisa ter cuidado ao aceitá-los e executá-los.

Além disso, você é, em última análise, responsável pelos comandos executados pelo CLI do GitHub Copilot. A decisão de usar os comandos gerados pelo CLI do GitHub Copilot é inteiramente sua. Apesar da presença de mecanismos de segurança à prova de falhas, você deve entender que a execução de comandos tem riscos inerentes. O CLI do GitHub Copilot fornece um conjunto de ferramentas poderosas, mas você deve tratar suas recomendações com cautela e garantir que os comandos estejam alinhados com suas intenções e requisitos.

Leitura adicional