Compartilhar via


Como o Copilot Chat entende e usa o contexto

O Copilot Chat no Visual Studio foi projetado para ter reconhecimento de contexto, fornecendo respostas altamente relevantes e personalizadas, compreendendo profundamente a estrutura e o conteúdo do projeto. Este artigo fornece uma olhada nos 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 criação de contexto dentro de sua base de código para garantir que suas sugestões e respostas sejam relevantes e precisas.

Indexação de base de código

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

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

Com base em seu prompt, 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 às palavras exatas, a pesquisa semântica concentra-se no significado. Usando inserções de vetor avançadas, o Copilot identifica arquivos com a maior semelhança semântica à sua solicitação e os adiciona ao contexto.

Esses arquivos complementam o prompt do sistema, instruções, contexto implícito (como histórico de chat e arquivos abertos) e qualquer conteúdo explícito fornecido, 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 que possam ser aplicadas e testadas.

Mapeamento de código baseado em modelo

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

Memórias do Copilot

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

Como funcionam as memórias do Copilot

As memórias usam detecção inteligente para entender as preferências da sua equipe conforme você as solicita no chat. 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 detectadas, você recebe um lembrete de confirmação para salvar a preferência.

Captura de tela de quando Copilot detecta uma preferência para adicionar a 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 práticas recomendadas, diretrizes e padrões arquitetônicos.
  • README.md para obter informações de projeto de alto nível

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