Skip to main content

Uso responsável do GitHub Copilot Chat em seu IDE

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

Quem pode usar esse recurso?

Todos os usuários com um plano Copilot Pro, Copilot Pro+ ou Copilot Gratuito podem acessar o Chat Copilot nos IDEs com suporte e no site do GitHub.

Proprietários de organizações ou empresas com um plano Copilot Business ou Copilot Enterprise podem decidir se desejam conceder acesso ao Chat Copilot.

Sobre o Chat GitHub Copilot

O Chat GitHub Copilot é uma interface de chat que permite interagir com o GitHub Copilot, para fazer perguntas e receber respostas sobre codificação no website do GitHub e nos IDEs com suporte. A interface de chat dá acesso a informações de codificação e suporte sem exigir que você navegue na documentação ou pesquise fóruns online. Para saber mais, confira O que é GitHub Copilot?.

O Chat GitHub Copilot pode responder a uma ampla variedade de perguntas relacionadas à codificação sobre tópicos, incluindo sintaxe, conceitos de programação, casos de teste, depuração e muito mais. O Chat GitHub Copilot não foi projetado para responder a perguntas que não sejam de codificação nem fornecer informações gerais sobre tópicos que não sejam de codificação.

O idioma principal com suporte para Chat GitHub Copilot é o inglês.

O Chat GitHub Copilot funciona usando uma combinação de processamento de linguagem natural e machine learning para entender a pergunta e fornecer uma resposta. Esse processo pode ser dividido em várias etapas.

Processamento de entrada

A solicitação de entrada do usuário é pré-processada pelo sistema do Chat Copilot, combinado com informações contextuais (por exemplo, o nome do repositório que o usuário está visualizando e os arquivos que o usuário abriu) e enviado para um modelo de linguagem grande. A entrada do usuário pode assumir a forma de snippets de código ou linguagem sem codificação.

Outras informações contextuais podem ser adicionadas automaticamente às solicitações de chat por meio de um arquivo .github/copilot-instructions.md opcional que o usuário pode criar. Essas informações adicionais não são exibidas no chat, mas se as instruções forem enviadas para o modelo, o arquivo será listado como uma referência na resposta do chat. O usuário pode desabilitar esse recurso nas configurações da extensão Copilot.

O grande modelo de linguagem usará o prompt, coletará contexto adicional (por exemplo, dados do repositório armazenados no GitHub) e fornecerá uma resposta com base no prompt. O sistema se destina apenas a responder a perguntas relacionadas à codificação.

Análise de modelo de linguagem

Em seguida, o prompt pré-processado passa pelo modelo de linguagem do Chat Copilot, que é uma rede neural treinada em um grande corpo de dados de texto. O modelo de linguagem analisa o prompt de entrada.

Geração de resposta

O modelo de linguagem gera uma resposta com base na análise do prompt de entrada e no contexto fornecido. O modelo de linguagem pode coletar contexto adicional e fornecer uma resposta com base na solicitação. Essa resposta pode assumir a forma de código gerado, sugestões de código ou explicações do código existente.

Quando você usa o participante de chat @github, o Chat Copilot poderá coletar contexto do código armazenado em GitHub e resultados da pesquisa do Bing (se habilitado pelo administrador).

Formatação de saída

A resposta gerada pelo Chat Copilot é formatada e apresentada ao usuário. O Chat Copilot pode usar realce de sintaxe, recuo e outros recursos de formatação para que a resposta gerada fique mais clara. Dependendo do tipo de pergunta do usuário, links para o contexto que o modelo usou ao gerar uma resposta, como arquivos de código-fonte ou documentação, também podem ser fornecidos.

O Chat GitHub Copilot tem a finalidade de fornecer a resposta mais relevante à pergunta. Mas, nem sempre ele consegue fornecer a resposta que você está procurando. Os usuários do Chat Copilot são responsáveis por revisar e validar as respostas geradas pelo sistema para garantir que elas sejam precisas e apropriadas. Além disso, como parte de nosso processo de desenvolvimento de produtos, realizamos equipes vermelhas para entender e melhorar a segurança do Chat Copilot. Prompts de entrada e conclusões de saída são executados por meio de filtros de conteúdo. O sistema de filtragem de conteúdo detecta e impede a saída em categorias específicas de conteúdo, incluindo conteúdo prejudicial, ofensivo ou fora do tema. Para saber mais sobre como aprimorar o desempenho do Chat GitHub Copilot, confira Como aprimorar o desempenho do Chat GitHub Copilot.

Aproveitando uma pesquisa na Web para responder a uma pergunta

Quando você usa o participante do chat @github, o Chat GitHub Copilot pode usar uma pesquisa do Bing para ajudar a responder à sua pergunta, se isso tiver sido habilitado pelo administrador.

Seu administrador do GitHub Enterprise pode habilitar o Bing para toda a empresa ou pode delegar essa decisão ao administrador da organização. Para saber mais, confira Impor políticas para GitHub Copilot em sua empresa.

Ao aproveitar o Bing, o Copilot usará o conteúdo do prompt, bem como o contexto disponível adicional, para gerar uma consulta de pesquisa do Bing em seu nome enviada à API de Pesquisa do Bing. O Copilot fornecerá um link para os resultados da pesquisa com sua resposta. A consulta de pesquisa enviada ao Bing é regida pela Política de Privacidade da Microsoft.

Usar BYOK (Bring Your Own Key) com GitHub Copilot

Quando usa Bring Your Own Key com Chat GitHub Copilot, você pode conectar a experiência de chat a modelos de linguagem grandes de provedores com suporte além do modelo Copilot padrão. Exemplos de provedores com suporte incluem Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, provedores compatíveis com OpenAI e xAI. Adicione sua chave de API para o provedor escolhido diretamente nas configurações Copilot.

Quando BYOK estiver ativo:

  •         **Escopo do recurso**: o modelo escolhido é usado no Chat GitHub Copilot. No modo de agente, o BYOK alimenta a conversa principal, mas determinadas ações, como a aplicação de código ou outras chamadas de ferramenta, ainda podem usar modelos hospedados por GitHub, otimizados para essas tarefas. Esses modelos integrados não são executados pelo provedor BYOK.
    
  •         **Processos de segurança**: independentemente de qual provedor esteja ativo, as respostas ainda passam pelos sistemas de segurança do GitHub, incluindo filtragem de conteúdo, antes que os resultados sejam mostrados a você.
    
  •         **Considerações de qualidade**: as sugestões podem variar dependendo dos pontos fortes e da cobertura de treinamento do provedor escolhido.
    
  •         **Tratamento de dados**: ao usar BYOK, seus prompts e respostas são transmitidos para o provedor selecionado e podem estar sujeitos às políticas de privacidade e retenção de dados desse provedor. GitHub processa temporariamente esses dados para filtragem de segurança, mas não retém o conteúdo da conversa BYOK além da duração da sessão.
    
  •         **Suas responsabilidades**: Você é responsável pelo seguinte:
    
    • Segurança de chave da API do provedor
    • Custos de uso ou cotas
    • Validação de saída
    • Avaliar se o modelo escolhido atende aos requisitos de segurança e qualidade
    • Conformidade com os termos do provedor selecionado
    • Determinar se o modelo escolhido está em conformidade com as leis aplicáveis
    • Garantir que uma pessoa revise qualquer resultado antes de usá-lo para tomar decisões que afetem as pessoas
  •         **Restrições de exportação: determinados** modelos de IA podem estar sujeitos a controles de exportação. Verifique se o provedor e o modelo selecionados estão autorizados a serem usados em sua jurisdição.
    

O BYOK habilita sua organização a escolher o modelo linguístico que melhor atenda às suas necessidades, enquanto se beneficia da infraestrutura de segurança do GitHub. Observe que as características de desempenho e segurança do modelo dependem do provedor.

Casos de uso do Chat GitHub Copilot

O Chat GitHub Copilot pode fornecer assistência de codificação em diversos cenários.

Gerar casos de teste de unidade

O Chat Copilot pode ajudar a escrever casos de teste de unidade gerando snippets de código com base no código aberto no editor ou no snippet de código realçado no editor. Isso ajuda a escrever casos de teste sem dedicar tanto tempo em tarefas repetitivas. Por exemplo, se você estiver escrevendo um caso de teste para uma função específica, poderá usar Chat Copilot para sugerir possíveis parâmetros de entrada e valores de saída esperados com base na assinatura e no corpo da função. O Chat Copilot também pode sugerir declarações que garantam que a função esteja funcionando corretamente, com base no contexto e na semântica do código.

