Pular para o conteúdo

Arquitetura real · Sênior

GitHub Copilot: montagem de contexto

Arquitetura real em produção. Pontos centrais: prompt sob orçamento de tokens, FIM e taxa de aceitação.

17 min de leitura · Fonte: GitHub Copilot · Conteúdo revisado em 23 de outubro de 2026

Resposta curta

Arquitetura real em produção. Pontos centrais: prompt sob orçamento de tokens, FIM e taxa de aceitação. O GitHub Copilot é descrito pelo blog do GitHub como um programador em par com IA. Ele entrou em prévia técnica em junho de 2021 e teve disponibilidade geral em junho de 2022. O modelo por trás é o Codex, um descendente do GPT-3.

01 · CONTEXTO

Um assistente que precisa adivinhar o contexto

O GitHub Copilot é descrito pelo blog do GitHub como um programador em par com IA. Ele entrou em prévia técnica em junho de 2021 e teve disponibilidade geral em junho de 2022. O modelo por trás é o Codex, um descendente do GPT-3.

O ponto central do caso é o contexto. Os modelos rápidos o bastante para o Copilot processavam, à época do texto, cerca de 6.000 caracteres por vez, e por isso nem todo o código de uma pessoa cabe como contexto. O desafio, nas palavras da fonte, é decidir quais dados enviar ao modelo e em que ordem enviá-los.

02 · MONTAGEM DO PROMPT

O prompt é uma montagem sob orçamento

Segundo a fonte, os prompts são compilações de código da IDE e contexto relevante enviados ao modelo, gerados por algoritmos em segundo plano em qualquer ponto da digitação.

  1. Em qualquer ponto da digitação, a IDE aciona a montagem de um novo prompt.

    Diagrama da arquitetura: Copilot: montagem do prompt
    CLIDE do desenvolvedoraciona
    CPBiblioteca de prompt
    CHCache
    CPModelo de código
  2. A biblioteca de prompt seleciona trechos de código e comentários do arquivo atual e de outras fontes.

    Diagrama da arquitetura: Copilot: montagem do prompt
    CLIDE do desenvolvedor
    CPBiblioteca de promptseleciona
    CHCache
    CPModelo de código
  3. Os trechos são priorizados, filtrados e montados no prompt final, que precisa caber na janela limitada do modelo.

    Diagrama da arquitetura: Copilot: montagem do prompt
    CLIDE do desenvolvedor
    CPBiblioteca de promptprioriza e monta
    CHCache
    CPModelo de código
  4. O uso otimizado de cache permite que a montagem funcione em segundo plano sem latência extra.

    Diagrama da arquitetura: Copilot: montagem do prompt
    CLIDE do desenvolvedor
    CPBiblioteca de prompt
    CHCacheevita latência extra
    CPModelo de código
  5. O prompt montado segue para o modelo, que gera a sugestão.

    Diagrama da arquitetura: Copilot: montagem do prompt
    CLIDE do desenvolvedor
    CPBiblioteca de prompt
    CHCache
    CPModelo de códigogera a sugestão

A maior parte desse trabalho acontece no que a GitHub chama de biblioteca de prompt, onde especialistas de ML e algoritmos extraem e priorizam as fontes de informação sobre o contexto da pessoa. A primeira versão considerava só o arquivo em que a pessoa trabalhava.

03 · NEIGHBORING TABS E FIM

Duas técnicas que ampliam o contexto

Neighboring tabs permite processar todos os arquivos abertos na IDE, e não só o arquivo atual: o sistema procura nesses arquivos trechos que casem com o código ao redor do cursor e os adiciona ao prompt.

Nos testes A/B, um limiar muito baixo para incluir uma correspondência deu as melhores sugestões. Segundo o engenheiro Albert Ziegler, citado no texto, incluir a melhor correspondência encontrada, mesmo sem ser perfeita, foi melhor do que não incluir nada.

