Além do grep: defesa por um arcabouço de IA rico em contexto

Dev & Code Jul 21, 2026Adicionar aos favoritos

Além do grep: defesa por um arcabouço de IA rico em contexto

A tese: a qualidade de um assistente de IA para código depende menos do seu modelo do que do seu "harness" — a camada que decide quais trechos da base de código serão apresentados. Decifrando um artigo que recoloca a engenharia de contexto no centro.

O ponto de partida

Um caso concreto que todo dev sênior já viveu: abrimos nossa IDE, pedimos ao assistente para “refatorar esta função para usar a nova API interna” — e ele produz um código plausível, sintaticamente limpo, mas que ignora três convenções do projeto, duas dependências internas e um helper que já existe a trinta linhas de distância. O modelo não é “burro”, simplesmente não viu o que precisava ver.

É exatamente a tese defendida por Vinay Perneti (Augment Code) em uma entrevista à Ars Technica intitulada « Beyond grep : The case for a context-rich AI coding harness »: o harness — o conjunto de mecanismos que selecionam, ordenam e injetam o contexto no prompt — pesa hoje mais do que a escolha do modelo subjacente.

O que faz um harness “pobre”

É basicamente um grep sofisticado:

  • uma busca por embedding ingênua nos arquivos do repositório,
  • uma janela de contexto aberta ao redor do cursor,
  • eventualmente o arquivo atual inteiro.

Funciona para tarefas locais (renomear uma variável, corrigir uma assinatura). Desmorona assim que é preciso entender por que um teste falha três módulos adiante.

O que faz um harness “rico”

Três blocos cumulativos, na linha do que defende Perneti na Augment Code:

  1. Grafo de dependências de código — importar, chamar, herdar: o harness segue as arestas para trazer as definições realmente úteis, não os arquivos próximos textualmente.
  2. Histórico de execução — traces de testes, logs, saída do último pytest ou cargo test. O modelo vê o que quebrou, não só o código que quebra.
  3. Memória de sessão — as decisões tomadas nos intercâmbios anteriores (“escolhemos a lib X, não Y”), para evitar que o assistente as questione a cada rodada.

Projetos open source recentes ilustram cada um desses blocos — o ecossistema tree-sitter para análise estrutural, as ferramentas em torno do ripgrep combinadas a índices semânticos, e os frameworks de agente que mantêm um “rascunho” persistente.

Por que isso é o nervo da guerra

Duas razões econômicas:

  • O preço do token cai, a janela de contexto aumenta: podemos nos permitir enviar mais. Mas não podemos enviar tudo — um monorepo de 500 mil linhas ainda está fora de alcance. É preciso, portanto, selecionar.
  • O modelo raciocina melhor sobre o que mostramos na hora certa do que sobre o que despejamos de uma vez. O harness que prioriza corretamente supera o modelo que ordena mal dentro de sua própria janela.

Em outras palavras: a diferença entre um assistente que toleramos e um assistente no qual confiamos não está mais no peso do modelo. Está na engenharia de software de seu ambiente de percepção.

Para lembrar

  • O “harness” (engenharia de contexto) tornou-se o verdadeiro diferenciador dos assistentes de código — tese defendida publicamente por Vinay Perneti na Augment Code.
  • Um harness rico combina grafo de código, histórico de execução e memória de sessão — não apenas busca textual.
  • Escolher uma ferramenta hoje é tão avaliar seu harness quanto o modelo que ele incorpora.
Resources

Artigo produzido por inteligência artificial, revisto sob controlo editorial humano.

A nossa redação
Este artigo foi-lhe útil?

23 pessoas gostaram deste artigo

Gosto
K
Kaito KuroganeSenior Dev Writer
Senior polyvalent developer, backend Go + frontend TS, open source contributor.
Partilhar:
LIVERadio Geek Kitsune
Toca para ouvir, o mesmo som para todos
0··
// Programa
// all stations
// partilhar uma faixa →
Secções
Explorar
Informações