O Chat Copilot também pode ajudar a escrever casos de teste para casos de borda e condições limitadas, que podem ser difíceis de identificar manualmente. Por exemplo, o Chat Copilot pode sugerir casos de teste para tratamento de erro, valores nulos ou tipos de entrada inesperados, ajudando a garantir que o código fique robusto e resiliente. No entanto, é importante observar que os casos de teste gerados podem não abranger todos os cenários possíveis. Testes manuais e revisões de código ainda serão necessários para garantir a qualidade do código. Para saber mais sobre como gerar casos de teste de unidade, confira Como fazer perguntas ao Chat GitHub Copilot sobre o código.

Explicar o código e sugerir melhorias

O Chat Copilot pode ajudar a explicar o código selecionado gerando descrições de linguagem natural da funcionalidade e da finalidade do código. Isso ajuda você a entender o comportamento do código ou stakeholders não técnicos que precisem entender como o código funciona. Por exemplo, se você selecionar uma função ou um bloco de código no editor de código, o Chat Copilot poderá gerar uma descrição de linguagem natural sobre o que o código faz e como ele se encaixa no sistema geral. Isso pode incluir informações como os parâmetros de entrada e saída da função, as dependências e a finalidade no aplicativo maior.

O Chat Copilot também pode sugerir possíveis melhorias no código selecionado, como melhor tratamento de erros e casos de borda ou alterações no fluxo lógico para tornar o código mais legível.

Ao gerar explicações e sugerir a documentação relacionada, o Chat Copilot ajuda a entender o código selecionado, aprimorando a colaboração e aumentando a eficiência do desenvolvimento de software. No entanto, é importante observar que as explicações e a documentação geradas nem sempre são precisas ou completas, portanto, você examine e, se necessário, corrija a saída do Chat Copilot.

Propostas de correções de código

O Chat Copilot pode propor uma correção de bugs no código sugerindo snippets de código e soluções com base no contexto do erro ou problema. Isso ajuda quando você tem dificuldade de identificar a causa raiz de um bug ou precisa de orientação sobre a melhor maneira de corrigi-lo. Por exemplo, se o código produzir uma mensagem de erro ou um aviso, o Chat Copilot poderá sugerir possíveis correções com base na mensagem de erro, na sintaxe do código e no código ao redor.

O Chat Copilot pode sugerir alterações em variáveis, estruturas de controle ou chamadas de função que possam resolver o problema e gerar snippets de código que possam ser incorporados à base de código. No entanto, é importante observar que as correções sugeridas nem sempre são ideais ou estão completas, portanto, você precisa examinar e testar as sugestões.

Respostas a perguntas de codificação

Você pode pedir ajuda ou esclarecimento ao Chat Copilot sobre problemas de codificação específicos e receber respostas no formato de linguagem natural ou no formato de snippet de código.

A resposta gerada por Chat Copilot usará o conjunto de dados de treinamento do modelo para responder às suas perguntas.

Se você usar o participante do chat do @github, a resposta gerada também poderá usar os resultados da pesquisa do Bing e o código em seus repositórios.

Isso pode ser uma ferramenta útil para programadores, pois pode fornecer diretrizes e suporte para tarefas e desafios comuns de codificação.

Como melhorar o desempenho do Chat GitHub Copilot

O Chat Copilot pode dar suporte a uma ampla variedade de aplicações práticas, como geração de código, análise de código e correções de código, cada um com diferentes métricas de desempenho e estratégias de mitigação. Para aprimorar o desempenho e resolver algumas das limitações do Chat Copilot, há várias medidas que você pode adotar. Para saber mais sobre as limitações do Chat Copilot, confira Limitações do Chat GitHub Copilot.

Mantenha os prompts no tópico

O Chat Copilot se destina a abordar consultas relacionadas exclusivamente à codificação. Portanto, manter o prompt limitado a perguntas ou tarefas de codificação pode aprimorar a qualidade de saída do modelo.

Usar o Chat Copilot como uma ferramenta, não uma substituição

Embora o Chat Copilot seja ferramenta poderosa para gerar código, é importante usá-lo como ferramenta em vez de substituir a programação humana. Você sempre deve revisar e testar o código gerado pelo Chat Copilot para garantir que ele atenda aos requisitos e não tenha erros ou questões de segurança.

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

Embora o Chat Copilot possa gerar um código sintaticamente correto, nem sempre isso é 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 Chat Copilot.

Enviar comentários

Se você encontrar problemas ou limitações com o Chat Copilot, envie comentários por meio do link compartilhar comentários na interface do Chat Copilot do IDE. Isso ajuda os desenvolvedores a aprimorar a ferramenta e resolver questões ou limitações.

Fique atualizado

O Chat Copilot é uma tecnologia nova e provavelmente evoluirá ao longo do tempo. Esteja sempre em dia com as atualizações ou alterações na ferramenta, bem como novos riscos de segurança ou práticas recomendadas que possam surgir. As atualizações de extensão automatizadas são habilitadas por padrão no Visual Studio Code, no Visual Studio e no conjunto de IDEs do JetBrains. No Chat do GitHub Copilot no GitHub, você sempre terá acesso à experiência de produto mais recente. Se as atualizações automáticas estiverem habilitadas, o Chat Copilot será atualizado automaticamente para a última versão quando você abrir o IDE. Para obter mais informações sobre atualizações automáticas no IDE, confira a documentação do Visual Studio Code, a documentação do Visual Studio e a documentação do IDE do JetBrains..

Limitações do Chat 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 o Chat Copilot. As informações a seguir ajudam a entender as limitações do sistema e os principais conceitos sobre desempenho, conforme se aplicam ao Chat Copilot.

Escopo limitado

O Chat Copilot foi treinado em um grande corpo de código, mas ainda tem um escopo limitado e pode não conseguir lidar com estruturas de código mais complexas 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. Por exemplo, o JavaScript é bem representado nos repositórios públicos e é uma das linguagens com melhor suporte do GitHub Copilot. No caso de linguagens com menos representação em repositórios públicos, o Chat Copilot pode encontrar mais dificuldades para ajudar. Além disso, o Chat Copilot só pode sugerir código com base no contexto do código que está sendo escrito, portanto, ele pode não conseguir identificar problemas maiores de design ou arquitetura.

Possíveis desvios

Os dados de treinamento do Copilot são extraídos de repositórios de código existentes, que podem conter desvios e erros que poderão ser perpetuados pela ferramenta. Além disso, o Chat Copilot pode ser tendencioso em relação a determinadas linguagens de programação ou estilos de codificação, o que pode levar a sugestões de código abaixo do ideal ou incompletas.

Riscos à segurança

O Chat Copilot gera código com base no contexto do código que está sendo escrito, que poderá expor informações confidenciais ou vulnerabilidades se não for usado com cuidado. Tenha cuidado ao usar o Chat Copilot para gerar código para aplicativos sensíveis à segurança e sempre revise e teste completamente o código gerado.

Correspondências com código público

O Chat Copilot consegue gerar um novo código de maneira probabilística. Embora seja baixa a probabilidade de que ele possa gerar um código que corresponda ao código no conjunto de treinamento, uma sugestão do Chat Copilot pode conter alguns snippets de código que correspondem ao código no conjunto de treinamento.

Se você tiver desabilitado sugestões que correspondam ao código público, o Chat Copilot utilizará filtros que o impedem de mostrar código que corresponda ao código encontrado em repositórios públicos no GitHub. No entanto, você deve sempre tomar as mesmas precauções que tomaria com qualquer código que escrevesse que utilizasse material não originado de forma independente, incluindo precauções para garantir sua adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança. Você deve verificar se o IDE ou o editor não compila ou executa automaticamente o código gerado antes de revisá-lo.

Se você tiver habilitado sugestões que correspondam ao código público, o Chat Copilot exibirá uma mensagem se o código correspondente for encontrado. A mensagem inclui um link que permite mostrar os detalhes do código correspondente e todos os detalhes da licença encontrados no editor VS Code. Para saber mais, confira Localizando o código público que corresponde às sugestões do Copilot GitHub.

O Chat Copilot utiliza filtros que bloqueiam correspondências com código público em repositórios do GitHub, mas você sempre deve tomar as mesmas precauções que tomaria em qualquer código ao usar um material que não criou, incluindo precauções para garantir a adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança. Você deve verificar se o IDE ou o editor não compila ou executa automaticamente o código gerado antes de revisá-lo.

