Economia de Tokens — Context Window como Recurso Finito
Baixar PDFComo otimizar o uso de tokens em workflows com IA. Fresh context, subagentes, chunking de tarefas, effort levels e como reduzir custo sem perder qualidade.
O context window é o recurso mais valioso e mais desperdiçado no desenvolvimento com IA. Quanto mais você coloca no context window, pior ficam os resultados. Isso é contra-intuitivo — mais informação deveria ser melhor. Mas não é.
"You only have approximately 170k of context window to work with. The more you use, the worse the outcomes." — Geoffrey Huntley
Dominar a economia de tokens é o que separa um dev que usa IA de um dev que extrai o máximo da IA.
O problema do context window
Por que mais contexto = pior resultado
- Atenção diluída — o modelo distribui atenção entre todo o contexto. Quanto mais dados, menos atenção por informação relevante
- Confusão de prioridades — com muitas specs, regras e código, o modelo perde o que é importante agora
- Custo crescente — cada token de input custa dinheiro. Contextos inflados = contas infladas
- Latência crescente — mais tokens = mais tempo de processamento
O tamanho real do context window
| Modelo | Context Window | Útil de fato |
|---|---|---|
| Claude Sonnet 4 | 200k tokens | ~170k efetivos |
| Claude Opus 4.7 | 200k tokens | ~170k efetivos |
| GPT-4o | 128k tokens | ~100k efetivos |
| Gemini 2.5 Pro | 1M tokens | ~500k efetivos |
O "útil de fato" é onde o modelo mantém qualidade de raciocínio. Depois desse limite, a qualidade degrada silenciosamente.
Estratégias de economia
1. Fresh Context > Compaction
A estratégia mais importante: não tente manter tudo em um contexto. Em vez de compactar, comece de novo.
❌ RUIM: Uma sessão de 5 horas acumulando contexto
→ Context window cheio
→ Modelo "esquece" o início
→ Qualidade degrada sem aviso
✅ BOM: Nova sessão por tarefa
→ Context window limpo
→ Modelo descobre estado do filesystem
→ Qualidade consistentePor que funciona: modelos como Claude Code são bons em descobrir estado — lendo arquivos, rodando comandos, consultando git. O estado vive no filesystem, não no context window.
2. Uma tarefa por sessão
❌ RUIM:
"Implemente autenticação, corrija o bug do dashboard,
adicione testes ao módulo de billing e atualize a docs"
✅ BOM:
Sessão 1: "Implemente autenticação conforme specs/auth.md"
Sessão 2: "Corrija o bug do dashboard — veja logs em logs/dashboard.log"
Sessão 3: "Adicione testes ao módulo billing conforme specs/billing.md"
Sessão 4: "Atualize docs/api.md com os novos endpoints"3. Subagentes como workers
Contexto principal (Scheduler):
→ Lê a spec
→ Divide em subtarefas
→ Cria subagentes para cada subtarefa
→ Cada subagent tem SEU context window limpo
Subagent 1: Lê auth.md, implementa POST /register
Subagent 2: Lê auth.md, implementa POST /login
Subagent 3: Lê auth.md, escreve middlewareRegra: subagentes para search/read (paralelo), um agente para build/test (sequencial).
4. State em arquivos, não em memória
Salve progresso em arquivos que o agente lê a cada iteração:
# progress.txt
- [x] Schema de usuários criado
- [x] POST /register implementado e testado
- [ ] POST /login — PRÓXIMO
- [ ] Middleware de auth
- [ ] Testes de integração# context.md (resumo do projeto)
Stack: Next.js 16 + Go 1.23 + MongoDB
Auth: JWT HS256, 15min expiry, bcrypt cost 12
DB: MongoDB Atlas, collection cms_users
API: Gin framework, port 80805. Specs enxutas (< 200 linhas)
❌ RUIM: spec de 500 linhas com toda a API
→ Consome 30% do context window
→ Modelo perde foco
✅ BOM: spec de 150 linhas para um módulo
→ Consome 5% do context window
→ Modelo mantém focoDivida specs grandes em módulos:
specs/
├── auth-register.md (120 linhas)
├── auth-login.md (100 linhas)
├── auth-middleware.md (80 linhas)
└── auth-refresh.md (90 linhas)6. Imports seletivos no CLAUDE.md
❌ RUIM: CLAUDE.md de 500 linhas com tudo
✅ BOM: CLAUDE.md enxuto + @imports seletivos# CLAUDE.md
## Stack
TypeScript, Next.js 16, Go 1.23
## Commands
pnpm dev, pnpm lint:fix, pnpm build
## Rules
@docs/conventions.md ← importado só quando necessário
@specs/current-sprint.md ← importado na sessão relevanteEffort Levels (Anthropic, 2026)
Claude Opus 4.7 introduziu controle granular de esforço computacional:
| Level | Use case | Trade-off |
|---|---|---|
low | Tarefas simples, latência crítica | Pode subestimar problemas complexos |
medium | Moderado, sensível a custo | Bom equilíbrio |
high | Maioria dos casos de uso | Mínimo recomendado para coding |
xhigh | Coding e agente complexos | Melhor para workflows de dev |
max | Problemas mais difíceis | Retornos decrescentes, overthinking |
Regra prática: use xhigh para coding com agentes, high para tarefas moderadas. Evite low em implementações e max em tarefas simples.
Custo real por tipo de tarefa
| Tarefa | Tokens médios (input) | Custo Sonnet 4 | Custo Opus 4.7 |
|---|---|---|---|
| Prompt simples ("corrija o lint") | 5k | $0,02 | $0,08 |
| Implementar endpoint (spec de 150 linhas) | 30k | $0,10 | $0,45 |
| Refatoração de módulo (ler 10 arquivos) | 80k | $0,25 | $1,20 |
| Sessão acumulada de 2 horas | 150k+ | $0,50+ | $2,50+ |
Estratégia de custo:
- Tarefas simples → Sonnet 4 (barato, rápido)
- Implementação complexa → Opus 4.7 (melhor qualidade)
- Refatoração → Sonnet 4 com fresh context (custo-benefício)
O incidente de qualidade da Claude Code (Abr 2026)
A Anthropic revelou em post-mortem que 3 mudanças no system prompt degradaram a qualidade do Claude Code:
- Effort default mudou
high→medium(4 Mar) — revertido 7 Abr - Thinking limpo a cada turno em sessões idle (26 Mar) — causou esquecimento
- Constraint de verbosidade "≤25 words between tool calls" (16 Abr) — prejudicou qualidade de coding em 3%
Lição: mudanças no system prompt têm efeitos desproporcionais e imprevisíveis. Faça ablações antes de mudar configurações.
Checklist de economia de tokens
- Uma tarefa por sessão (fresh context)
- Specs < 200 linhas por módulo
- Progresso salvo em arquivos (progress.txt, fix_plan.md)
- CLAUDE.md < 100 linhas (usar @imports)
- Subagentes para operações paralelas de leitura
- Effort level adequado à complexidade da tarefa
- Sonnet para tarefas simples, Opus para complexas
- Context nunca ultrapassa 70% do window
Conteúdo Relacionado
Testes a partir de Specs — TDD com Inteligência Artificial
Como usar testes como back-pressure para agentes de IA. Red/Green TDD, geração de testes a partir de specs, coverage como métrica e padrões práticos.
Claude Code: Extraindo 100% — Guia Definitivo para Full Stack Developers
Guia completo e avançado do Claude Code: todos os comandos, flags, hooks (29+ eventos), skills, rules path-scoped, MCP, subagentes, SDK, auto-memory, permissões e como integrar no workflow diário de um desenvolvedor full stack.