O que é um Cartão de Aplicação?
GitHub’s application and platform cards are intended to help you understand how our AI technology works, the choices application owners can make that influence application performance and behavior, and the importance of considering the whole application, including the technology, the people, and the environment. Application cards are created for AI applications and platform cards are created for AI platform services. These resources can support the development or deployment of your own applications and can be shared with users or stakeholders impacted by them.
As part of its commitment to responsible AI, GitHub adheres to Microsoft's six core principles: fairness, reliability and safety, privacy and security, inclusiveness, transparency, and accountability. These principles are embedded in the Responsible AI Standard, which guides teams in designing, building, and testing AI applications. Application and Platform Cards play a key role in operationalizing these principles by offering transparency around capabilities, intended uses, and limitations. For further insight, readers are encouraged to explore Microsoft’s Responsible AI Transparency Report and Termos do GitHub.
1. Visão geral
GitHub Copilot Chat é uma interface de chat que permite interagir com GitHub Copilot fazer e receber respostas para perguntas relacionadas à codificação. GitHub Copilot Chat está disponível em GitHub.com, em IDEs com suporte (VS Code, Visual Studio, JetBrains e Eclipse), no GitHub Mobile e em Terminal do Windows. No GitHub.com e no GitHub Desktop, o Copilot também pode gerar resumos de pull requests e mensagens de commit — visões gerais com tecnologia de IA das alterações feitas em um pull request ou commit.
O GitHub Copilot Chat pode responder a uma ampla variedade de perguntas relacionadas à codificação em 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 não codificadas ou fornecer informações gerais sobre tópicos fora da codificação.
O principal idioma com suporte para o GitHub Copilot Chat é inglês.
2. Termos-chave
A lista a seguir fornece um glossário de termos-chave relacionados ao GitHub Copilot Chat:
- Filtragem de conteúdo: um sistema de segurança que verifica solicitações e respostas para detectar e bloquear conteúdo prejudicial antes de ser mostrado ao usuário.
- Alucinação: um fenômeno em que um modelo de linguagem gera uma saída que soa plausível, mas que é factualmente incorreta, sem suporte pelo contexto fornecido ou totalmente fabricada. Alucinações são um risco conhecido de grandes modelos de linguagem e são a razão pela qual a revisão humana da saída gerada por IA é importante.
- LLM (modelo de linguagem grande): um tipo de rede neural treinada em um grande corpo de dados de texto que pode gerar, analisar e transformar linguagem natural e código. O GitHub Copilot Chat usa uma ou mais LLMs para processar prompts e produzir respostas.
- Prompt: Entrada fornecida ao GitHub Copilot Chat. O sistema combina o prompt com contexto adicional (por exemplo, arquivos abertos ou dados de repositório) antes de enviá-lo para o modelo de idioma.
- A correspondência de código público: um recurso que verifica se as sugestões de Copilot correspondem ao código disponível publicamente. Dependendo de suas configurações, as sugestões correspondentes podem estar desativadas ou ativadas; se ativado, ele pode bloquear ou anotar com uma referência ao repositório de origem e a qualquer informação de licença.
- Resumo do pull request: uma visão geral gerada por IA das alterações em um pull request, composta por um parágrafo descritivo e uma lista com marcadores das principais alterações, com links para os arquivos afetados. Os resumos são gerados sob demanda por GitHub.com.
- Agrupamento vermelho: uma prática de teste estruturada na qual os testadores deliberadamente tentam provocar comportamentos não seguros, prejudiciais ou não intencionais de um sistema de IA. O agrupamento vermelho ajuda a identificar vulnerabilidades e melhorar as mitigações de segurança antes e depois da liberação.
- Dados de treinamento: o grande volume de texto e código disponíveis publicamente que foram usados para treinar os modelos fundamentais por trás do GitHub Copilot Chat. A composição dos dados de treinamento influencia a qualidade e a cobertura das sugestões do modelo em diferentes linguagens de programação, estruturas e tópicos.
3. Principais funcionalidades ou capacidades
Os principais recursos e funcionalidades apresentados aqui descrevem para que o GitHub Copilot Chat foi desenvolvido e como ele se comporta nas tarefas compatíveis.
- Conversational coding assistance: o GitHub Copilot Chat fornece uma interface de linguagem natural para fazer perguntas relacionadas à codificação e receber respostas na forma de código, explicações ou diretrizes passo a passo. Os usuários podem fazer perguntas de acompanhamento para refinar respostas e o histórico da conversa é mantido em uma sessão.
- Context-aware responses: o GitHub Copilot Chat usa informações contextuais, como arquivos abertos, repositório ativo, histórico de chat e (quando habilitado) resultados de pesquisa na Web, para gerar respostas relevantes para o trabalho atual do usuário. O contexto específico disponível depende da plataforma (GitHub.com, IDE, Mobile, Terminal do Windows ou GitHub Desktop).
- Multi-platform availability: GitHub Copilot Chat está disponível em várias superfícies, incluindo GitHub.com, IDEs com suporte (VS Code, Visual Studio, JetBrains e Eclipse), GitHub Mobile, Terminal do Windows e GitHub Desktop. Cada plataforma oferece uma experiência personalizada otimizada para seu ambiente.
- Agent mode: em IDEs com suporte, o GitHub Copilot Chat pode operar no modo de agente, em que o modelo planeja tarefas de várias etapas de forma autônoma, invoca ferramentas (como executar comandos de terminal ou editar arquivos) e itera nos resultados. Isso estende a experiência de chat além das interações de pergunta e resposta de turno único.
- Copilot Spaces: os espaços permitem que os usuários organizem repositórios, arquivos, problemas e outros materiais em uma coleção de contexto selecionada. Quando uma pergunta é feita dentro de um espaço, Copilot usa o contexto incluído para produzir respostas mais direcionadas e relevantes. Os espaços também podem ser acessados pela IDE por meio do servidor MCP remoto do GitHub.
- Resumos de pull request: No GitHub.com, o Copilot pode gerar um resumo das alterações em um pull request com tecnologia de IA. A saída consiste em uma visão geral em texto corrido, seguida por uma lista com marcadores das principais alterações vinculadas aos arquivos afetados. Os resumos são gerados sob demanda e destinam-se a ajudar os revisores a entender rapidamente o que mudou.
- Geração de mensagens de commit: No GitHub.com e no GitHub Desktop, o Copilot pode gerar um resumo (título) de commit sugerido e uma descrição com base nas alterações de código que você selecionou. No GitHub Desktop, os usuários podem selecionar linhas específicas de código ou arquivos para melhorar o contexto e a precisão. As mensagens geradas podem ser revisadas e editadas antes de efetivá-las.
- Bring Your Own Key (BYOK): as organizações podem conectar o GitHub Copilot Chat a grandes modelos de linguagem de provedores terceiros compatíveis ao fornecerem sua própria chave de API, em vez de usar o modelo padrão hospedado pelo GitHub.
- Content filtering: às vezes, o GitHub Copilot Chat pode incluir um sistema de filtragem de conteúdo que verifica prompts e respostas para detectar e bloquear conteúdo prejudicial. Um recurso de correspondência de código público verifica se as sugestões correspondem ao código disponível publicamente e, dependendo das configurações, bloqueia ou anota essas correspondências com informações de origem e licença.
4. Utilizações pretendidas
O GitHub Copilot Chat pode ser usado em vários cenários em vários setores. Alguns exemplos de casos de utilização incluem:
- Respondendo a perguntas sobre codificação: peça ajuda ou esclarecimentos ao GitHub Copilot Chat sobre problemas específicos de programação e receba respostas em linguagem natural ou em formato de trecho de código. A resposta pode se basear nos dados de treinamento do modelo, no contexto do repositório e nos resultados da pesquisa na Web (quando habilitado).
- Explicando o código e sugerindo melhorias: gere descrições de linguagem natural da finalidade, entradas, saídas e dependências de uma função. O GitHub Copilot Chat também pode sugerir melhorias, como melhor tratamento de erros ou fluxo de controle mais legível. Observe que as explicações geradas podem nem sempre ser precisas ou completas e devem ser revisadas.
- Generando casos de teste de unidade: o GitHub 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 em um snippet de código realçado. Ele pode sugerir possíveis parâmetros de entrada, valores de saída esperados e asserções com base na assinatura e no corpo da função. O GitHub Copilot Chat também pode sugerir casos de teste para casos de borda e condições de limite, como tratamento de erros, valores nulos ou tipos de entrada inesperados, que podem ser difíceis de identificar manualmente. Os casos de teste gerados podem não abranger todos os cenários possíveis; testes manuais e revisão de código ainda são necessários.
- Propondo correções de código: obtenha as correções sugeridas para bugs com base na mensagem de erro, na sintaxe do código e no contexto ao redor. GitHub Copilot Chat pode sugerir alterações em variáveis, estruturas de controle ou chamadas de função que podem resolver o problema. Observe que as correções sugeridas nem sempre podem ser ideais ou concluídas.
- Planejamento de tarefas de programação: ler e resumir problemas no GitHub, responder perguntas sobre eles ou propor as próximas etapas.
- Aprendendo sobre lançamentos, discussões e commits: Resuma o que mudou em um lançamento, os pontos principais de uma discussão ou as alterações em um commit específico.
- Summarizing pull request changes (GitHub.com): Gere um resumo alimentado por IA das alterações em uma solicitação de pull, incluindo uma visão geral de prosa e uma lista com marcadores de alterações importantes vinculadas aos arquivos afetados, para ajudar os revisores a entender rapidamente o que mudou e onde concentrar sua revisão.
- Generating commit messages (GitHub.com and GitHub Desktop): Gerar um resumo da mensagem de confirmação (título) e uma descrição com base nas alterações de código selecionadas para confirmar, ajudando você a economizar tempo e manter históricos de confirmação claros. No GitHub Desktop, você pode selecionar linhas específicas de código ou arquivos para melhor compreensão de contexto para aumentar a precisão. Você pode examinar e editar o título e a descrição sugeridos antes de se comprometer.
- Definindo o comando correto (Terminal do Windows): Perguntar ao Copilot para sugerir comandos que ajudam você a executar tarefas na linha de comando. Você pode revisar sua pergunta até que o comando retornado atenda às suas expectativas e insira-a na linha de comando para executá-la.
- Explainando um comando desconhecido (Terminal do Windows): Perguntar ao Copilot para gerar uma descrição de linguagem natural da funcionalidade de um comando, incluindo seus parâmetros de entrada e saída e exemplos de uso. Observe que as explicações geradas podem nem sempre ser precisas ou concluídas.
- Desenvolvindo um novo recurso (Spaces): agrupar código relevante, especificações de produto e notas de design em um espaço para que Copilot possa explicar a implementação atual, realçar lacunas e elaborar novo código ou próximas etapas.
- Definindo a lógica para tarefas repetidas (Espaços): documente um processo uma vez, com fluxogramas, exemplos ou esquemas, e reutilize-o em sua equipe para padrões consistentes e modelos reutilizáveis.
- Compartilhe conhecimento com colegas de equipe (Spaces): Reúna o código e a documentação mais recentes em um só lugar para que o Copilot possa explicar sistemas, responder a perguntas e integrar colegas de equipe.
5. Modelos e dados de preparação
O GitHub Copilot Chat aproveita uma variedade de modelos de IA para alimentar a experiência que os usuários veem. Para obter uma comparação dos modelos disponíveis para Copilot, consulte Comparação de modelos de IA. Para obter a lista completa de modelos com suporte, consulte Modelos de IA com suporte no GitHub Copilot. Para obter informações sobre onde os modelos estão hospedados, consulte Hospedagem de modelos para GitHub Copilot. Para saber mais sobre os dados usados para treinar os modelos fundamentais por trás do GitHub Copilot Chat, consulte a comparação de modelos de IA mencionada acima e Com quais dados o GitHub Copilot foi treinado? no FAQ do GitHub Copilot.
Usando ByOK (Bring Your Own Key)
Ao usar Bring Your Own Key com o GitHub Copilot Chat, você pode conectar a experiência de chat a modelos de linguagem grandes de provedores com suporte além do modelo de 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 em suas configurações de Copilot.
Quando BYOK estiver ativo:
- Escopo do recurso: o modelo escolhido é utilizado no GitHub Copilot Chat. No modo Agente, o BYOK alimenta a conversa principal, mas determinadas ações, como aplicativo de código ou outras chamadas de ferramenta, ainda podem usar modelos integrados Copilot otimizados para essas tarefas. Esses modelos integrados não são executados pelo provedor BYOK.
- Content filtering: Independentemente de qual provedor esteja ativo, as respostas ainda passam pela API do GitHub e podem ter filtragem de conteúdo antes que os resultados sejam mostrados para 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.
- 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 capacita sua organização a escolher o modelo de linguagem que melhor atenda às suas necessidades. Observe que as características de desempenho e segurança do modelo dependem do provedor.
6. Desempenho
O GitHub Copilot Chat funciona usando uma combinação de processamento de linguagem natural e aprendizado de máquina para entender sua pergunta e fornecer uma resposta. Esse processo envolve:
- Processamento de entrada: o prompt do usuário é pré-processado pelo sistema, combinado com informações contextuais (por exemplo, o repositório atual, arquivos abertos ou histórico de chat) 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.
- Análise do modelo de linguagem: o prompt é passado pelo modelo de linguagem, 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 gera uma resposta com base na análise do prompt de entrada e no contexto fornecido a ele. 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 é formatada com realce de sintaxe, recuo e outros recursos para adicionar clareza. Dependendo do tipo de pergunta, links para o contexto usado pelo modelo, como arquivos de código-fonte, problemas ou documentação, também podem ser fornecidos.
Diferenças por experiência
- On GitHub.com: o modelo pode coletar contexto adicional de dados de repositório armazenados em GitHub e resultados de pesquisa na Web (quando habilitado pelo administrador). As respostas podem incluir links para arquivos de código-fonte, problemas ou documentação.
- Resumos de pull request (GitHub.com): Quando um usuário solicita um resumo, um fluxo de trabalho usa as diferenças de código dos arquivos para criar um prompt e solicita ao Copilot que gere um resumo geral. A saída consiste em um parágrafo em prosa que fornece uma visão geral das alterações, seguido por uma lista com marcadores das principais alterações, vinculadas às respectivas linhas de código. Você pode gerar um resumo na descrição de uma solicitação de pull nova ou existente ou em um comentário sobre a linha do tempo da solicitação de pull. Solicitações de pull maiores podem levar até alguns minutos para serem processadas. O único idioma com suporte para resumos de solicitação de pull é inglês.
- Geração da mensagem de commit (GitHub.com): quando você clica no botão Confirmar alterações no GitHub.com, o Copilot gera um resumo sugerido (título) e uma descrição com base nas alterações feitas no código dos arquivos selecionados. O texto é inserido nos campos resumo e descrição para você examinar e editar antes de se comprometer. O único idioma com suporte para a geração de mensagens de confirmação é o inglês.
- Geração de mensagem de commit (GitHub Desktop): Quando você clica no botão do Copilot no GitHub Desktop, o Copilot gera um resumo sugerido (título) e uma descrição com base nas alterações de código que você selecionou. Você pode selecionar linhas específicas de código ou arquivos para melhorar o contexto e a precisão e regenerar sugestões antes de finalizar. O único idioma com suporte é o inglês.
- Em seu IDE: o sistema combina a entrada do usuário com informações contextuais, como o nome do repositório e os arquivos que o usuário abriu. No VS Code e Visual Studio, o contexto adicional pode ser fornecido automaticamente de um arquivo
.github/copilot-instructions.mdopcional (o usuário pode desabilitar isso nas configurações). Ao usar o participante de chat@githubno VS Code ou Visual Studio, GitHub Copilot Chat também pode coletar contexto do código armazenado em GitHub e nos resultados da pesquisa do Bing (se habilitado pelo administrador). - No GitHub Mobile: o prompt de entrada é pré-processado e enviado para o modelo de linguagem. O sistema se destina apenas a responder a perguntas relacionadas à codificação. As opções disponíveis variam de acordo com Copilot plano: os usuários com uma assinatura do Copilot Enterprise podem ter conversas usando dados de repositórios indexados privados e, se a integração de pesquisa na Web estiver habilitada, receber respostas informadas pelos resultados da pesquisa na Web. Os usuários com uma assinatura Copilot Pro podem discutir os principais repositórios públicos populares.
- In Terminal do Windows: o prompt do usuário é combinado com informações contextuais (o nome do shell ativo e o histórico de chat) e enviado para o modelo de idioma. As respostas tomam a forma de um comando sugerido ou uma explicação de um comando. Os comandos sugeridos não são executados automaticamente, você deve clicar em um comando para inseri-lo na linha de comando e executá-lo manualmente.
- In Copilot Spaces: os espaços permitem organizar o contexto que o GitHub Copilot Chat usa para responder às suas perguntas. Um espaço pode incluir repositórios, código, solicitações de pull, problemas, conteúdo de texto livre, como transcrições ou anotações, imagens e uploads de arquivos. Quando você envia uma pergunta em um espaço, o Copilot enriquece sua solicitação com contexto relevante desse espaço. Os espaços também podem ser acessados pela IDE por meio do servidor MCP remoto do GitHub. Nem todo o conteúdo em um espaço é usado em todas as respostas— Copilot processa uma parte do conteúdo incluído, portanto, ser seletivo sobre o que você adiciona ajuda a garantir relevância.
O Copilot Chat do GitHub destina-se a fornecer a resposta mais relevante para sua pergunta. Mas, nem sempre ele consegue fornecer a resposta que você está procurando. Os usuários do GitHub Copilot Chat são responsáveis por revisar e validar as respostas geradas pelo sistema para garantir que elas sejam precisas e apropriadas.
7. Limitações
Entender as limitações do Copilot Chat do GitHub é crucial para determinar se ele é usado dentro de limites seguros e eficazes. Embora incentivemos os clientes a aproveitar o GitHub Copilot Chat em suas soluções ou aplicativos inovadores, é importante observar que o GitHub Copilot Chat não foi projetado para todos os cenários possíveis. Incentivamos os usuários a se referirem a Termos do GitHub , bem como às seguintes considerações ao escolher um caso de uso:
- Escopo limitado: o GitHub Copilot Chat foi treinado com um grande volume de código, mas pode não ser capaz de lidar com estruturas de código mais complexas ou linguagens de programação pouco conhecidas. Para cada idioma, a qualidade das sugestões depende do volume e da diversidade de dados de treinamento. Por exemplo, o JavaScript é bem representado e bem suportado, enquanto linguagens menos comuns podem produzir resultados de baixa qualidade.
- Possíveis vieses: dados de treinamento extraídos de repositórios de código existentes podem conter preconceitos e erros que podem ser perpetuados pela ferramenta. O GitHub Copilot Chat também 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 de segurança: o código gerado pode potencialmente expor informações confidenciais ou vulnerabilidades se não for revisado cuidadosamente. Sempre examine e teste completamente o código gerado, especialmente para aplicativos sensíveis à segurança.
- Matches com código público: embora a probabilidade seja baixa, o GitHub Copilot Chat pode produzir código que corresponda ao código no conjunto de treinamento. Você deve tomar as mesmas precauções que tomaria com qualquer código que use material que você não tenha criado por conta própria, incluindo testes rigorosos, análise de propriedade intelectual e verificação de vulnerabilidades de segurança. Para obter mais informações, consulte Localizando o código público que corresponde às sugestões do Copilot do GitHub.
- Inaccurate code: o GitHub Copilot Chat pode gerar código que parece válido, mas não está semanticamente ou sintaticamente correto ou não reflete com precisão a intenção do desenvolvedor. Examine e teste cuidadosamente o código gerado, especialmente para aplicativos críticos ou confidenciais.
- Respostas imprecisas a temas não relacionados à programação: o GitHub Copilot Chat não foi desenvolvido para responder a perguntas não relacionadas à programação, e suas respostas nesses contextos podem ser irrelevantes ou sem sentido.
- Risk de comandos destrutivos (Terminal do Windows): Copilot pode sugerir comandos que podem ser destrutivos, como excluir conteúdo ou formatar um disco rígido, que podem ser necessários em determinados cenários, mas podem causar problemas se usados incorretamente. Em última análise, você é responsável por todos os comandos que escolher executar. Apesar da presença de mecanismos de segurança e fail safes, a execução de comandos traz riscos inerentes.
- Limites de linhas alteradas para resumos de PR (GitHub.com): arquivos com mais de 400 adições e remoções combinadas são excluídos da geração de resumos.
- Os resumos de PR não são atualizados automaticamente (GitHub.com): os resumos de pull request só são criados quando solicitados manualmente pelos usuários. Quando são feitas atualizações ou alterações na solicitação de pull, o resumo não é atualizado automaticamente. Os usuários podem solicitar um novo resumo, mas devem examinar cuidadosamente a saída atualizada, que traz os mesmos riscos de imprecisão que o original.
- Replicação de conteúdo de PR (GitHub.com): como um resumo descreve as alterações em uma solicitação de pull, se termos prejudiciais ou ofensivos aparecerem no conteúdo da solicitação de pull, há potencial para o resumo replicar esses termos. Os usuários devem esperar que os termos usados em suas relações públicas apareçam no resumo gerado por IA.
- Escopo limitado para mensagens de commit (GitHub.com e GitHub Desktop): a geração de mensagens de commit pode ter dificuldades com alterações complexas no código, janelas curtas de diff ou linguagens de programação criadas recentemente. A qualidade das sugestões depende da disponibilidade e da diversidade dos dados de treinamento para os idiomas envolvidos.
- Replicação de conteúdo de confirmação (GitHub.com e GitHub Desktop): como uma mensagem de confirmação resume as alterações em uma confirmação, se termos prejudiciais ou ofensivos aparecerem nas alterações de código, há potencial para que a mensagem gerada inclua esses termos.
- Não são atualizadas automaticamente (GitHub.com e GitHub Desktop): as mensagens de confirmação só são geradas quando você as solicita. Quando você faz alterações adicionais, a mensagem de confirmação não é atualizada automaticamente. Você pode regenerar uma nova sugestão, mas deve examinar cuidadosamente a saída atualizada, ela carrega os mesmos riscos de imprecisão que o original.
- Interpretação da intenção do usuário (Spaces): Os Spaces ajudam a fundamentar as respostas do GitHub Copilot Chat em um contexto selecionado, mas o sistema ainda pode interpretar sua intenção de forma incorreta. Sempre examine a saída para confirmar que ela reflete suas metas.
- Context limits (Spaces): os espaços têm limites de tamanho definidos e o GitHub Copilot Chat processa apenas uma parte do conteúdo que você inclui. Nem todos os arquivos, documentos ou anotações em um espaço serão usados em uma resposta. Ser seletivo sobre o que você adiciona ajuda a garantir que o contexto mais relevante seja usado.
- Desempenho variável dependendo do idioma natural: o GitHub Copilot Chat foi otimizado principalmente para o inglês. Você pode notar diferenças no desempenho ao usar prompts em outros idiomas.
- Leveraging web search: No GitHub.com e ao usar o participante do chat GitHub em IDEs com suporte, GitHub Copilot Chat pode usar opcionalmente uma pesquisa do Bing para ajudar a responder sua pergunta, por exemplo, consultas sobre eventos recentes, novas tecnologias ou assuntos altamente específicos. O administrador corporativo pode habilitar ou desabilitar o Bing para sua organização. Quando a pesquisa na Web é usada, o conteúdo do prompt, juntamente com contexto adicional, é usado para gerar uma consulta de pesquisa do Bing em seu nome. A consulta de pesquisa enviada ao Bing é regida pela Política de Privacidade da Microsoft. Para obter mais informações, consulte Gerenciando políticas e recursos para GitHub Copilot em sua empresa.
8. Avaliações
As avaliações de desempenho e segurança avaliam se as aplicações de IA estão a funcionar de forma fiável e segura ao examinar fatores como a fundamentação, a relevância e a coerência, ao mesmo tempo que identificam os riscos de gerar conteúdo prejudicial. As avaliações a seguir foram realizadas com componentes de segurança já em vigor, que também são descritos em 9. Componentes de segurança e mitigações.
Avaliações de desempenho e qualidade
Os recursos de IA do GitHub Copilot Chat são avaliados usando uma combinação de parâmetros de comparação padrão do setor (por exemplo, SWE-Bench) e conjuntos de avaliação desenvolvidos internamente. As tarefas de benchmark são originárias de repositórios públicos de software livre e cenários sintéticos; não são usadas consultas de usuário reais ou código do cliente. Cada avaliação inclui várias execuções independentes para considerar o não determinismo nas saídas do modelo. As principais métricas incluem taxa de resolução (percentual de tarefas concluídas com êxito), eficiência do token, latência e confiabilidade de chamada de ferramenta. Os modelos são reavaliados quando as atualizações são feitas e monitoradas continuamente na produção por meio de taxas de erro, latência de resposta e padrões de uso agregados.
Métodos de avaliação de desempenho e qualidade
Novos modelos do GitHub Copilot Chat passam por um processo de avaliação em etapas antes da implantação. As equipes de integração executam conjuntos de testes de benchmark específicos para sua área de atuação, testando o modelo em tarefas de programação representativas, como correções de bugs, geração de código e refatoração de vários arquivos. Os resultados são revisados em relação às linhas de base estabelecidas e aos modelos de produção existentes. Os modelos devem atingir ou superar o desempenho de referência em métricas-chave, como taxa de resolução, eficiência no uso de tokens e latência, antes de avançarem para a próxima etapa. Um comitê de revisão multifuncional toma uma decisão formal de prosseguir/não prosseguir antes de qualquer modelo ser aprovado para implantação voltada ao usuário.
Avaliações de risco e segurança
A avaliação de potenciais riscos associados ao conteúdo gerado pela IA é essencial para salvaguardar os riscos de conteúdo com diferentes graus de gravidade. Isto inclui avaliar a predisposição de uma aplicação de IA para gerar conteúdo prejudicial ou testar vulnerabilidades para ataques de jailbreak. Para GitHub, realizamos avaliações de desempenho, incluindo aquelas adaptadas para fins de codificação de Microsoft Foundry:
- Ódio e injustiça
- Sexual
- Violência
- Automutilação
- Material protegido
- Desbloqueio
- Vulnerabilidade de código
Dados de avaliação para qualidade e segurança
Os nossos dados de avaliação são personalizados para avaliar o desempenho da aplicação de IA em áreas-chave de segurança e qualidade, simulando cenários e riscos do mundo real. Começamos identificando aspectos de avaliação relevantes de preocupação com base em pesquisas multidisciplinares e na contribuição de especialistas. Essas questões são traduzidas em objetivos de avaliação direcionados e orientam a formulação das métricas de avaliação. Para segurança, criamos prompts adversários para elicitar respostas indesejáveis ou em casos extremos, os quais são avaliados por avaliadores assistidos por IA treinados para verificar a conformidade com os padrões do GitHub. Em qualidade, criamos prompts com base em rubricas relevantes para cenários como a avaliação de aplicações e agentes de geração aumentada por recuperação (RAG). Os conjuntos de dados são coletados de diversas fontes, incluindo conjuntos de dados sintéticos e públicos para simular cenários de usuários reais. Usando os conjuntos de dados coletados, ambas as avaliações passam por refinamento iterativo e alinhamento humano para melhorar a eficácia e a confiabilidade da métrica. Essa metodologia forma a base de avaliações repetíveis e rigorosas que refletem como os clientes usam avaliações para criar uma IA melhor.
Avaliações personalizadas
Como parte do nosso processo de desenvolvimento do produto, realizamos exercícios de red team para entender e melhorar a segurança do GitHub Copilot Chat. Quando habilitados, os prompts de entrada e as conclusões de saída são executados por meio de filtros de conteúdo.
9. Componentes de segurança e mitigações
- Filtragem de conteúdo: quando habilitado, o sistema de filtragem de conteúdo detecta e impede a saída de conteúdo prejudicial. Se você encontrar conteúdo ofensivo, denuncie-o a
copilot-safety@github.com. - Correspondência com código público: Dependendo das suas configurações, o GitHub Copilot Chat pode estar com o filtro de detecção de duplicatas ativado ou desativado. Se ativado, o GitHub Copilot Chat bloqueia sugestões que correspondam a código público ou as anota com links para os repositórios de origem e eventuais detalhes de licença. No VS Code, se você tiver habilitado sugestões que correspondam ao código público, o GitHub Copilot Chat exibirá uma mensagem com um link para mostrar o código correspondente e quaisquer detalhes de licença no editor. Em Visual Studio, JetBrains, Eclipse e GitHub Mobile, GitHub Copilot Chat usa filtros que bloqueiam correspondências com código público. Independentemente das configurações, você deve tomar as mesmas precauções adotadas com qualquer código que use material que não tenha sido criado independentemente por você, incluindo testes rigorosos, análise de propriedade intelectual e verificação de vulnerabilidades de segurança. Para obter mais informações, consulte Localizando o código público que corresponde às sugestões do Copilot do GitHub.
10. Práticas recomendadas para implantar e adotar o GitHub Copilot Chat
A IA responsável é um compromisso compartilhado entre GitHub e seus clientes. Embora GitHub crie aplicativos de IA com segurança, imparcialidade e transparência no núcleo, os clientes desempenham um papel fundamental na implantação e no uso dessas tecnologias de forma responsável dentro de seus próprios contextos. Para apoiar esta parceria, oferecemos as seguintes melhores práticas para implementadores e utilizadores finais para ajudar os clientes a implementar a IA responsável de forma eficaz.
-
Exercise cuidado e avaliar resultados ao usar o GitHub Copilot Chat para decisões conseqüentes ou em domínios confidenciais: As decisões conseqüentes são aquelas que podem ter um impacto legal ou significativo no acesso de uma pessoa à educação, emprego, plataformas financeiras, benefícios governamentais, saúde, moradia, seguro, plataformas legais, ou que podem resultar em danos físicos, psicológicos ou financeiros. Domínios confidenciais, como plataformas financeiras, saúde e moradia, exigem cuidados específicos devido ao potencial de impacto desproporcional em diferentes grupos de pessoas. Ao utilizar a IA para decisões nestas áreas, certifique-se de que os intervenientes afetados conseguem compreender como as decisões são tomadas, tomar decisões de recurso e atualizar quaisquer dados de entrada relevantes.
-
Avalie as considerações legais e regulatórias: Os clientes precisam avaliar possíveis obrigações legais e regulatórias específicas ao usar quaisquer plataformas e soluções de IA, que podem não ser apropriadas para uso em todos os setores ou cenários. Além disso, as plataformas ou soluções de IA não são projetadas e podem não ser usadas de maneiras proibidas em termos de serviço aplicáveis e códigos de conduta relevantes.
-
Exercite a supervisão humana quando apropriado: a supervisão humana é uma proteção importante ao interagir com aplicativos de IA. Embora melhoremos continuamente nossos aplicativos de IA, a IA ainda pode cometer erros. As saídas geradas podem ser imprecisas, incompletas, tendenciosas, desalinhadas ou irrelevantes para os objetivos pretendidos. Isto pode acontecer devido a várias razões, como ambiguidade nas entradas ou limitações dos modelos subjacentes. Dessa forma, os usuários devem examinar as respostas geradas pelo GitHub Copilot Chat e verificar se correspondem às suas expectativas e requisitos.
-
Esteja ciente do risco de dependência excessiva: A dependência excessiva da IA ocorre quando os usuários aceitam saídas de IA incorretas ou incompletas, principalmente porque erros em saídas de IA podem ser difíceis de detectar. Para o utilizador final, a sobre-confiança pode resultar numa diminuição da produtividade, perda de confiança, abandono de aplicações, perda financeira, danos psicológicos, danos físicos, entre outros. (por exemplo, um médico aceita uma saída de IA incorreta).
-
Tenha cuidado ao criar IA agente em domínios confidenciais: Os usuários devem ter cuidado ao projetar e/ou implantar aplicativos de IA agente em domínios confidenciais em que as ações do agente são irreversíveis ou altamente conseqüentes. Precauções adicionais também devem ser tomadas ao criar IA agente autônoma, conforme descrito mais adiante no Termos do GitHub.
-
Use o GitHub Copilot Chat como uma ferramenta, não uma substituição: embora o GitHub Copilot Chat possa ser uma ferramenta poderosa para gerar código, é importante usá-lo como uma ferramenta em vez de um substituto para a programação humana. Sempre examine e teste o código gerado pelo GitHub Copilot Chat para garantir que ele atenda aos seus requisitos e esteja livre de erros ou problemas de segurança.
-
Mantenha os prompts no tópico: O GitHub Copilot Chat foi desenvolvido para responder a perguntas relacionadas à programação. Limitar os prompts a perguntas ou tarefas de programação melhora a qualidade das respostas geradas pelo modelo.
-
Use práticas seguras de codificação e revisão de código: siga as práticas recomendadas para codificação segura, como evitar senhas codificadas ou vulnerabilidades de injeção de SQL, e examine todo o código gerado.
-
Seja seletivo com o contexto (Spaces): adicionar apenas os arquivos, repositórios e anotações mais relevantes a um espaço ajuda o Copilot a manter o foco. Sobrecarregar um espaço com conteúdo desnecessário pode diluir a qualidade da resposta.
-
Manter o contexto atualizado (Espaços): conforme o projeto evolui, atualize os arquivos, os problemas ou a documentação em seu espaço. O contexto desatualizado pode fazer com que Copilot gerem respostas imprecisas ou incompletas.
-
Use instruções junto com fontes (Spaces): Combinar instruções em linguagem natural com fontes selecionadas ajuda o Copilot a entender melhor sua intenção.
-
Ancorar chat em um espaço (Espaços): iniciar conversas de dentro de um espaço garante continuidade e relevância, mantendo as respostas alinhadas com o contexto que você configurou.
-
Revise os resumos de PR antes de publicar (GitHub.com): os resumos de pull requests servem para complementar, não substituir, seu próprio contexto sobre as mudanças. Sempre examine e avalie a precisão de um resumo gerado antes de salvar ou publicar sua solicitação de pull.
-
Revise as mensagens de commit antes de fazer commit (GitHub.com e GitHub Desktop): a geração de mensagens de commit foi criada para complementar — não substituir — suas próprias descrições das alterações. Sempre revise e edite o título e a descrição sugeridos antes de confirmar. No GitHub Desktop, selecionar linhas específicas de código ou arquivos pode melhorar a precisão. Você pode recusar a geração de mensagens de confirmação por meio da página Copilot settings no GitHub.com.
-
Forneça comentários: se você encontrar problemas ou limitações, forneça comentários por meio dos botões para cima/para baixo abaixo de cada resposta de chat. A capacidade de fornecer comentários sobre resumos de solicitações de pull depende das configurações da empresa. Para obter mais informações, consulte Gerenciando políticas e recursos para GitHub Copilot em sua empresa. Para a geração de mensagens de commit, você pode compartilhar feedback pela discussão da comunidade ou abrindo uma issue no repositório do GitHub Desktop. Isso ajuda a melhorar a ferramenta e resolver preocupações.
-
Stay atualizado: o Copilot Chat do GitHub está evoluindo. Mantenha-se atualizado com atualizações, novos riscos de segurança e práticas recomendadas.
11. Saiba mais sobre o GitHub Copilot Chat
Para obter orientações adicionais sobre o uso responsável do GitHub Copilot Chat, recomendamos revisar a seguinte documentação:
- Fazendo perguntas ao GitHub Copilot no seu IDE
- Criando um resumo da solicitação de pull com GitHub Copilot
- Fazer perguntas ao GitHub Copilot no GitHub
- Fazendo perguntas ao GitHub Copilot no seu IDE
- Chat do Terminal
- Termos de licença de pré-lançamento do GitHub
- Termos do GitHub para produtos e recursos adicionais
- Central de Confiabilidade GitHub Copilot