O Chat Copilot utiliza filtros que bloqueiam correspondências com código público em repositórios do GitHub, mas você sempre deve tomar as mesmas precauções que tomaria em qualquer código ao usar um material que não criou, incluindo precauções para garantir a adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança. Você deve verificar se o IDE ou o editor não compila ou executa automaticamente o código gerado antes de revisá-lo.

Código impreciso

Uma das limitações do Chat Copilot é que ele pode gerar um código que parece ser válido, mas pode não estar correto semantica ou sintaticamente ou 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.

Respostas imprecisas a tópicos que não são de codificação

O Chat Copilot não foi projetado para responder a perguntas não relacionadas a codificação e, portanto, as respostas nem sempre são precisas ou úteis nesses contextos. Se um usuário fizer uma pergunta ao Chat Copilot que não seja sobre codificação, ele poderá gerar uma resposta irrelevante ou sem sentido ou simplesmente indicar que não é possível dar uma resposta útil.

Próximas etapas

Para obter detalhes sobre como usar o Chat GitHub Copilot, consulte:

Leitura adicional

Sobre o Chat GitHub Copilot

O Chat GitHub Copilot é uma interface de chat que permite interagir com o GitHub Copilot, para fazer perguntas e receber respostas sobre codificação no website do GitHub e nos IDEs com suporte. A interface de chat dá acesso a informações de codificação e suporte sem exigir que você navegue na documentação ou pesquise fóruns online. Para saber mais, confira O que é GitHub Copilot?.

O Chat GitHub Copilot pode responder a uma ampla variedade de perguntas relacionadas à codificação sobre tópicos, incluindo sintaxe, conceitos de programação, casos de teste, depuração e muito mais. O Chat GitHub Copilot não foi projetado para responder a perguntas que não sejam de codificação nem fornecer informações gerais sobre tópicos que não sejam de codificação.

O idioma principal com suporte para Chat GitHub Copilot é o inglês.

O Chat GitHub Copilot funciona usando uma combinação de processamento de linguagem natural e machine learning para entender a pergunta e fornecer uma resposta. Esse processo pode ser dividido em várias etapas.

Processamento de entrada

A solicitação de entrada do usuário é pré-processada pelo sistema do Chat Copilot, combinado com informações contextuais (por exemplo, o nome do repositório que o usuário está visualizando e os arquivos que o usuário abriu) e enviado para um modelo de linguagem grande. A entrada do usuário pode assumir a forma de snippets de código ou linguagem sem codificação.

Outras informações contextuais podem ser adicionadas automaticamente às solicitações de chat por meio de um arquivo .github/copilot-instructions.md opcional que o usuário pode criar. Essas informações adicionais não são exibidas no chat, mas se as instruções forem enviadas para o modelo, o arquivo será listado como uma referência na resposta do chat. O usuário pode desabilitar esse recurso nas configurações da extensão Copilot.

O grande modelo de linguagem usará o prompt, coletará contexto adicional (por exemplo, dados do repositório armazenados no GitHub) e fornecerá uma resposta com base no prompt. O sistema se destina apenas a responder a perguntas relacionadas à codificação.

Análise de modelo de linguagem

Em seguida, o prompt pré-processado passa pelo modelo de linguagem do Chat Copilot, que é uma rede neural treinada em um grande corpo de dados de texto. O modelo de linguagem analisa o prompt de entrada.

Geração de resposta

O modelo de linguagem gera uma resposta com base na análise do prompt de entrada e no contexto fornecido. O modelo de linguagem pode coletar contexto adicional e fornecer uma resposta com base na solicitação. Essa resposta pode assumir a forma de código gerado, sugestões de código ou explicações do código existente.

Quando você usa o participante de chat @github, Chat Copilot poderá coletar o contexto do seu código armazenado no GitHub e resultados de pesquisa do Bing (se habilitado pelo administrador).

Formatação de saída

A resposta gerada pelo Chat Copilot é formatada e apresentada ao usuário. O Chat Copilot pode usar realce de sintaxe, recuo e outros recursos de formatação para que a resposta gerada fique mais clara. Dependendo do tipo de pergunta do usuário, links para o contexto que o modelo usou ao gerar uma resposta, como arquivos de código-fonte ou documentação, também podem ser fornecidos.

O Chat GitHub Copilot tem a finalidade de fornecer a resposta mais relevante à pergunta. Mas, nem sempre ele consegue fornecer a resposta que você está procurando. Os usuários do Chat Copilot são responsáveis por revisar e validar as respostas geradas pelo sistema para garantir que elas sejam precisas e apropriadas. Além disso, como parte de nosso processo de desenvolvimento de produtos, realizamos equipes vermelhas para entender e melhorar a segurança do Chat Copilot. Prompts de entrada e conclusões de saída são executados por meio de filtros de conteúdo. O sistema de filtragem de conteúdo detecta e impede a saída em categorias específicas de conteúdo, incluindo conteúdo prejudicial, ofensivo ou fora do tema. Para saber mais sobre como aprimorar o desempenho do Chat GitHub Copilot, confira Como aprimorar o desempenho do Chat GitHub Copilot.

Aproveitando uma pesquisa na Web para responder a uma pergunta

Quando você usa o participante do chat @github, o Chat GitHub Copilot pode usar uma pesquisa do Bing para ajudar a responder à sua pergunta, se isso tiver sido habilitado pelo administrador.

Seu administrador do GitHub Enterprise pode habilitar o Bing para toda a empresa ou pode delegar essa decisão ao administrador da organização. Para saber mais, confira Impor políticas para GitHub Copilot em sua empresa.

Ao aproveitar o Bing, o Copilot usará o conteúdo do prompt, bem como o contexto disponível adicional, para gerar uma consulta de pesquisa do Bing em seu nome enviada à API de Pesquisa do Bing. O Copilot fornecerá um link para os resultados da pesquisa com sua resposta. A consulta de pesquisa enviada ao Bing é regida pela Política de Privacidade da Microsoft.

Usar BYOK (Bring Your Own Key) com GitHub Copilot

Quando usa Bring Your Own Key com Chat GitHub Copilot, você pode conectar a experiência de chat a modelos de linguagem grandes de provedores com suporte além do modelo Copilot padrão. Exemplos de provedores com suporte incluem Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, provedores compatíveis com OpenAI e xAI. Adicione sua chave de API para o provedor escolhido diretamente nas configurações Copilot.

Quando BYOK estiver ativo:

  •         **Escopo do recurso**: o modelo escolhido é usado no Chat GitHub Copilot. No modo de agente, o BYOK alimenta a conversa principal, mas determinadas ações, como a aplicação de código ou outras chamadas de ferramenta, ainda podem usar modelos hospedados por GitHub, otimizados para essas tarefas. Esses modelos integrados não são executados pelo provedor BYOK.
    
  •         **Processos de segurança**: independentemente de qual provedor esteja ativo, as respostas ainda passam pelos sistemas de segurança do GitHub, incluindo filtragem de conteúdo, antes que os resultados sejam mostrados a você.
    
  •         **Considerações de qualidade**: as sugestões podem variar dependendo dos pontos fortes e da cobertura de treinamento do provedor escolhido.
    
  •         **Tratamento de dados**: ao usar BYOK, seus prompts e respostas são transmitidos para o provedor selecionado e podem estar sujeitos às políticas de privacidade e retenção de dados desse provedor. GitHub processa temporariamente esses dados para filtragem de segurança, mas não retém o conteúdo da conversa BYOK além da duração da sessão.
    
  •         **Suas responsabilidades**: Você é responsável pelo seguinte:
    
    • Segurança de chave da API do provedor
    • Custos de uso ou cotas
    • Validação de saída
    • Avaliar se o modelo escolhido atende aos requisitos de segurança e qualidade
    • Conformidade com os termos do provedor selecionado
    • Determinar se o modelo escolhido está em conformidade com as leis aplicáveis
    • Garantir que uma pessoa revise qualquer resultado antes de usá-lo para tomar decisões que afetem as pessoas
  •         **Restrições de exportação: determinados** modelos de IA podem estar sujeitos a controles de exportação. Verifique se o provedor e o modelo selecionados estão autorizados a serem usados em sua jurisdição.
    

