O GitHub Copilot gera sugestões de código analisando o contexto do seu editor. Para melhorar o modelo e diagnosticar problemas, o Copilot coleta dados de telemetria sobre como você usa a ferramenta. Esses dados incluem trechos do seu código, ações do editor como aceitar ou descartar sugestões e informações de diagnóstico. Muitos administradores de empresas e desenvolvedores querem saber exatamente o que é enviado para a Microsoft antes de habilitar ou configurar o recurso. Este artigo explica cada categoria de telemetria, como revisar os dados coletados e como ajustar as configurações no Visual Studio Code e nas IDEs JetBrains.
Principais Conclusões: Dados de Telemetria do GitHub Copilot
- VS Code > Configurações > Extensões > GitHub Copilot > Telemetria: Controla se os dados de uso e trechos de código são enviados para a Microsoft para melhoria do produto.
- JetBrains Configurações > Ferramentas > GitHub Copilot > Telemetria: Oferece o mesmo controle de aceitação ou recusa para IDEs JetBrains.
- Política de Telemetria do GitHub Copilot: Os trechos de código enviados para análise de qualidade das sugestões não são armazenados por longo prazo e não são usados para treinar modelos com seu código privado.
Quais Dados de Telemetria o GitHub Copilot Coleta
O GitHub Copilot coleta três categorias de telemetria: eventos de uso, dados de diagnóstico e trechos de contexto de código. Os eventos de uso registram quando você aceita, rejeita ou aciona manualmente uma sugestão. Os dados de diagnóstico incluem logs de erro, métricas de desempenho e informações da versão da IDE. Os trechos de contexto de código são pequenos excertos do arquivo que você está editando e de outros arquivos abertos relacionados. Esses trechos são enviados para os servidores da Microsoft para gerar a próxima sugestão e avaliar a qualidade da sugestão. A telemetria não inclui toda a sua base de código, credenciais ou tokens de acesso pessoal. O GitHub Copilot filtra strings que parecem segredos antes de enviar dados de contexto.
Eventos de Uso
Cada vez que o Copilot oferece uma sugestão, ele registra se você pressionou Tab para aceitar, Escape para descartar ou continuou digitando para ignorar. Ele também registra quando você abre o painel de conclusões do Copilot ou navega por sugestões alternativas. Esses eventos são enviados com um identificador anônimo único vinculado à sua sessão do Copilot. O GitHub usa esses dados para medir a frequência com que as sugestões são úteis e identificar padrões onde o modelo tem desempenho inferior.
Dados de Diagnóstico
A telemetria de diagnóstico inclui o nome e a versão da IDE, o sistema operacional, a versão da extensão do Copilot e quaisquer mensagens de erro geradas pela extensão. Esses dados ajudam a Microsoft a solucionar problemas de travamentos, desempenho lento e problemas de compatibilidade. Os dados de diagnóstico não contêm seu código-fonte ou nomes de projetos.
Trechos de Contexto de Código
Quando você digita em um arquivo, o Copilot envia o conteúdo atual do arquivo ao redor da posição do cursor e trechos de outros arquivos abertos que são relevantes para a sugestão. O número exato de linhas enviadas depende do tamanho do arquivo e da complexidade do código. A Microsoft afirma que esses trechos são processados apenas na memória para gerar a sugestão e não são armazenados em logs. Os trechos também são usados para avaliação offline de qualidade, mas são anonimizados e agregados antes de qualquer treinamento de modelo.
Como Revisar e Alterar as Configurações de Telemetria
Você pode revisar quais dados o Copilot está enviando e desabilitar a telemetria completamente através das configurações da sua IDE. As etapas diferem ligeiramente entre Visual Studio Code e IDEs JetBrains.
Visual Studio Code
- Abra as Configurações
Pressione Ctrl + , para abrir o editor de configurações. Como alternativa, clique no ícone de engrenagem no canto inferior esquerdo e selecione Configurações. - Navegue até Extensões > GitHub Copilot
Na barra lateral esquerda, clique em Extensões e depois em GitHub Copilot. Isso mostra todas as configurações relacionadas ao Copilot. - Localize a Configuração de Telemetria
Role até a seção Telemetria. Você verá uma caixa de seleção chamada GitHub Copilot: Telemetria. Quando marcada, o Copilot envia dados de uso e trechos de contexto de código. Desmarque esta caixa para desabilitar a telemetria. - Confirme a Alteração
Feche a aba de configurações. A alteração entra em vigor imediatamente. Nenhuma reinicialização é necessária.
IDEs JetBrains
- Abra as Configurações
Pressione Ctrl + Alt + S no Windows ou Cmd + , no macOS. Como alternativa, clique em Arquivo > Configurações ou IntelliJ IDEA > Configurações. - Navegue até Ferramentas > GitHub Copilot
No painel esquerdo, expanda a seção Ferramentas e clique em GitHub Copilot. - Altere a Configuração de Telemetria
Desmarque a caixa chamada Habilitar telemetria. Isso impede que o Copilot envie eventos de uso e trechos de contexto de código para a Microsoft. - Aplique a Configuração
Clique em Aplicar ou OK. A alteração entra em vigor imediatamente.
Equívocos Comuns Sobre a Telemetria do Copilot
O Copilot Envia Meu Projeto Inteiro para a Microsoft?
Não. O Copilot envia apenas o contexto de código necessário para gerar uma sugestão. Isso é tipicamente o arquivo atual ao redor do cursor e algumas linhas de arquivos abertos recentemente. Ele não envia todo o diretório do seu projeto, arquivos de solução ou arquivos de configuração que não contêm código.
Meu Código Privado é Usado para Treinar Modelos Futuros?
A Microsoft afirma que os trechos de código enviados para geração de sugestões não são usados para treinar modelos públicos. Os dados de telemetria usados para avaliação de qualidade são agregados e anonimizados. Se você tem um acordo comercial com o GitHub, seu código pode ser usado para melhorar o Copilot para sua organização, mas você pode optar por não participar desse uso através das configurações empresariais.
Posso Ver Exatamente Quais Dados Foram Enviados?
O Visual Studio Code e as IDEs JetBrains não fornecem um visualizador de logs embutido para as cargas de telemetria. Você pode usar uma ferramenta de monitoramento de rede como Fiddler ou Wireshark para inspecionar requisições HTTPS para copilot-telemetry.githubusercontent.com e todos os subdomínios. A Microsoft também publica um relatório de transparência de telemetria na documentação do GitHub Copilot que lista os campos de dados coletados.
Configurações de Telemetria do GitHub Copilot: Habilitado vs Desabilitado
| Item | Telemetria Habilitada | Telemetria Desabilitada |
|---|---|---|
| Eventos de uso | Enviados para a Microsoft | Não enviados |
| Dados de diagnóstico | Enviados para a Microsoft | Não enviados |
| Trechos de contexto de código | Enviados para geração de sugestões | Não enviados |
| Sugestões geradas | Sim | Sim |
| Impacto na qualidade das sugestões | Microsoft usa dados para melhorar o modelo | Nenhum impacto nas sugestões locais |
| Tráfego de rede | Maior (trechos enviados por tecla) | Menor (apenas token de autenticação) |
O GitHub Copilot continua gerando sugestões de código mesmo quando a telemetria está desabilitada. A única diferença é que nenhum dado de uso ou contexto de código é enviado para a Microsoft para análise. A funcionalidade principal da ferramenta permanece intacta. Se você está preocupado com a privacidade dos dados, desabilitar a telemetria é uma alteração direta que não afeta seu fluxo de trabalho diário.
Para verificar se a telemetria está desligada, abra o painel de saída do Copilot no VS Code clicando em Exibir > Saída e selecionando GitHub Copilot no menu suspenso. Você verá uma mensagem confirmando que a telemetria está desabilitada. Nas IDEs JetBrains, a mesma confirmação aparece na janela de ferramentas do Copilot quando você altera a configuração.