Partilhar via


Como o Copilot Chat entende e usa o contexto

O bate-papo copiloto no Visual Studio foi projetado para ser sensível ao contexto, fornecendo respostas altamente relevantes e personalizadas, entendendo profundamente a estrutura e o conteúdo do seu projeto. Este artigo fornece uma visão dos bastidores de como o Copilot Chat constrói e utiliza o contexto para aprimorar seu fluxo de trabalho de codificação.

Como o Copilot Chat reúne o contexto da solução

O Copilot Chat usa uma abordagem de várias camadas para a construção de contexto em sua base de código para garantir que suas sugestões e respostas sejam relevantes e precisas.

Indexação da base de código

Se seu repositório estiver hospedado no GitHub ou no Azure DevOps, o Copilot criará um índice remoto de sua base de código e calculará uma incorporação que captura padrões e relacionamentos em seu código. Saiba mais sobre indexação remota no GitHub.

Se o seu código estiver hospedado em outro lugar, o Copilot criará um índice local.

Com base em sua solicitação, o Copilot pode determinar que precisa de mais contexto de projeto para responder com precisão. Nesses casos, ele executa uma pesquisa semântica no índice remoto ou local.

Ao contrário da pesquisa tradicional, que corresponde a palavras exatas, a pesquisa semântica se concentra no significado. Usando incorporações vetoriais avançadas, o Copilot identifica arquivos com a maior semelhança semântica com sua solicitação e os adiciona ao seu contexto.

Esses arquivos complementam o prompt do sistema, instruções, contexto implícito (como histórico de bate-papo e arquivos abertos) e qualquer conteúdo explícito que você fornecer, como erros.

Saiba como adicionar referências como contexto no chat.

Como o Copilot Chat aplica sugestões de código

O Copilot Chat frequentemente fornece sugestões de código em suas respostas. Essas sugestões devem ser mapeadas com precisão para sua base de código antes de poderem ser aplicadas e testadas.

Mapeamento de código baseado em modelo

O Copilot Chat usa decodificação especulativa para inserir sugestões com precisão em arquivos existentes, reduzindo o risco de erros. No modo Agente, isso permite que o Copilot faça edições confiáveis que suportem a criação, depuração e teste de seu código de forma independente.

Memórias do copiloto

As memórias do copiloto permitem que o Copilot aprenda os padrões de codificação específicos e as práticas recomendadas do seu projeto, tornando-o consciente do projeto e consistente em todas as sessões.

Como funcionam as memórias do Copilot

As memórias usam a deteção inteligente para entender as preferências da sua equipe conforme você solicita no bate-papo. Conforme você solicita, o Copilot identifica instâncias em que você corrige seu comportamento, indica um padrão ou pede que ele se lembre de algo.

Quando essas instâncias são detetadas, você vê um empurrão de confirmação para salvar a preferência.

Captura de tela de quando o Copilot deteta uma preferência para adicionar às memórias.

Em seguida, o Copilot categoriza a preferência em um dos três arquivos:

  • .editorconfig para padrões de codificação
  • CONTRIBUTING.md para melhores práticas, diretrizes e padrões de arquitetura.
  • README.md para informações de alto nível sobre o projeto

À medida que você continua a solicitar o Copilot, você o ensina a responder de forma mais eficaz às suas necessidades e ajudar sua equipe, documentando as melhores práticas de desenvolvimento que aprimoram suas futuras interações com o Copilot.