O BYOK habilita sua organização a escolher o modelo linguístico que melhor atenda às suas necessidades, enquanto se beneficia da infraestrutura de segurança do GitHub. Observe que as características de desempenho e segurança do modelo dependem do provedor.

Casos de uso do Chat GitHub Copilot

O Chat GitHub Copilot pode fornecer assistência de codificação em diversos cenários.

Gerar casos de teste de unidade

O Chat Copilot pode ajudar a escrever casos de teste de unidade gerando snippets de código com base no código aberto no editor ou no snippet de código realçado no editor. Isso ajuda a escrever casos de teste sem dedicar tanto tempo em tarefas repetitivas. Por exemplo, se você estiver escrevendo um caso de teste para uma função específica, poderá usar Chat Copilot para sugerir possíveis parâmetros de entrada e valores de saída esperados com base na assinatura e no corpo da função. O Chat Copilot também pode sugerir declarações que garantam que a função esteja funcionando corretamente, com base no contexto e na semântica do código.

O Chat Copilot também pode ajudar a escrever casos de teste para casos de borda e condições limitadas, que podem ser difíceis de identificar manualmente. Por exemplo, o Chat Copilot pode sugerir casos de teste para tratamento de erro, valores nulos ou tipos de entrada inesperados, ajudando a garantir que o código fique robusto e resiliente. No entanto, é importante observar que os casos de teste gerados podem não abranger todos os cenários possíveis. Testes manuais e revisões de código ainda serão necessários para garantir a qualidade do código. Para saber mais sobre como gerar casos de teste de unidade, confira Como fazer perguntas ao Chat GitHub Copilot sobre o código.

Explicar o código e sugerir melhorias

O Chat Copilot pode ajudar a explicar o código selecionado gerando descrições de linguagem natural da funcionalidade e da finalidade do código. Isso ajuda você a entender o comportamento do código ou stakeholders não técnicos que precisem entender como o código funciona. Por exemplo, se você selecionar uma função ou um bloco de código no editor de código, o Chat Copilot poderá gerar uma descrição de linguagem natural sobre o que o código faz e como ele se encaixa no sistema geral. Isso pode incluir informações como os parâmetros de entrada e saída da função, as dependências e a finalidade no aplicativo maior.

O Chat Copilot também pode sugerir possíveis melhorias no código selecionado, como melhor tratamento de erros e casos de borda ou alterações no fluxo lógico para tornar o código mais legível.

Ao gerar explicações e sugerir a documentação relacionada, o Chat Copilot ajuda a entender o código selecionado, aprimorando a colaboração e aumentando a eficiência do desenvolvimento de software. No entanto, é importante observar que as explicações e a documentação geradas nem sempre são precisas ou completas, portanto, você examine e, se necessário, corrija a saída do Chat Copilot.

Propostas de correções de código

O Chat Copilot pode propor uma correção de bugs no código sugerindo snippets de código e soluções com base no contexto do erro ou problema. Isso ajuda quando você tem dificuldade de identificar a causa raiz de um bug ou precisa de orientação sobre a melhor maneira de corrigi-lo. Por exemplo, se o código produzir uma mensagem de erro ou um aviso, o Chat Copilot poderá sugerir possíveis correções com base na mensagem de erro, na sintaxe do código e no código ao redor.

O Chat Copilot pode sugerir alterações em variáveis, estruturas de controle ou chamadas de função que possam resolver o problema e gerar snippets de código que possam ser incorporados à base de código. No entanto, é importante observar que as correções sugeridas nem sempre são ideais ou estão completas, portanto, você precisa examinar e testar as sugestões.

Respostas a perguntas de codificação

Você pode pedir ajuda ou esclarecimento ao Chat Copilot sobre problemas de codificação específicos e receber respostas no formato de linguagem natural ou no formato de snippet de código.

A resposta gerada por Chat Copilot usará o conjunto de dados de treinamento do modelo para responder às suas perguntas.

Isso pode ser uma ferramenta útil para programadores, pois pode fornecer diretrizes e suporte para tarefas e desafios comuns de codificação.

Como melhorar o desempenho do Chat GitHub Copilot

O Chat Copilot pode dar suporte a uma ampla variedade de aplicações práticas, como geração de código, análise de código e correções de código, cada um com diferentes métricas de desempenho e estratégias de mitigação. Para aprimorar o desempenho e resolver algumas das limitações do Chat Copilot, há várias medidas que você pode adotar. Para saber mais sobre as limitações do Chat Copilot, confira Limitações do Chat GitHub Copilot.

Mantenha os prompts no tópico

O Chat Copilot se destina a abordar consultas relacionadas exclusivamente à codificação. Portanto, manter o prompt limitado a perguntas ou tarefas de codificação pode aprimorar a qualidade de saída do modelo.

Usar o Chat Copilot como uma ferramenta, não uma substituição

Embora o Chat Copilot seja ferramenta poderosa para gerar código, é importante usá-lo como ferramenta em vez de substituir a programação humana. Você sempre deve revisar e testar o código gerado pelo Chat Copilot para garantir que ele atenda aos requisitos e não tenha erros ou questões de segurança.

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

Embora o Chat Copilot possa gerar um código sintaticamente correto, nem sempre isso é 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 Chat Copilot.

Enviar comentários

Se você encontrar problemas ou limitações com o Chat Copilot, envie comentários por meio do link compartilhar comentários na interface do Chat Copilot do IDE. Isso ajuda os desenvolvedores a aprimorar a ferramenta e resolver questões ou limitações.

Fique atualizado

O Chat Copilot é uma tecnologia nova e provavelmente evoluirá ao longo do tempo. Esteja sempre em dia com as atualizações ou alterações na ferramenta, bem como novos riscos de segurança ou práticas recomendadas que possam surgir. As atualizações de extensão automatizadas são habilitadas por padrão no Visual Studio Code, no Visual Studio e no conjunto de IDEs do JetBrains. No Chat do GitHub Copilot no GitHub, você sempre terá acesso à experiência de produto mais recente. Se as atualizações automáticas estiverem habilitadas, o Chat Copilot será atualizado automaticamente para a última versão quando você abrir o IDE. Para obter mais informações sobre atualizações automáticas no IDE, confira a documentação do Visual Studio Code, a documentação do Visual Studio e a documentação do IDE do JetBrains..

Limitações do Chat 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 o Chat Copilot. As informações a seguir ajudam a entender as limitações do sistema e os principais conceitos sobre desempenho, conforme se aplicam ao Chat Copilot.

Escopo limitado

O Chat Copilot foi treinado em um grande corpo de código, mas ainda tem um escopo limitado e pode não conseguir lidar com estruturas de código mais complexas 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. Por exemplo, o JavaScript é bem representado nos repositórios públicos e é uma das linguagens com melhor suporte do GitHub Copilot. No caso de linguagens com menos representação em repositórios públicos, o Chat Copilot pode encontrar mais dificuldades para ajudar. Além disso, o Chat Copilot só pode sugerir código com base no contexto do código que está sendo escrito, portanto, ele pode não conseguir identificar problemas maiores de design ou arquitetura.

Possíveis desvios

Os dados de treinamento do Copilot são extraídos de repositórios de código existentes, que podem conter desvios e erros que poderão ser perpetuados pela ferramenta. Além disso, o Chat Copilot pode ser tendencioso em relação a determinadas linguagens de programação ou estilos de codificação, o que pode levar a sugestões de código abaixo do ideal ou incompletas.

Riscos à segurança

O Chat Copilot gera código com base no contexto do código que está sendo escrito, que poderá expor informações confidenciais ou vulnerabilidades se não for usado com cuidado. Tenha cuidado ao usar o Chat Copilot para gerar código para aplicativos sensíveis à segurança e sempre revise e teste completamente o código gerado.

Correspondências com código público

O Chat Copilot consegue gerar um novo código de maneira probabilística. Embora seja baixa a probabilidade de que ele possa gerar um código que corresponda ao código no conjunto de treinamento, uma sugestão do Chat Copilot pode conter alguns snippets de código que correspondem ao código no conjunto de treinamento.

Se você tiver desabilitado sugestões que correspondam ao código público, o Chat Copilot utilizará filtros que o impedem de mostrar código que corresponda ao código encontrado em repositórios públicos no GitHub. No entanto, você deve sempre tomar as mesmas precauções que tomaria com qualquer código que escrevesse que utilizasse material não originado de forma independente, incluindo precauções para garantir sua adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança. Você deve verificar se o IDE ou o editor não compila ou executa automaticamente o código gerado antes de revisá-lo.

