Módulo 3: Engenharia de Contexto para Agentes de IA | Curso de Harness Engineering

Módulo 3 · Curso de Harness Engineering

Engenharia de contexto

O modelo só sabe o que está na janela de contexto naquele instante. Tudo o que o harness faz, no fim, é decidir o que entra e o que sai dessa janela. Este módulo trata o contexto como o recurso mais escasso de um agente e apresenta as técnicas que os melhores harnesses usam para administrá-lo.

context rot KV-cache compactação Agent Skills

Aula 9

Contexto como recurso finito

A Anthropic define engenharia de contexto como a arte de selecionar o conjunto de tokens que o modelo vê a cada chamada. É uma extensão da engenharia de prompt: enquanto o prompt é o texto que você escreve, o contexto é tudo o que chega ao modelo, incluindo instruções, definições de ferramentas, histórico de mensagens, resultados de ferramentas e arquivos lidos.

O ponto central é que mais contexto não significa melhor desempenho. O artigo chama o fenômeno de context rot: à medida que o número de tokens cresce, a capacidade do modelo de recuperar com precisão uma informação específica cai. A explicação está na arquitetura dos transformers, em que cada token se relaciona com todos os outros, gerando n² relações para n tokens. A atenção do modelo funciona como um orçamento: cada token irrelevante consome parte dele.

Context rot: mais tokens, menos precisão

Curva ilustrativa da precisão de recuperação à medida que a janela de contexto enche. Os valores mostram a tendência descrita, não um benchmark.

Gráfico ilustrativo baseado no conceito descrito em Anthropic, Effective context engineering for AI agents (2025).

O princípio que decorre disso é encontrar o menor conjunto de tokens de alto sinal que maximiza o resultado desejado. Na prática, isso afeta três decisões. O prompt de sistema deve estar na "altitude certa", nem uma lista frágil de regras se-então, nem orientação vaga, e organizado em seções claras. Exemplos few-shot devem ser poucos e canônicos, não uma coleção de casos extremos. E as ferramentas devem formar um conjunto mínimo e sem sobreposição.

A documentação de boas práticas do Claude Code repete a mesma ideia de forma mais direta: a janela de contexto é o recurso mais importante, e o desempenho cai à medida que ela enche. Por isso recomenda /clear entre tarefas e, depois de duas correções frustradas sobre o mesmo problema, recomeçar com um prompt melhor em vez de insistir.

Fontes desta aula: Anthropic: Effective context engineering for AI agents · Claude Code: Best practices

Aula 10

KV-cache, prefixo estável e contexto que só cresce no fim

Yichao "Peak" Ji, da Manus, publicou um dos relatos mais citados sobre engenharia de contexto em produção. O primeiro princípio é econômico: desenhe o harness em volta do KV-cache. Provedores de modelos armazenam em cache o processamento de prefixos já vistos. Se o início do contexto não muda entre chamadas, a próxima chamada reaproveita esse trabalho e fica muito mais barata e rápida. Em agentes, a proporção entre tokens de entrada e de saída é muito alta, porque o histórico inteiro é reenviado a cada passo, então a taxa de acerto do cache é uma das métricas mais importantes.

Daí vêm regras concretas:

  • Mantenha o prefixo estável. Um horário com segundos no topo do prompt de sistema invalida o cache em toda chamada.
  • Contexto só cresce no fim. Não edite mensagens antigas. Acrescente.
  • Serialize de forma determinística. Objetos JSON com chaves em ordem variável quebram o cache sem ninguém perceber.
  • Mascare ferramentas em vez de removê-las. Tirar uma ferramenta da lista no meio da execução muda o prefixo e confunde o modelo sobre ações antigas. A Manus prefere restringir quais ferramentas podem ser escolhidas naquele passo.

Duas lições da Manus vão contra a intuição. Primeiro, mantenha os erros no contexto: apagar uma ação que falhou tira do modelo a evidência de que aquele caminho não funciona, e ele tende a repeti-la. Segundo, evite a armadilha do few-shot: se o histórico tem muitas ações parecidas, o modelo passa a imitá-las mecanicamente. Pequenas variações estruturadas na forma de registrar ações e observações quebram esse padrão.

Fontes desta aula: Manus: Context Engineering for AI Agents

Aula 11

Compactação, notas estruturadas e o sistema de arquivos como memória

Tarefas longas inevitavelmente ultrapassam a janela de contexto. A Anthropic descreve três técnicas para esse horizonte longo:

TécnicaComo funcionaCuidados
CompactaçãoPerto do limite, o histórico é resumido e a conversa continua a partir do resumo. O Claude Code preserva decisões de arquitetura, bugs em aberto e os cinco arquivos acessados mais recentemente.Ajuste primeiro para não perder nada importante e depois para enxugar. A forma mais leve é apagar resultados antigos de ferramentas.
Notas estruturadasO agente escreve notas persistentes fora da janela (um NOTES.md, uma lista de tarefas) e as relê quando precisa.As notas precisam de formato estável para serem úteis em sessões futuras.
SubagentesUm subagente explora em uma janela própria, consumindo dezenas de milhares de tokens, e devolve um resumo de 1.000 a 2.000 tokens.O agente principal só vê o resumo, então a instrução ao subagente precisa ser precisa.

A Manus leva a ideia das notas ao extremo: trata o sistema de arquivos como contexto ilimitado e restaurável. Em vez de manter uma página web inteira no histórico, o agente guarda a página em arquivo e mantém só a URL. Em vez de carregar um documento longo, mantém o caminho. A compressão é reversível, porque o conteúdo pode ser lido de novo quando necessário. Addy Osmani recomenda o mesmo para saídas grandes de ferramentas: gravar em arquivo e devolver ao modelo um resumo com o caminho.

Outra técnica da Manus é a recitação: em tarefas com dezenas de passos, o agente reescreve um arquivo todo.md a cada etapa, marcando o que concluiu. Isso empurra o objetivo para o fim do contexto, onde a atenção do modelo é mais forte, e reduz a deriva em relação à meta original.

Por fim, a Anthropic recomenda recuperação no momento certo em vez de carregar tudo de antemão. O Claude Code usa um modelo híbrido: o CLAUDE.md é carregado no início, e o restante é buscado sob demanda com glob e grep. É o mesmo achado do estudo de onze harnesses: busca determinística no lugar de banco vetorial.

Fontes desta aula: Anthropic: Effective context engineering for AI agents · Manus: Context Engineering for AI Agents · Addy Osmani: Agent Harness Engineering

Aula 12

Divulgação progressiva com Agent Skills

Uma skill é uma pasta com um arquivo SKILL.md, que pode trazer também scripts, modelos e documentos de referência. O arquivo começa com um cabeçalho YAML com dois campos obrigatórios, name e description. A ideia que torna as skills eficientes é a divulgação progressiva, em três níveis:

  1. Nível 1: só o nome e a descrição de cada skill entram no prompt de sistema no início da sessão. Custa poucas linhas por skill.
  2. Nível 2: quando a tarefa parece relevante, o agente lê o SKILL.md completo.
  3. Nível 3 em diante: arquivos auxiliares, como um reference.md ou um forms.md, só são lidos se a tarefa exigir.
.claude/skills/
  relatorio-mensal/
    SKILL.md          # name + description + passo a passo
    assets/modelo.md  # modelo que o agente preenche
    references/       # exemplos aprovados, lidos só se necessário
    scripts/gerar.py  # código determinístico executado, não lido

Skills também podem trazer código executável. No exemplo da Anthropic, a skill de PDF inclui um script que extrai campos de formulário: o agente executa o script sem precisar carregá-lo no contexto, o que é mais barato e mais confiável do que pedir ao modelo para fazer a extração. Isso é um padrão recorrente de harness: empurrar para código determinístico tudo o que não precisa de julgamento.

As recomendações de autoria são diretas: comece pelas lacunas observadas em avaliações, divida arquivos grandes, capriche no nome e na descrição (são eles que decidem quando a skill é ativada) e peça ao agente que registre o que funcionou e reflita sobre o que falhou. Como skills podem executar código, instale apenas de fontes confiáveis e audite o conteúdo. No estudo de onze harnesses de produção, skills no formato SKILL.md já aparecem em nove deles.

Fontes desta aula: Anthropic: Equipping agents with Agent Skills · Barbaste et al.: Harness Engineering (arXiv)

