Skip to main content

Sobre a memória de agentes para GitHub Copilot

Descubra como Copilot pode armazenar detalhes que aprendeu sobre uma base de código e usar esse conhecimento para tarefas futuras em um repositório.

Quem pode usar esse recurso?

  • Empresas e organizações com um plano Copilot Enterprise ou Copilot Business.
  • Usuários individuais com um plano Copilot Pro ou Copilot Pro+.
    Sign up for Copilot

Observação

Atualmente, esse recurso está em versão prévia pública e sujeito a alterações.

Introdução

Como desenvolvedor, quando você começa a trabalhar em uma base de código existente, talvez como um novo membro da equipe de desenvolvimento, pode ler o README do repositório, a documentação das convenções de codificação e outras informações para ajudá-lo a entender o repositório e como deve atuar ao atualizar ou adicionar código. Isso ajudará você a enviar pull requests de boa qualidade. No entanto, a qualidade do trabalho que você pode fornecer melhorará constantemente à medida que você trabalha na base de código e aprenderá mais sobre ela. Da mesma forma, ao permitir que Copilot construa sua própria compreensão do seu repositório, você pode permitir que ele se torne cada vez mais eficaz ao longo do tempo.

Copilot pode desenvolver uma compreensão persistente de um repositório armazenando "memórias".

As memórias são informações restritas sobre um repositório, deduzidas pelo Copilot à medida que ele trabalha no repositório. As memórias são:

  • Específico do repositório.
  • Criado apenas em resposta à atividade Copilot iniciada por usuários que têm Memória copilot ativado.

As memórias criadas por uma parte de Copilot podem ser utilizadas por outra parte de Copilot. Assim, por exemplo, se Agente de codificação do Copilot descobrir como seu repositório lida com conexões de banco de dados, Revisão de código do Copilot poderá posteriormente aplicar esse conhecimento para identificar padrões inconsistentes em uma solicitação pull que estiver revisando. Da mesma forma, se Revisão de código do Copilot aprender sobre configurações que devem permanecer sincronizadas em dois arquivos separados, então Agente de codificação do Copilot saberá que, se alterar as configurações em um desses arquivos, deverá atualizar o outro arquivo de acordo.

Benefícios de usar Memória copilot

A IA sem estado, que não retém uma compreensão de uma base de código entre interações separadas entre humanos e IA, exige que você explique repetidamente as convenções de codificação e detalhes importantes sobre código específico em seus prompts ou crie arquivos de instruções personalizados e detalhados, que você deve então manter.

Memória copilot:

  • Reduz a carga de fornecer repetidamente os mesmos detalhes em seus prompts.
  • Reduz a necessidade de manutenção manual e regular de arquivos de instrução personalizados.

Ao criar e manter uma memória persistente no nível do repositório, Copilot desenvolve seu próprio conhecimento de sua base de código, adapta-se aos seus requisitos de codificação e aumenta o valor que pode fornecer ao longo do tempo.

Onde é usado Memória copilot?

Atualmente, é usado por Agente de codificação do Copilot e Revisão de código do Copilot quando esses recursos estão trabalhando em solicitações de pull no site GitHub, e por CLI do Copilot. As memórias só são criadas e utilizadas pelo Copilot quando Memória copilot está ativado para o usuário que inicia a operação Copilot.

A memória do agente será estendida para outras partes de Copilot e, em versões futuras, para âmbitos pessoais e organizacionais.

Como as memórias são armazenadas, retidas e usadas

Cada memória que Copilot gera é armazenada com citações. Essas são referências a locais de código específicos que dão suporte à memória. Quando Copilot encontra uma memória relacionada ao trabalho que está fazendo, ele verifica as citações na base de código corrente para validar se as informações ainda são precisas e relevantes para o branch atual. A memória só será usada se for validada com êxito.

Para evitar que memórias obsoletas sejam retidas, resultando em informações desatualizadas que afetam negativamente a tomada de decisão do Copilot, as memórias são excluídas automaticamente após 28 dias.

Se uma memória for validada e usada por Copilot, então uma nova memória com os mesmos detalhes poderá ser armazenada, o que aumenta a longevidade dessa memória.

As memórias podem ser criadas a partir do código em solicitações de pull que foram fechadas sem serem mescladas. No entanto, o mecanismo de validação garante que essas memórias não afetarão o comportamento do Copilot se não houver evidências fundamentadas na base de código atual.

Copilot só cria memórias em um repositório em resposta a ações realizadas nesse repositório por pessoas que têm permissão de gravação para o repositório e para as quais Memória copilot foi habilitado. As memórias têm escopo de repositório, não direcionadas ao usuário, portanto, todas as memórias que são armazenadas em um repositório estão disponíveis para serem usadas em Copilot, operações iniciadas por qualquer usuário que tenha acesso a Memória copilot para esse repositório. As memórias armazenadas para um repositório só podem ser usadas em operações Copilot nesse mesmo repositório. Dessa forma, o que Copilot aprende sobre um repositório permanece dentro desse repositório, garantindo privacidade e segurança.

Se você é o proprietário de um repositório onde Memória copilot está sendo usado, você pode revisar e excluir manualmente as memórias desse repositório. Confira AUTOTITLE.

Sobre a ativação de Memória copilot

A capacidade de usar Memória copilot é concedida aos usuários, em vez de ser habilitada para repositórios. Depois que Memória copilot for habilitado para um usuário, Copilot poderá usar a memória do agente em qualquer repositório em que essa pessoa usar GitHub Copilot.

Para usuários que têm uma assinatura individual do Copilot para um plano Copilot Pro ou Copilot Pro+, Memória copilot está habilitado por padrão. Esses usuários podem desabilitar Memória copilot em suas configurações pessoais de Copilot no GitHub.

Para assinaturas Copilot} gerenciadas pela empresa e pela organização, Memória copilot} está desativado por padrão e pode ser habilitado nas configurações da empresa ou da organização. Quando ativado no nível da empresa ou organização, Memória copilot estará disponível para todos os membros da organização que receberem uma assinatura Copilot dessa organização.

Para saber mais, confira AUTOTITLE.