Se você tiver habilitado sugestões que correspondam ao código público, o Chat Copilot exibirá uma mensagem se o código correspondente for encontrado. A mensagem inclui um link que permite mostrar os detalhes do código correspondente e todos os detalhes da licença encontrados no editor VS Code. Para saber mais, confira Localizando o código público que corresponde às sugestões do Copilot GitHub.

O Chat Copilot utiliza filtros que bloqueiam correspondências com código público em repositórios do GitHub, mas você sempre deve tomar as mesmas precauções que tomaria em qualquer código ao usar um material que não criou, incluindo precauções para garantir a adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança. Você deve verificar se o IDE ou o editor não compila ou executa automaticamente o código gerado antes de revisá-lo.

O Chat Copilot utiliza filtros que bloqueiam correspondências com código público em repositórios do GitHub, mas você sempre deve tomar as mesmas precauções que tomaria em qualquer código ao usar um material que não criou, incluindo precauções para garantir a adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança. Você deve verificar se o IDE ou o editor não compila ou executa automaticamente o código gerado antes de revisá-lo.

Código impreciso

Uma das limitações do Chat Copilot é que ele pode gerar um código que parece ser válido, mas pode não estar correto semantica ou sintaticamente ou 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.

Respostas imprecisas a tópicos que não são de codificação

O Chat Copilot não foi projetado para responder a perguntas não relacionadas a codificação e, portanto, as respostas nem sempre são precisas ou úteis nesses contextos. Se um usuário fizer uma pergunta ao Chat Copilot que não seja sobre codificação, ele poderá gerar uma resposta irrelevante ou sem sentido ou simplesmente indicar que não é possível dar uma resposta útil.

Próximas etapas

Para obter detalhes sobre como usar o Chat GitHub Copilot, consulte:

Leitura adicional

Sobre o Chat GitHub Copilot

O Chat GitHub Copilot é uma interface de chat que permite interagir com o GitHub Copilot, para fazer perguntas e receber respostas sobre codificação no website do GitHub e nos IDEs com suporte. A interface de chat dá acesso a informações de codificação e suporte sem exigir que você navegue na documentação ou pesquise fóruns online. Para saber mais, confira O que é GitHub Copilot?.

O Chat GitHub Copilot pode responder a uma ampla variedade de perguntas relacionadas à codificação sobre tópicos, incluindo sintaxe, conceitos de programação, casos de teste, depuração e muito mais. O Chat GitHub Copilot não foi projetado para responder a perguntas que não sejam de codificação nem fornecer informações gerais sobre tópicos que não sejam de codificação.

O idioma principal com suporte para Chat GitHub Copilot é o inglês.

O Chat GitHub Copilot funciona usando uma combinação de processamento de linguagem natural e machine learning para entender a pergunta e fornecer uma resposta. Esse processo pode ser dividido em várias etapas.

Processamento de entrada

A solicitação de entrada do usuário é pré-processada pelo sistema do Chat Copilot, combinado com informações contextuais (por exemplo, o nome do repositório que o usuário está visualizando e os arquivos que o usuário abriu) e enviado para um modelo de linguagem grande. A entrada do usuário pode assumir a forma de snippets de código ou linguagem sem codificação.

O grande modelo de linguagem usará o prompt, coletará contexto adicional (por exemplo, dados do repositório armazenados no GitHub) e fornecerá uma resposta com base no prompt. O sistema se destina apenas a responder a perguntas relacionadas à codificação.

Análise de modelo de linguagem

Em seguida, o prompt pré-processado passa pelo modelo de linguagem do Chat Copilot, que é uma rede neural treinada em um grande corpo de dados de texto. O modelo de linguagem analisa o prompt de entrada.

Geração de resposta

O modelo de linguagem gera uma resposta com base na análise do prompt de entrada e no contexto fornecido. O modelo de linguagem pode coletar contexto adicional e fornecer uma resposta com base na solicitação. Essa resposta pode assumir a forma de código gerado, sugestões de código ou explicações do código existente.

Formatação de saída

A resposta gerada pelo Chat Copilot é formatada e apresentada ao usuário. O Chat Copilot pode usar realce de sintaxe, recuo e outros recursos de formatação para que a resposta gerada fique mais clara. Dependendo do tipo de pergunta do usuário, links para o contexto que o modelo usou ao gerar uma resposta, como arquivos de código-fonte ou documentação, também podem ser fornecidos.

O Chat GitHub Copilot tem a finalidade de fornecer a resposta mais relevante à pergunta. Mas, nem sempre ele consegue fornecer a resposta que você está procurando. Os usuários do Chat Copilot são responsáveis por revisar e validar as respostas geradas pelo sistema para garantir que elas sejam precisas e apropriadas. Além disso, como parte de nosso processo de desenvolvimento de produtos, realizamos equipes vermelhas para entender e melhorar a segurança do Chat Copilot. Prompts de entrada e conclusões de saída são executados por meio de filtros de conteúdo. O sistema de filtragem de conteúdo detecta e impede a saída em categorias específicas de conteúdo, incluindo conteúdo prejudicial, ofensivo ou fora do tema. Para saber mais sobre como aprimorar o desempenho do Chat GitHub Copilot, confira Como aprimorar o desempenho do Chat GitHub Copilot.

Usar BYOK (Bring Your Own Key) com GitHub Copilot

Quando usa Bring Your Own Key com Chat GitHub Copilot, você pode conectar a experiência de chat a modelos de linguagem grandes de provedores com suporte além do modelo Copilot padrão. Exemplos de provedores com suporte incluem Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, provedores compatíveis com OpenAI e xAI. Adicione sua chave de API para o provedor escolhido diretamente nas configurações Copilot.

Quando BYOK estiver ativo:

  •         **Escopo do recurso**: o modelo escolhido é usado no Chat GitHub Copilot. No modo de agente, o BYOK alimenta a conversa principal, mas determinadas ações, como a aplicação de código ou outras chamadas de ferramenta, ainda podem usar modelos hospedados por GitHub, otimizados para essas tarefas. Esses modelos integrados não são executados pelo provedor BYOK.
    
  •         **Processos de segurança**: independentemente de qual provedor esteja ativo, as respostas ainda passam pelos sistemas de segurança do GitHub, incluindo filtragem de conteúdo, antes que os resultados sejam mostrados a você.
    
  •         **Considerações de qualidade**: as sugestões podem variar dependendo dos pontos fortes e da cobertura de treinamento do provedor escolhido.
    
  •         **Tratamento de dados**: ao usar BYOK, seus prompts e respostas são transmitidos para o provedor selecionado e podem estar sujeitos às políticas de privacidade e retenção de dados desse provedor. GitHub processa temporariamente esses dados para filtragem de segurança, mas não retém o conteúdo da conversa BYOK além da duração da sessão.
    
  •         **Suas responsabilidades**: Você é responsável pelo seguinte:
    
    • Segurança de chave da API do provedor
    • Custos de uso ou cotas
    • Validação de saída
    • Avaliar se o modelo escolhido atende aos requisitos de segurança e qualidade
    • Conformidade com os termos do provedor selecionado
    • Determinar se o modelo escolhido está em conformidade com as leis aplicáveis
    • Garantir que uma pessoa revise qualquer resultado antes de usá-lo para tomar decisões que afetem as pessoas
  •         **Restrições de exportação: determinados** modelos de IA podem estar sujeitos a controles de exportação. Verifique se o provedor e o modelo selecionados estão autorizados a serem usados em sua jurisdição.
    

O BYOK habilita sua organização a escolher o modelo linguístico que melhor atenda às suas necessidades, enquanto se beneficia da infraestrutura de segurança do GitHub. Observe que as características de desempenho e segurança do modelo dependem do provedor.

Casos de uso do Chat GitHub Copilot

O Chat GitHub Copilot pode fornecer assistência de codificação em diversos cenários.

Gerar casos de teste de unidade

O Chat Copilot pode ajudar a escrever casos de teste de unidade gerando snippets de código com base no código aberto no editor ou no snippet de código realçado no editor. Isso ajuda a escrever casos de teste sem dedicar tanto tempo em tarefas repetitivas. Por exemplo, se você estiver escrevendo um caso de teste para uma função específica, poderá usar Chat Copilot para sugerir possíveis parâmetros de entrada e valores de saída esperados com base na assinatura e no corpo da função. O Chat Copilot também pode sugerir declarações que garantam que a função esteja funcionando corretamente, com base no contexto e na semântica do código.

O Chat Copilot também pode ajudar a escrever casos de teste para casos de borda e condições limitadas, que podem ser difíceis de identificar manualmente. Por exemplo, o Chat Copilot pode sugerir casos de teste para tratamento de erro, valores nulos ou tipos de entrada inesperados, ajudando a garantir que o código fique robusto e resiliente. No entanto, é importante observar que os casos de teste gerados podem não abranger todos os cenários possíveis. Testes manuais e revisões de código ainda serão necessários para garantir a qualidade do código. Para saber mais sobre como gerar casos de teste de unidade, confira Como fazer perguntas ao Chat GitHub Copilot sobre o código.

Explicar o código e sugerir melhorias

O Chat Copilot pode ajudar a explicar o código selecionado gerando descrições de linguagem natural da funcionalidade e da finalidade do código. Isso ajuda você a entender o comportamento do código ou stakeholders não técnicos que precisem entender como o código funciona. Por exemplo, se você selecionar uma função ou um bloco de código no editor de código, o Chat Copilot poderá gerar uma descrição de linguagem natural sobre o que o código faz e como ele se encaixa no sistema geral. Isso pode incluir informações como os parâmetros de entrada e saída da função, as dependências e a finalidade no aplicativo maior.

O Chat Copilot também pode sugerir possíveis melhorias no código selecionado, como melhor tratamento de erros e casos de borda ou alterações no fluxo lógico para tornar o código mais legível.

Ao gerar explicações e sugerir a documentação relacionada, o Chat Copilot ajuda a entender o código selecionado, aprimorando a colaboração e aumentando a eficiência do desenvolvimento de software. No entanto, é importante observar que as explicações e a documentação geradas nem sempre são precisas ou completas, portanto, você examine e, se necessário, corrija a saída do Chat Copilot.

Propostas de correções de código

O Chat Copilot pode propor uma correção de bugs no código sugerindo snippets de código e soluções com base no contexto do erro ou problema. Isso ajuda quando você tem dificuldade de identificar a causa raiz de um bug ou precisa de orientação sobre a melhor maneira de corrigi-lo. Por exemplo, se o código produzir uma mensagem de erro ou um aviso, o Chat Copilot poderá sugerir possíveis correções com base na mensagem de erro, na sintaxe do código e no código ao redor.

O Chat Copilot pode sugerir alterações em variáveis, estruturas de controle ou chamadas de função que possam resolver o problema e gerar snippets de código que possam ser incorporados à base de código. No entanto, é importante observar que as correções sugeridas nem sempre são ideais ou estão completas, portanto, você precisa examinar e testar as sugestões.

Respostas a perguntas de codificação

Você pode pedir ajuda ou esclarecimento ao Chat Copilot sobre problemas de codificação específicos e receber respostas no formato de linguagem natural ou no formato de snippet de código.

A resposta gerada por Chat Copilot usará o conjunto de dados de treinamento do modelo para responder às suas perguntas.

Isso pode ser uma ferramenta útil para programadores, pois pode fornecer diretrizes e suporte para tarefas e desafios comuns de codificação.

Como melhorar o desempenho do Chat GitHub Copilot

O Chat Copilot pode dar suporte a uma ampla variedade de aplicações práticas, como geração de código, análise de código e correções de código, cada um com diferentes métricas de desempenho e estratégias de mitigação. Para aprimorar o desempenho e resolver algumas das limitações do Chat Copilot, há várias medidas que você pode adotar. Para saber mais sobre as limitações do Chat Copilot, confira Limitações do Chat GitHub Copilot.

Mantenha os prompts no tópico

O Chat Copilot se destina a abordar consultas relacionadas exclusivamente à codificação. Portanto, manter o prompt limitado a perguntas ou tarefas de codificação pode aprimorar a qualidade de saída do modelo.

Usar o Chat Copilot como uma ferramenta, não uma substituição

Embora o Chat Copilot seja ferramenta poderosa para gerar código, é importante usá-lo como ferramenta em vez de substituir a programação humana. Você sempre deve revisar e testar o código gerado pelo Chat Copilot para garantir que ele atenda aos requisitos e não tenha erros ou questões de segurança.

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

Embora o Chat Copilot possa gerar um código sintaticamente correto, nem sempre isso é 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 Chat Copilot.

Enviar comentários

Se você encontrar problemas ou limitações com o Chat Copilot, envie comentários por meio do link compartilhar comentários na interface do Chat Copilot do IDE. Isso ajuda os desenvolvedores a aprimorar a ferramenta e resolver questões ou limitações.

Fique atualizado

O Chat Copilot é uma tecnologia nova e provavelmente evoluirá ao longo do tempo. Esteja sempre em dia com as atualizações ou alterações na ferramenta, bem como novos riscos de segurança ou práticas recomendadas que possam surgir. As atualizações de extensão automatizadas são habilitadas por padrão no Visual Studio Code, no Visual Studio e no conjunto de IDEs do JetBrains. No Chat do GitHub Copilot no GitHub, você sempre terá acesso à experiência de produto mais recente. Se as atualizações automáticas estiverem habilitadas, o Chat Copilot será atualizado automaticamente para a última versão quando você abrir o IDE. Para obter mais informações sobre atualizações automáticas no IDE, confira a documentação do Visual Studio Code, a documentação do Visual Studio e a documentação do IDE do JetBrains..

Limitações do Chat 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 o Chat Copilot. As informações a seguir ajudam a entender as limitações do sistema e os principais conceitos sobre desempenho, conforme se aplicam ao Chat Copilot.

Escopo limitado

O Chat Copilot foi treinado em um grande corpo de código, mas ainda tem um escopo limitado e pode não conseguir lidar com estruturas de código mais complexas 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. Por exemplo, o JavaScript é bem representado nos repositórios públicos e é uma das linguagens com melhor suporte do GitHub Copilot. No caso de linguagens com menos representação em repositórios públicos, o Chat Copilot pode encontrar mais dificuldades para ajudar. Além disso, o Chat Copilot só pode sugerir código com base no contexto do código que está sendo escrito, portanto, ele pode não conseguir identificar problemas maiores de design ou arquitetura.

Possíveis desvios

Os dados de treinamento do Copilot são extraídos de repositórios de código existentes, que podem conter desvios e erros que poderão ser perpetuados pela ferramenta. Além disso, o Chat Copilot pode ser tendencioso em relação a determinadas linguagens de programação ou estilos de codificação, o que pode levar a sugestões de código abaixo do ideal ou incompletas.

Riscos à segurança

O Chat Copilot gera código com base no contexto do código que está sendo escrito, que poderá expor informações confidenciais ou vulnerabilidades se não for usado com cuidado. Tenha cuidado ao usar o Chat Copilot para gerar código para aplicativos sensíveis à segurança e sempre revise e teste completamente o código gerado.

Correspondências com código público

O Chat Copilot consegue gerar um novo código de maneira probabilística. Embora seja baixa a probabilidade de que ele possa gerar um código que corresponda ao código no conjunto de treinamento, uma sugestão do Chat Copilot pode conter alguns snippets de código que correspondem ao código no conjunto de treinamento.

Se você tiver desabilitado sugestões que correspondam ao código público, o Chat Copilot utilizará filtros que o impedem de mostrar código que corresponda ao código encontrado em repositórios públicos no GitHub. No entanto, você deve sempre tomar as mesmas precauções que tomaria com qualquer código que escrevesse que utilizasse material não originado de forma independente, incluindo precauções para garantir sua adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança. Você deve verificar se o IDE ou o editor não compila ou executa automaticamente o código gerado antes de revisá-lo.

Se você tiver habilitado sugestões que correspondam ao código público, o Chat Copilot exibirá uma mensagem se o código correspondente for encontrado. A mensagem inclui um link que permite mostrar os detalhes do código correspondente e todos os detalhes da licença encontrados no editor VS Code. Para saber mais, confira Localizando o código público que corresponde às sugestões do Copilot GitHub.

O Chat Copilot utiliza filtros que bloqueiam correspondências com código público em repositórios do GitHub, mas você sempre deve tomar as mesmas precauções que tomaria em qualquer código ao usar um material que não criou, incluindo precauções para garantir a adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança. Você deve verificar se o IDE ou o editor não compila ou executa automaticamente o código gerado antes de revisá-lo.

