
GitHub corta custos do Copilot otimizando contexto dos agentes
O problema: otimizar a tarefa, não a chamada
O GitHub explica como tornou o Copilot mais barato sem perder qualidade das tarefas. A tese central é que a contagem de tokens por interação não é uma medida significativa de eficiência: uma resposta de ferramenta mais curta pode forçar o agente a reler saídas, reexecutar comandos e carregar mais contexto, tornando a tarefa mais lenta e cara. Um exemplo é o RTK (Rust Token Killer), utilitário que encurta saídas de shell: nos benchmarks da empresa, ele encurtou respostas individuais, mas as etapas de recuperação fizeram as tarefas usarem, em média, mais tokens e mais tempo. A empresa resume: economizou tokens localmente e gastou mais globalmente. O princípio adotado foi otimizar o resultado completo da tarefa, não a chamada de ferramenta.
As mudanças foram avaliadas offline com benchmarks de código agêntico e validadas em experimentos online controlados antes do lançamento. Os exemplos vêm do GitHub Copilot CLI, mas outros produtos, como o app Copilot e o code review, usam o mesmo harness e se beneficiam.
Compressor seletivo de saída
A primeira mudança foi um compressor de saída seletivo. Análises de benchmark mostraram que saídas de install, build, test e lint contêm ruído repetitivo, enquanto saídas tipo código-fonte e resultados de comandos arbitrários tendem a conter informações necessárias. Versões iniciais foram agressivas demais: comprimir o git diff fazia agentes reabrir a saída original. A política final tem três partes: preservar saídas tipo código-fonte e arbitrárias (cat, git diff, git show e scripts); reorganizar resultados de busca como grep sem descartar conteúdo; e comprimir ruído repetitivo apenas quando a economia for substancial. Quando há compressão, o agente pode recuperar a saída completa por um caminho direto, e o uso frequente desse caminho sinalizaria que algo valioso foi removido. Nos testes, não houve regressão estatisticamente significativa de sucesso de tarefa, e o custo médio caiu levemente no experimento online.
Remover formatação inútil
A segunda mudança removeu os prefixos de número de linha que a ferramenta view adicionava a cada linha de arquivo lido. As ferramentas atuais de edição localizam mudanças pelo código ao redor e não usam esses números, mas o prefixo permanecia, acumulando tokens em cada leitura. A remoção reduziu o custo de inferência em cerca de 5% nos benchmarks offline e o custo diário médio por usuário em cerca de 3% no experimento online do Copilot CLI, sem regressão material de qualidade. Para os autores, foi a mudança ideal: sem novas instruções, sem informação a recuperar e sem decisão adicional.
Compressão de prompts com testes
A terceira mudança comprimiu o prompt da task tool, que lança agentes especializados para trabalho paralelo. Um loop de meta-prompting, no qual o Copilot reescreveu o próprio prompt, reduziu-o à metade. O primeiro experimento online revelou uma regressão não detectada offline: a orientação de paralelismo cauteloso virou uma política rígida de agendamento, e agentes independentes passaram a rodar em sequência. O experimento foi interrompido. Depois de escrever um teste de regressão, a correção substituiu listas explícitas por uma frase: agentes independentes podem rodar em paralelo; considere efeitos colaterais. A versão final remove cerca de 1.300 tokens do prompt da task tool por turno, cerca de 1,8% menos tokens de prompt por sessão e 2,9% menos custo normalizado por hora ativa. A lição: comportamento de prompt precisa de testes, senão uma reescrita pode removê-lo sem que ninguém note.
Entrega direta de trabalho em segundo plano
A quarta mudança alterou notificações de tarefas em segundo plano. Antes, quando um comando de shell ou subagente terminava, a notificação não incluía o resultado, e o agente gastava um turno extra para recuperá-lo - em múltiplas conclusões próximas, quatro chamadas de modelo podiam ser necessárias antes de continuar. Agora o harness agrupa notificações elegíveis e entrega os resultados completos no formato de tool-result existente, sem comprimir ou resumir nada. Isso reduziu o uso medido em AI Credits em cerca de 2,3%.
Contexto e lições
Nem toda mudança funciona em qualquer fluxo: instruções mais enxutas de ferramentas de arquivo, positivas no code review, aumentaram custo no Copilot CLI e não foram lançadas. Já a remoção de números de linha e a compressão de saída reduziram em cerca de 5% os tokens de prompt por revisão no Copilot code review, separadamente de uma migração anterior que, com ajuste de instruções, cortou o custo do code review em cerca de 20%. Cada mudança precisa ser medida no fluxo em que roda.
As lições finais: otimizar a tarefa completa, não a chamada; otimizar a orquestração, eliminando turnos que o harness resolve deterministicamente; comprimir pelo que a saída representa, preferindo transformações sem perda; validar reescritas de prompt com testes; e reconhecer que evidência é local à carga de trabalho. Nenhuma mudança tornou o modelo mais inteligente - removeram trabalho que o modelo não precisava fazer.