Skip to main content

Sobre o GitHub Copilot Chat

GitHub Copilot Chat can help you by providing answers to coding related questions directly within a supported IDE.

Quem pode usar esse recurso?

Todos os usuários com uma assinatura do GitHub Copilot Individual podem acessar GitHub Copilot Chat em seu IDE.

Proprietários de organizações com uma assinatura do Copilot Business podem decidir se desejam conceder acesso ao GitHub Copilot Chat em seu IDE.

Sobre o GitHub Copilot Chat

O GitHub Copilot Chat é uma interface de chat que permite interagir com o GitHub Copilot, para fazer perguntas e receber respostas sobre codificação em GitHub.com 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. No momento, há suporte para o Copilot Chat no Visual Studio Code, no Visual Studio e no conjunto de IDEs do JetBrains (beta). Os usuários com uma assinatura do Copilot Enterprise também podem usar o GitHub Copilot Chat in GitHub.com. Para obter mais informações sobre o GitHub Copilot, confira "Sobre o GitHub Copilot Individual", "Sobre o GitHub Copilot Business" e "Sobre o GitHub Copilot Enterprise."

O GitHub Copilot Chat 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 GitHub Copilot Chat 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 GitHub Copilot Chat é o inglês.

O GitHub Copilot Chat 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

O prompt de entrada do usuário é pré-processado pelo sistema Copilot Chat e enviado para um modelo de linguagem grande em busca de uma resposta com base no contexto e no prompt. A entrada do usuário pode assumir a forma de snippets de código ou linguagem sem codificação. 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 Copilot Chat, 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. 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 Copilot Chat é formatada e apresentada ao usuário. O Copilot Chat 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 GitHub Copilot Chat se destina a fornecer a resposta mais relevante à pergunta. Mas, nem sempre ele consegue fornecer a resposta que você está procurando. Os usuários do Copilot Chat 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 Copilot Chat. 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 obter mais informações de como aprimorar o desempenho do GitHub Copilot Chat, confira "Como aprimorar o desempenho do GitHub Copilot Chat".

Casos de uso do GitHub Copilot Chat

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

Gerar casos de teste de unidade

O Copilot Chat 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 Copilot Chat 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 Copilot Chat 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 Copilot Chat 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 Copilot Chat 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 obter mais informações de como gerar casos de teste de unidade, confira "Como fazer perguntas ao GitHub Copilot Chat sobre o código".

Explicar o código e sugerir melhorias

O Copilot Chat 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 Copilot Chat 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 Copilot Chat 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 Copilot Chat 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 Copilot Chat.

Propostas de correções de código

O Copilot Chat 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 Copilot Chat poderá sugerir possíveis correções com base na mensagem de erro, na sintaxe do código e no código ao redor.

O Copilot Chat 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 Copilot Chat sobre problemas de codificação específicos e receber respostas no formato de linguagem natural ou no formato de snippet de código. Isso pode ser uma ferramenta útil para programadores, pois pode fornecer diretrizes e suporte para tarefas e desafios comuns de codificação.

Aprimoramento do desempenho do GitHub Copilot Chat

O Copilot Chat 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 Copilot Chat, há várias medidas que você pode adotar. Para obter mais informações sobre as limitações do Copilot Chat, confira "Limitações do GitHub Copilot Chat".

Mantenha os prompts no tópico

O Copilot Chat 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.

Use o Copilot Chat como ferramenta, não como substituição

Embora o Copilot Chat 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 Copilot Chat 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 Copilot Chat 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 Copilot Chat.

Fornecer comentários

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

Fique atualizado

O Copilot Chat é uma nova tecnologia 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 GitHub Copilot Chat in GitHub.com, você sempre terá acesso à experiência de produto mais recente. Se as atualizações automáticas estiverem habilitadas, o Copilot Chat 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 GitHub Copilot Chat

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

Escopo limitado

O Copilot Chat 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 Copilot Chat pode encontrar mais dificuldades para ajudar. Além disso, o Copilot Chat 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 Copilot Chat 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 Copilot Chat 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 Copilot Chat 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 Copilot Chat 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 Copilot Chat pode conter alguns snippets de código que correspondem ao código no conjunto de treinamento. O Copilot Chat 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 Copilot Chat é 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 Copilot Chat 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 Copilot Chat 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 GitHub Copilot Chat, confira:

Leitura adicional