O Chat Copilot utiliza filtros que bloqueiam correspondências com código público em repositórios do GitHub, mas você sempre deve tomar as mesmas precauções que tomaria em qualquer código ao usar um material que não criou, incluindo precauções para garantir a adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança. Você deve verificar se o IDE ou o editor não compila ou executa automaticamente o código gerado antes de revisá-lo.

Código impreciso

Uma das limitações do Chat Copilot é que ele pode gerar um código que parece ser válido, mas pode não estar correto semantica ou sintaticamente ou 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.

Respostas imprecisas a tópicos que não são de codificação

O Chat Copilot não foi projetado para responder a perguntas não relacionadas a codificação e, portanto, as respostas nem sempre são precisas ou úteis nesses contextos. Se um usuário fizer uma pergunta ao Chat Copilot que não seja sobre codificação, ele poderá gerar uma resposta irrelevante ou sem sentido ou simplesmente indicar que não é possível dar uma resposta útil.

Próximas etapas

Para obter detalhes sobre como usar o Chat GitHub Copilot, consulte:

Leitura adicional

Sobre o Chat GitHub Copilot

O Chat GitHub Copilot é uma interface de chat que permite interagir com o GitHub Copilot, para fazer perguntas e receber respostas sobre codificação no website do GitHub e nos IDEs com suporte. A interface de chat dá acesso a informações de codificação e suporte sem exigir que você navegue na documentação ou pesquise fóruns online. Para saber mais, confira O que é GitHub Copilot?.

O Chat GitHub Copilot pode responder a uma ampla variedade de perguntas relacionadas à codificação sobre tópicos, incluindo sintaxe, conceitos de programação, casos de teste, depuração e muito mais. O Chat GitHub Copilot não foi projetado para responder a perguntas que não sejam de codificação nem fornecer informações gerais sobre tópicos que não sejam de codificação.

O idioma principal com suporte para Chat GitHub Copilot é o inglês.

O Chat GitHub Copilot funciona usando uma combinação de processamento de linguagem natural e machine learning para entender a pergunta e fornecer uma resposta. Esse processo pode ser dividido em várias etapas.

Processamento de entrada

A solicitação de entrada do usuário é pré-processada pelo sistema do Chat Copilot, combinado com informações contextuais (por exemplo, o nome do repositório que o usuário está visualizando e os arquivos que o usuário abriu) e enviado para um modelo de linguagem grande. A entrada do usuário pode assumir a forma de snippets de código ou linguagem sem codificação.

O grande modelo de linguagem usará o prompt, coletará contexto adicional (por exemplo, dados do repositório armazenados no GitHub) e fornecerá uma resposta com base no prompt. O sistema se destina apenas a responder a perguntas relacionadas à codificação.

Análise de modelo de linguagem

Em seguida, o prompt pré-processado passa pelo modelo de linguagem do Chat Copilot, que é uma rede neural treinada em um grande corpo de dados de texto. O modelo de linguagem analisa o prompt de entrada.

Geração de resposta

O modelo de linguagem gera uma resposta com base na análise do prompt de entrada e no contexto fornecido. O modelo de linguagem pode coletar contexto adicional e fornecer uma resposta com base na solicitação. Essa resposta pode assumir a forma de código gerado, sugestões de código ou explicações do código existente.

Formatação de saída

A resposta gerada pelo Chat Copilot é formatada e apresentada ao usuário. O Chat Copilot pode usar realce de sintaxe, recuo e outros recursos de formatação para que a resposta gerada fique mais clara. Dependendo do tipo de pergunta do usuário, links para o contexto que o modelo usou ao gerar uma resposta, como arquivos de código-fonte ou documentação, também podem ser fornecidos.

O Chat GitHub Copilot tem a finalidade de fornecer a resposta mais relevante à pergunta. Mas, nem sempre ele consegue fornecer a resposta que você está procurando. Os usuários do Chat Copilot são responsáveis por revisar e validar as respostas geradas pelo sistema para garantir que elas sejam precisas e apropriadas. Além disso, como parte de nosso processo de desenvolvimento de produtos, realizamos equipes vermelhas para entender e melhorar a segurança do Chat Copilot. Prompts de entrada e conclusões de saída são executados por meio de filtros de conteúdo. O sistema de filtragem de conteúdo detecta e impede a saída em categorias específicas de conteúdo, incluindo conteúdo prejudicial, ofensivo ou fora do tema. Para saber mais sobre como aprimorar o desempenho do Chat GitHub Copilot, confira Como aprimorar o desempenho do Chat GitHub Copilot.

Usar BYOK (Bring Your Own Key) com GitHub Copilot

Quando usa Bring Your Own Key com Chat GitHub Copilot, você pode conectar a experiência de chat a modelos de linguagem grandes de provedores com suporte além do modelo Copilot padrão. Exemplos de provedores com suporte incluem Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, provedores compatíveis com OpenAI e xAI. Adicione sua chave de API para o provedor escolhido diretamente nas configurações Copilot.

Quando BYOK estiver ativo:

  •         **Escopo do recurso**: o modelo escolhido é usado no Chat GitHub Copilot. No modo de agente, o BYOK alimenta a conversa principal, mas determinadas ações, como a aplicação de código ou outras chamadas de ferramenta, ainda podem usar modelos hospedados por GitHub, otimizados para essas tarefas. Esses modelos integrados não são executados pelo provedor BYOK.
    
  •         **Processos de segurança**: independentemente de qual provedor esteja ativo, as respostas ainda passam pelos sistemas de segurança do GitHub, incluindo filtragem de conteúdo, antes que os resultados sejam mostrados a você.
    
  •         **Considerações de qualidade**: as sugestões podem variar dependendo dos pontos fortes e da cobertura de treinamento do provedor escolhido.
    
  •         **Tratamento de dados**: ao usar BYOK, seus prompts e respostas são transmitidos para o provedor selecionado e podem estar sujeitos às políticas de privacidade e retenção de dados desse provedor. GitHub processa temporariamente esses dados para filtragem de segurança, mas não retém o conteúdo da conversa BYOK além da duração da sessão.
    
  •         **Suas responsabilidades**: Você é responsável pelo seguinte:
    
    • Segurança de chave da API do provedor
    • Custos de uso ou cotas
    • Validação de saída
    • Avaliar se o modelo escolhido atende aos requisitos de segurança e qualidade
    • Conformidade com os termos do provedor selecionado
    • Determinar se o modelo escolhido está em conformidade com as leis aplicáveis
    • Garantir que uma pessoa revise qualquer resultado antes de usá-lo para tomar decisões que afetem as pessoas
  •         **Restrições de exportação: determinados** modelos de IA podem estar sujeitos a controles de exportação. Verifique se o provedor e o modelo selecionados estão autorizados a serem usados em sua jurisdição.
    

O BYOK habilita sua organização a escolher o modelo linguístico que melhor atenda às suas necessidades, enquanto se beneficia da infraestrutura de segurança do GitHub. Observe que as características de desempenho e segurança do modelo dependem do provedor.

Casos de uso do Chat GitHub Copilot

O Chat GitHub Copilot pode fornecer assistência de codificação em diversos cenários.

Gerar casos de teste de unidade

O Chat Copilot pode ajudar a escrever casos de teste de unidade gerando snippets de código com base no código aberto no editor ou no snippet de código realçado no editor. Isso ajuda a escrever casos de teste sem dedicar tanto tempo em tarefas repetitivas. Por exemplo, se você estiver escrevendo um caso de teste para uma função específica, poderá usar Chat Copilot para sugerir possíveis parâmetros de entrada e valores de saída esperados com base na assinatura e no corpo da função. O Chat Copilot também pode sugerir declarações que garantam que a função esteja funcionando corretamente, com base no contexto e na semântica do código.

O Chat Copilot também pode ajudar a escrever casos de teste para casos de borda e condições limitadas, que podem ser difíceis de identificar manualmente. Por exemplo, o Chat Copilot pode sugerir casos de teste para tratamento de erro, valores nulos ou tipos de entrada inesperados, ajudando a garantir que o código fique robusto e resiliente. No entanto, é importante observar que os casos de teste gerados podem não abranger todos os cenários possíveis. Testes manuais e revisões de código ainda serão necessários para garantir a qualidade do código. Para saber mais sobre como gerar casos de teste de unidade, confira Como fazer perguntas ao Chat GitHub Copilot sobre o código.

Explicar o código e sugerir melhorias

