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 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 obter mais informações, confira "O que é o GitHub Copilot?".
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
A solicitação de entrada do usuário é pré-processada pelo sistema do Copilot Chat, 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 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. 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 do chat @github
, o Copilot Chat pode coletar contexto do seu código armazenado em GitHub e resultados de pesquisa do Bing (se habilitado pelo administrador).
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".
Aproveitando uma pesquisa na Web para responder a uma pergunta
Note
A integração da Pesquisa do Bing ao Copilot Chat está no momento em versão prévia pública e, consequentemente, está sujeita a alterações.
Quando você usa o participante do chat @github
, GitHub Copilot Chat 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 obter mais informações, confira "Como impor políticas do 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.
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.
A resposta gerada por Copilot Chat usará o conjunto de dados de treinamento do modelo para responder às suas perguntas.
Quando você usa o participante do chat @github
, a resposta gerada também pode usar resultados de pesquisa do Bing, código em seus repositórios e documentação de Markdown em suas bases de informações.
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, 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.
Se você tiver desabilitado sugestões que correspondam ao código público, Copilot Chat 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, Copilot Chat 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 obter mais informações, consulte "Como procurar um código público que corresponde às sugestões do GitHub Copilot".
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.
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
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 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 obter mais informações, confira "O que é o GitHub Copilot?".
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
A solicitação de entrada do usuário é pré-processada pelo sistema do Copilot Chat, 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 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. 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 do chat @github
, o Copilot Chat pode coletar contexto do seu código armazenado em GitHub e resultados de pesquisa do Bing (se habilitado pelo administrador).
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".
Aproveitando uma pesquisa na Web para responder a uma pergunta
Note
A integração da Pesquisa do Bing ao Copilot Chat está no momento em versão prévia pública e, consequentemente, está sujeita a alterações.
Quando você usa o participante do chat @github
, GitHub Copilot Chat 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 obter mais informações, confira "Como impor políticas do 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.
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.
A resposta gerada por Copilot Chat 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.
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, 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.
Se você tiver desabilitado sugestões que correspondam ao código público, Copilot Chat 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, Copilot Chat 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 obter mais informações, consulte "Como procurar um código público que corresponde às sugestões do GitHub Copilot".
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.
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
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 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 obter mais informações, confira "O que é o GitHub Copilot?".
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
A solicitação de entrada do usuário é pré-processada pelo sistema do Copilot Chat, 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 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. 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 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.
A resposta gerada por Copilot Chat 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.
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, 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.
Se você tiver desabilitado sugestões que correspondam ao código público, Copilot Chat 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, Copilot Chat 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 obter mais informações, consulte "Como procurar um código público que corresponde às sugestões do GitHub Copilot".
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.
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: