Parte 2: Engenharia de contexto
A engenharia de contexto é a habilidade que separa saídas de IA rápidas de saídas de IA úteis. O arquivo de regras da Parte 1 é uma peça disso. Esta parte trata da disciplina mais ampla: decidir o que o agente vê e quando.
A mudança mental é afastar-se de "como formulo isso para enganar o modelo a gerar bom código?" e caminhar em direção a "o que um novo colega de equipe precisaria saber para contribuir bem e como entrego isso de forma eficiente?"
Os dois baldes: estático e dinâmico
Cada pedaço de contexto cai em um de dois baldes, e escolher o balde é uma decisão de engenharia real com custo real.
Contexto estático é sempre carregado, em cada solicitação:
- Instruções do sistema
- Arquivos de regras (
CLAUDE.mde similares) - Memória global e persona
É confiável — o agente nunca esquece — mas caro, porque você paga por cada token em cada chamada, independentemente de a tarefa atual precisar ou não.
Contexto dinâmico é carregado apenas quando necessário:
- Skills ativadas pela tarefa em questão
- Resultados de ferramentas extraídos durante a execução
- Documentos recuperados de um índice de busca
- A fatia recente do histórico de conversa
É eficiente — você paga apenas quando a informação é de fato relevante.
A armadilha nos dois extremos: contexto estático demais desperdiça dinheiro e dilui o sinal (as regras importantes se afogam no ruído), enquanto contexto estático de menos faz o agente esquecer coisas que precisava. Trate a linha estático/dinâmico como qualquer outra decisão arquitetural — revisada e versionada, não acidental.
Uma intuição rápida de custo
Digamos que seu arquivo de regras tem 2.000 tokens e você faz 50 solicitações em uma sessão. São 100.000 tokens só do arquivo de regras, pagos 50 vezes. Se metade desse arquivo é material de referência relevante apenas para uma tarefa, você está queimando dinheiro nas outras 49 solicitações que não precisavam disso. Mova essa metade para uma skill que carrega sob demanda e o custo desaparece para as outras 49.
É por isso que "mantenha o contexto estático denso e com alto sinal" não é uma preferência de estilo — é uma linha de orçamento.
Skills: o padrão para contexto dinâmico
A forma mais eficaz de gerenciar o balde dinâmico é uma skill: um pacote autocontido de conhecimento procedural que o agente carrega apenas quando uma tarefa corresponde a ela.
As skills funcionam por meio de divulgação progressiva — três camadas, carregadas de forma lazy:
- Na inicialização, o agente vê apenas metadados leves (um nome e uma descrição de uma linha).
- Quando uma tarefa corresponde, ele carrega as instruções completas.
- Somente se precisar de profundidade ele carrega o material de referência pesado.
O resultado: um agente generalista leve pode carregar dezenas de capacidades especializadas pagando o custo de tokens apenas pela que está usando ativamente.
Uma skill mínima tem esta aparência:
---
name: stripe-refunds
description: How to issue and reconcile refunds through our billing layer. Use when a task involves refunds, chargebacks, or payment reversals.
---
# Issuing a refund
1. Look up the charge via `billing.get_charge(charge_id)`.
2. Refunds over $500 require an `approved_by` field — never auto-approve.
3. Call `billing.refund(charge_id, amount, approved_by)`.
4. Write a `RefundRecord` to the ledger in the same transaction.
5. Emit a `refund.issued` event.
See `reference/refund-edge-cases.md` for partial refunds and currency conversion.
O agente só lê isso quando uma tarefa de fato menciona reembolsos. No restante do tempo, o custo é apenas a descrição de uma linha.
Os seis tipos de contexto a gerenciar
Ao decidir o que fornecer, pense em seis categorias. A maioria dos fluxos de trabalho subestima as quatro do meio.
- Instruções — o papel, os objetivos e os limites do agente (seu arquivo de regras).
- Conhecimento — documentos, diagramas de arquitetura, dados de domínio.
- Memória — o que acabou de acontecer (sessão) e qual é o projeto (longo prazo).
- Exemplos — padrões de referência da sua própria base de código, não genéricos da internet.
- Ferramentas — definições precisas das APIs e scripts que o agente pode chamar.
- Guardrails — restrições rígidas e regras de segurança.
O item "exemplos" merece destaque: um único exemplo retirado do seu código real ensina o estilo do agente mais rápido do que três parágrafos de descrição.
Não cole o repositório inteiro
Uma falha comum é despejar um repositório inteiro de 100.000 tokens no prompt "para ele ter tudo." Isso é ao mesmo tempo caro e contraproducente — o sinal relevante se perde. Em vez disso, recupere os poucos arquivos que importam para a tarefa atual e deixe o agente pedir mais. Consciência de toda a base de código é trabalho da ferramenta (indexação, recuperação), não algo que você faz manualmente a cada prompt.
Configure seu próprio fluxo de trabalho
- Liste tudo o que está atualmente no seu contexto estático. Para cada item, pergunte: toda tarefa precisa disso?
- Mova material específico de tarefa para fora do arquivo de regras e para skills.
- Escreva sua primeira skill para uma tarefa especializada recorrente (um fluxo de reembolso, um padrão de migração, um formato de relatório).
- Adicione alguns exemplos reais da sua base de código ao arquivo de regras ou a uma skill.
- Pare de colar arquivos inteiros; deixe a recuperação trazer o que for relevante.