O Chat Copilot pode ajudar a explicar o código em um arquivo gerando descrições de linguagem natural da funcionalidade e da finalidade do código. Isso pode ser útil se você quiser entender o comportamento do código ou para stakeholders não técnicos que precisem compreender como ele funciona. Por exemplo, você pode pedir que o Copilot explique uma função nomeada no arquivo exibido no momento, e o Chat Copilot gerará uma descrição de linguagem natural do que o código faz. Isso pode incluir informações como os parâmetros de entrada e saída da função , bem como suas dependências.

O Chat Copilot também pode sugerir possíveis melhorias ao código, como melhor tratamento de erros e casos de borda ou alterações no fluxo lógico para tornar o código mais legível.

Ao gerar explicações e sugerir documentação relacionada, Chat Copilot pode ajudá-lo a entender o código em um projeto, levando a colaboração aprimorada e desenvolvimento de software mais eficaz. No entanto, é importante observar que as explicações e a documentação geradas nem sempre são precisas ou completas, portanto, você precisa revisar e, às vezes, corrigir a saída do Chat Copilot.

Propostas de correções de código

O Chat Copilot pode propor uma correção de bugs no código sugerindo snippets de código e soluções com base no contexto do erro ou problema. Isso ajuda quando você tem dificuldade de identificar a causa raiz de um bug ou precisa de orientação sobre a melhor maneira de corrigi-lo. Por exemplo, se o código produzir uma mensagem de erro ou um aviso, o Chat Copilot poderá sugerir possíveis correções com base na mensagem de erro, na sintaxe do código e no código ao redor.

O Chat Copilot pode sugerir alterações em variáveis, estruturas de controle ou chamadas de função que possam resolver o problema e gerar snippets de código que possam ser incorporados à base de código. No entanto, é importante observar que as correções sugeridas nem sempre são ideais ou estão completas, portanto, você precisa examinar e testar as sugestões.

Respostas a perguntas de codificação

Você pode pedir ajuda ou esclarecimento ao Chat Copilot sobre problemas de codificação específicos e receber respostas no formato de linguagem natural ou no formato de snippet de código.

A resposta gerada por Chat Copilot usará o conjunto de dados de treinamento do modelo para responder às suas perguntas.

Isso pode ser uma ferramenta útil para programadores, pois pode fornecer diretrizes e suporte para tarefas e desafios comuns de codificação.

Como melhorar o desempenho do Chat GitHub Copilot

O Chat Copilot pode dar suporte a uma ampla variedade de aplicações práticas, como geração de código, análise de código e correções de código, cada um com diferentes métricas de desempenho e estratégias de mitigação. Para aprimorar o desempenho e resolver algumas das limitações do Chat Copilot, há várias medidas que você pode adotar. Para saber mais sobre as limitações do Chat Copilot, confira Limitações do Chat GitHub Copilot.

Mantenha os prompts no tópico

O Chat Copilot se destina a abordar consultas relacionadas exclusivamente à codificação. Portanto, manter o prompt limitado a perguntas ou tarefas de codificação pode aprimorar a qualidade de saída do modelo.

Usar o Chat Copilot como uma ferramenta, não uma substituição

Embora o Chat Copilot seja ferramenta poderosa para gerar código, é importante usá-lo como ferramenta em vez de substituir a programação humana. Você sempre deve revisar e testar o código gerado pelo Chat Copilot para garantir que ele atenda aos requisitos e não tenha erros ou questões de segurança.

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

Embora o Chat Copilot possa gerar um código sintaticamente correto, nem sempre isso é 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 Chat Copilot.

Fique atualizado

O Chat Copilot é uma tecnologia nova e provavelmente evoluirá ao longo do tempo. Esteja sempre em dia com as atualizações ou alterações na ferramenta, bem como novos riscos de segurança ou práticas recomendadas que possam surgir. As atualizações de extensão automatizadas são habilitadas por padrão no Visual Studio Code, no Visual Studio e no conjunto de IDEs do JetBrains. No Chat do GitHub Copilot no GitHub, você sempre terá acesso à experiência de produto mais recente. Se as atualizações automáticas estiverem habilitadas, o Chat Copilot será atualizado automaticamente para a última versão quando você abrir o IDE. Para obter mais informações sobre atualizações automáticas no IDE, confira a documentação do Visual Studio Code, a documentação do Visual Studio e a documentação do IDE do JetBrains..

Limitações do Chat 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 o Chat Copilot. As informações a seguir ajudam a entender as limitações do sistema e os principais conceitos sobre desempenho, conforme se aplicam ao Chat Copilot.

Escopo limitado

O Chat Copilot foi treinado em um grande corpo de código, mas ainda tem um escopo limitado e pode não conseguir lidar com estruturas de código mais complexas 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. Por exemplo, o JavaScript é bem representado nos repositórios públicos e é uma das linguagens com melhor suporte do GitHub Copilot. No caso de linguagens com menos representação em repositórios públicos, o Chat Copilot pode encontrar mais dificuldades para ajudar. Além disso, o Chat Copilot só pode sugerir código com base no contexto do código que está sendo escrito, portanto, ele pode não conseguir identificar problemas maiores de design ou arquitetura.

Possíveis desvios

Os dados de treinamento do Copilot são extraídos de repositórios de código existentes, que podem conter desvios e erros que poderão ser perpetuados pela ferramenta. Além disso, o Chat Copilot pode ser tendencioso em relação a determinadas linguagens de programação ou estilos de codificação, o que pode levar a sugestões de código abaixo do ideal ou incompletas.

Riscos à segurança

O Chat Copilot gera código com base no contexto do código que está sendo escrito, que poderá expor informações confidenciais ou vulnerabilidades se não for usado com cuidado. Tenha cuidado ao usar o Chat Copilot para gerar código para aplicativos sensíveis à segurança e sempre revise e teste completamente o código gerado.

Correspondências com código público

O Chat Copilot consegue gerar um novo código de maneira probabilística. Embora seja baixa a probabilidade de que ele possa gerar um código que corresponda ao código no conjunto de treinamento, uma sugestão do Chat Copilot pode conter alguns snippets de código que correspondem ao código no conjunto de treinamento.

Se você tiver desabilitado sugestões que correspondam ao código público, o Chat Copilot utilizará filtros que o impedem de mostrar código que corresponda ao código encontrado em repositórios públicos no GitHub. No entanto, você deve sempre tomar as mesmas precauções que tomaria com qualquer código que escrevesse que utilizasse material não originado de forma independente, incluindo precauções para garantir sua adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança. Você deve verificar se o IDE ou o editor não compila ou executa automaticamente o código gerado antes de revisá-lo.

Se você tiver habilitado sugestões que correspondam ao código público, o Chat Copilot exibirá uma mensagem se o código correspondente for encontrado. A mensagem inclui um link que permite mostrar os detalhes do código correspondente e todos os detalhes da licença encontrados no editor VS Code. Para saber mais, confira Localizando o código público que corresponde às sugestões do Copilot GitHub.

O Chat Copilot utiliza filtros que bloqueiam correspondências com código público em repositórios do GitHub, mas você sempre deve tomar as mesmas precauções que tomaria em qualquer código ao usar um material que não criou, incluindo precauções para garantir a adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança. Você deve verificar se o IDE ou o editor não compila ou executa automaticamente o código gerado antes de revisá-lo.

O Chat Copilot utiliza filtros que bloqueiam correspondências com código público em repositórios do GitHub, mas você sempre deve tomar as mesmas precauções que tomaria em qualquer código ao usar um material que não criou, incluindo precauções para garantir a adequação. Isso inclui testes rigorosos, verificação de IP e acompanhamento de vulnerabilidades de segurança. Você deve verificar se o IDE ou o editor não compila ou executa automaticamente o código gerado antes de revisá-lo.

Código impreciso

Uma das limitações do Chat Copilot é que ele pode gerar um código que parece ser válido, mas pode não estar correto semantica ou sintaticamente ou 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.

Respostas imprecisas a tópicos que não são de codificação

O Chat Copilot não foi projetado para responder a perguntas não relacionadas a codificação e, portanto, as respostas nem sempre são precisas ou úteis nesses contextos. Se um usuário fizer uma pergunta ao Chat Copilot que não seja sobre codificação, ele poderá gerar uma resposta irrelevante ou sem sentido ou simplesmente indicar que não é possível dar uma resposta útil.

Próximas etapas

Para obter detalhes sobre como usar o Chat GitHub Copilot, consulte:

Leitura adicional