Sobre o Chat do GitHub Copilot no GitHub
Chat do GitHub Copilot no GitHub é uma interface de chat que permite interagir com GitHub Copilot, para fazer e receber respostas a perguntas relativas à programação no GitHub.
A interface de chat fornece acesso a informações de codificação e suporte sem que você precise navegar pela documentação ou pesquisar em fóruns online.
Observação
O Chat Copilot também está disponível no Visual Studio Code, no Visual Studio e no conjunto de IDEs da JetBrains. No entanto, os recursos disponíveis nesses IDEs diferem dos recursos disponíveis em GitHub.
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 o Copilot Chat no GitHub é o inglês.
Chat GitHub Copilot funciona usando uma combinação de processamento de linguagem natural e machine learning para entender sua 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 do Chat Copilot, combinado com informações contextuais (por exemplo, a data e hora atuais e o nome do repositório que o usuário está visualizando no momento) e enviado para um grande modelo de linguagem. A entrada do usuário pode assumir a forma de snippets de código ou linguagem sem codificação.
O modelo de linguagem grande usará o prompt, coletará contexto adicional (por exemplo, dados de repositório armazenados em GitHub ou resultados da pesquisa de Bing) 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 com um grande conjunto 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 (por exemplo, dados de repositório armazenados em GitHub ou resultados de pesquisa de Bing) e fornecer uma resposta com base no prompt. 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. Chat Copilot pode usar realce de sintaxe, indentação e outros recursos de formatação para adicionar clareza à resposta gerada. 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, problemas Bing resultados da pesquisa ou documentação, também podem ser fornecidos.
O Chat 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 do nosso processo de desenvolvimento de produtos, realizamos o agrupamento vermelho para entender e melhorar a segurança das sugestões em linha do Chat Copilot. Solicitações de entrada e resultados de saída são processados 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 Copilot, confira Como aprimorar o desempenho do Chat Copilot.
Casos de uso do Chat Copilot
O Chat Copilot pode fornecer assistência de codificação em diversos cenários.
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 pode usar o conjunto de dados de treinamento do modelo, os resultados da pesquisa do Bing e o código em seus repositórios 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.
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 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, 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ê 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.
Planejar tarefas de codificação
O Chat Copilot pode ler um problema do GitHub e resumi-lo, responder a perguntas sobre ele ou propor as próximas etapas. Isso pode ser útil se você tiver um problema longo e complexo com muitos comentários e quiser entendê-lo rapidamente ou descobrir o que to do a seguir.
No entanto, é importante observar que as respostas e os resumos do Chat Copilot podem nem sempre ser precisos ou completos; portanto, você precisará examinar a precisão da saída do Chat Copilot.
Informar-se sobre versões, discussões e commits
O Chat Copilot pode ajudar você a descobrir o que mudou em uma versão específica, pode resumir as informações em uma discussão e pode explicar as alterações em um commit específico. Isso pode ser útil se, por exemplo, você for novo em um project, quiser obter rapidamente a essência de uma discussão ou precisar trabalhar no código que outra pessoa escreveu. No entanto, é importante observar que os resumos de versões, discussões e confirmações do Chat Copilot podem não ser sempre precisos ou completos.
Como melhorar o desempenho do Chat Copilot
Chat Copilot pode dar suporte a uma ampla gama de aplicações práticas, como Perguntas e Respostas, geração de código, análise de código e correções de código, cada uma 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 obter mais informações sobre as limitações de Chat Copilot, consulte Limitações de Chat GitHub Copilot.
Mantenha as solicitações 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 algum problema ou limitação com o Copilot Chat no GitHub, recomendamos que você forneça comentários clicando no ícone de polegar para baixo abaixo de cada resposta de chat. 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. Para Chat do GitHub Copilot no GitHub você sempre terá acesso à experiência mais recente do produto. Você deve se manter atualizado com relação a quaisquer novos riscos de segurança ou práticas recomendadas que possam surgir.
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
Copilot dados de treinamento (extraídos de repositórios de código existentes) e o contexto coletado pelo modelo de linguagem de grande porte (por exemplo, resultados de pesquisa do Bing) podem conter preconceitos e erros que podem 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.
Coincidê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.
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 links para repositórios em GitHub que contêm código correspondente e quaisquer detalhes de licença que foram encontrados. Para obter mais informações, consulte Localizando o código público que corresponde às sugestões do Copilot GitHub.
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.
Aproveitando uma pesquisa na Web para responder a uma pergunta
Dependendo da pergunta que você fizer, Chat GitHub Copilot pode, opcionalmente, usar uma pesquisa Bing para ajudar a responder sua pergunta. Copilot usará Bing para consultas sobre eventos recentes, novas tendências ou tecnologias, assuntos altamente específicos ou quando uma pesquisa na web for solicitada explicitamente pelo usuário. O administrador GitHub Enterprise de dados pode habilitar Bing para toda a sua empresa ou pode delegar essa decisão ao administrador organizacional. Para saber mais, confira Gerenciando políticas e recursos para GitHub Copilot em sua empresa.
Ao utilizar o Bing, Copilot usará o conteúdo do seu prompt, bem como o contexto adicional disponível, para gerar uma consulta de pesquisa Bing para você que é enviada para a API de Pesquisa 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 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.
Próximas etapas
Para obter detalhes sobre como usar o Chat do GitHub Copilot no GitHub, confira:
-
[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-chat/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)
Leitura adicional
-
[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-copilot-pre-release-terms) -
[GitHub Copilot Central de Confiabilidade](https://copilot.github.trust.page/)