Erros comuns

  • Despejar o repositório inteiro no contexto. Mais tokens diluem a atenção. Deixe o agente buscar o que precisa.
  • Timestamp ou dados variáveis no topo do prompt. Invalidam o cache em toda chamada e multiplicam o custo.
  • Apagar erros do histórico para "limpar" o contexto. O modelo perde a evidência e repete o erro.
  • Uma sessão para tudo. Misturar tarefas sem relação na mesma conversa enche a janela de ruído. Use /clear entre tarefas.
  • Skills com descrição vaga. Se a descrição não diz quando usar, a skill não é ativada na hora certa.

Aplicação prática

  1. Meça quantos tokens seu agente já consumiu antes de ler a tarefa (prompt de sistema, ferramentas, instruções). Esse é o seu custo fixo por sessão.
  2. Encontre algo variável no início do contexto (data, hora, ID de sessão) e mova para o fim.
  3. Transforme um procedimento que você repete com o agente em uma skill com SKILL.md, um modelo em assets/ e um exemplo em references/.
  4. Em uma tarefa longa, peça ao agente que mantenha um todo.md atualizado e compare a deriva com uma execução sem ele.

Siglas usadas neste módulo

KV-cache:
Key-Value cache, armazenamento do processamento de prefixos já vistos pelo modelo.
YAML:
Formato de texto para dados de configuração, usado no cabeçalho do SKILL.md.
URL:
Uniform Resource Locator, endereço de um recurso na web.
JSON:
JavaScript Object Notation, formato de dados em texto.
PDF:
Portable Document Format, formato de documento.

Perguntas frequentes

O que é engenharia de contexto e como ela difere de engenharia de prompt?
Engenharia de prompt trata do texto das instruções. Engenharia de contexto trata de tudo o que chega ao modelo em cada chamada: instruções, definições de ferramentas, histórico, resultados de ferramentas e arquivos. Em agentes, o contexto muda a cada passo e cresce rapidamente, então decidir o que entra, o que sai e em que formato passa a ser a principal alavanca de qualidade e custo.
O que é context rot?
É a queda na capacidade do modelo de recuperar e usar com precisão informações específicas à medida que a janela de contexto enche. A Anthropic associa o fenômeno à arquitetura dos transformers, em que cada token se relaciona com todos os outros. A consequência prática é que cada token irrelevante tem custo, e o objetivo é o menor conjunto de tokens de alto sinal.
Por que o KV-cache importa tanto para agentes?
Porque agentes reenviam o histórico inteiro a cada passo, então a maior parte do custo vem de tokens de entrada. Se o início do contexto não muda, o provedor reaproveita o processamento em cache, e a chamada fica mais barata e rápida. Por isso a Manus recomenda prefixo estável, contexto que só cresce no fim e serialização determinística.
Compactação resolve tarefas longas?
Ajuda, mas não basta. A compactação resume o histórico perto do limite e pode perder detalhes importantes. A Anthropic combina compactação com notas estruturadas fora da janela e com subagentes que exploram em contexto próprio e devolvem resumos curtos. Para tarefas de várias sessões, o módulo 7 mostra que arquivos de progresso e commits frequentes são mais confiáveis do que compactação sozinha.
Qual a vantagem de uma skill sobre colocar tudo no AGENTS.md?
O AGENTS.md é carregado inteiro em toda sessão, ocupando contexto mesmo quando a instrução não é relevante. Uma skill só coloca nome e descrição no início, e o conteúdo completo, os modelos e os scripts são carregados apenas quando a tarefa exige. Isso permite ter muito conhecimento especializado disponível sem pagar o custo de contexto em toda chamada.

Referências

Livros

ALAMMAR, J.; GROOTENDORST, M. Hands-On Large Language Models.

O'Reilly, 2024. Explica visualmente como LLMs funcionam, base para entender janela de contexto e atenção.

RASCHKA, S. Build a Large Language Model (From Scratch).

Manning, 2024. Implementa um LLM do zero e ajuda a entender tokens, atenção e limites do modelo.

HUYEN, C. AI Engineering: Building Applications with Foundation Models.

O'Reilly, 2025. Cobre avaliação, engenharia de contexto, agentes e arquitetura de aplicações com modelos de base.

Cursos e Ferramentas