Antes do FIM, só o código antes do cursor, o prefixo, entrava no prompt. O código depois do cursor, o sufixo, ficava de fora. Com FIM, o prompt informa ao modelo qual parte é prefixo e qual é sufixo, e a sugestão passa a ser o código que deve ficar entre as duas.

TécnicaO que muda no promptEfeito medido
Neighboring tabsEntram trechos de arquivos abertos que casam com o código ao redor do cursorAumento relativo de 5% na aceitação das sugestões
FIMO prompt marca o que é prefixo e o que é sufixo10% mais completions aceitas entre as mostradas

Segundo a fonte, graças ao uso otimizado de cache, as duas técnicas funcionam em segundo plano sem latência extra.

04 · RECUPERAÇÃO SEMÂNTICA

O próximo passo, ainda experimental: embeddings do repositório

O texto descreve experimentos com bancos de vetores para uma experiência personalizada em repositórios privados ou com código proprietário. Ferramentas generativas de código usam embeddings para recuperar informação desse tipo de banco.

  1. No desenho proposto, o indexador gera embeddings de todos os trechos do repositório, potencialmente bilhões.

    Diagrama da arquitetura: Copilot: recuperação semântica (experimental)
    DBCódigo do repositório
    CPIndexadorindexa
    CPServiço de embeddings
    DBBanco de vetores
    CLIDE do desenvolvedor
    CPBiblioteca de prompt
  2. Os vetores ficam guardados no banco de vetores.

    Diagrama da arquitetura: Copilot: recuperação semântica (experimental)
    DBCódigo do repositório
    CPIndexador
    CPServiço de embeddings
    DBBanco de vetoresguarda os vetores
    CLIDE do desenvolvedor
    CPBiblioteca de prompt
  3. Durante a programação, os trechos da IDE também viram embeddings.

    Diagrama da arquitetura: Copilot: recuperação semântica (experimental)
    DBCódigo do repositório
    CPIndexador
    CPServiço de embeddings
    DBBanco de vetores
    CLIDE do desenvolvedorenvia trechos
    CPBiblioteca de prompt
  4. O banco de vetores busca correspondências aproximadas, e não só exatas, mesmo com bilhões de trechos guardados.

    Diagrama da arquitetura: Copilot: recuperação semântica (experimental)
    DBCódigo do repositório
    CPIndexador
    CPServiço de embeddings
    DBBanco de vetoresbusca aproximada
    CLIDE do desenvolvedor
    CPBiblioteca de prompt
  5. No diagrama, o resultado da busca segue para a biblioteca de prompt.

    Diagrama da arquitetura: Copilot: recuperação semântica (experimental)
    DBCódigo do repositório
    CPIndexador
    CPServiço de embeddings
    DBBanco de vetores
    CLIDE do desenvolvedor
    CPBiblioteca de promptrecebe o resultado

O recurso é pensado para clientes corporativos com repositórios privados que aceitariam usá-lo explicitamente. A fonte usa o condicional, e a análise do ZenML observa que ele é descrito como experimental, sem dados de desempenho.

05 · LIÇÕES

O que levar para um design parecido

A fonte mostra práticas que se repetem: aceitar correspondências fracas em vez de nada, validar cada técnica por teste A/B de aceitação das sugestões e sustentar a baixa latência com cache.

Perguntas frequentes

O que é GitHub Copilot: montagem de contexto?

Arquitetura real em produção. Pontos centrais: prompt sob orçamento de tokens, FIM e taxa de aceitação.

O que o design de GitHub Copilot: montagem de contexto cobre?

Ele está organizado nestas seções: Um assistente que precisa adivinhar o contexto, O prompt é uma montagem sob orçamento, Duas técnicas que ampliam o contexto, O próximo passo, ainda experimental: embeddings do repositório e O que levar para um design parecido.

Quanto tempo leva GitHub Copilot: montagem de contexto e qual é o nível?

Leva cerca de 17 minutos para ler e tem nível Sênior.

Agora projete você mesmo

Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.