Camada Zero · 38 · Context Window & Context Engineering

A janela de contexto é um budget fixo de atenção. Tudo compete pelo mesmo espaço: system prompt, histórico, docs, tool output. E a atenção não é uniforme: o modelo lê melhor o começo e o fim, e o meio apaga. Encher não é o objetivo. Curar é.
início (atenção alta)meio (apaga)fim (atenção alta)
0 / 800Tokens na janela
Atenção média do conteúdo
0Blocos truncados (eviction)
Janela vazia. Adicione blocos e veja a atenção média cair conforme o meio enche. Compare o modo "curar" com o modo "despejo".
system histórico docs tool output fumaça escura = baixa atenção naquela posição
Context engineering é decidir qual configuração de tokens gera o comportamento que você quer. Não é achar a frase mágica, é gerenciar um budget escasso de atenção. A Anthropic chamou isso de a skill nº1 de 2025. O reflexo prático: relevante > abrangente, e o que importa vai pro começo ou pro fim, nunca soterrado no meio.

Curar o contexto (conceitual)

func buildContext(budget int) []Block {
    ctx := []Block{systemPrompt}        // sempre no topo
    ctx = append(ctx, retrieveRelevant(query, 3))
    ctx = append(ctx, recentHistory(4))

    // poda até caber no budget de tokens
    for tokens(ctx) > budget {
        ctx = dropLeastRelevant(ctx)
    }
    return ctx // enxuto, ordenado, podado
}

Anti-padrão

// despejar tudo dilui a atenção:
ctx := append(systemPrompt, wholeCodebase()...)
// 200k tokens, 1% relevante, o resto vira ruído
// e o que importa cai no meio que apaga

🧠 Desafio · Context Engineering

Mexe na janela aqui de cima antes de responder. As duas últimas são de reflexão: escreve a sua e só então revela o modelo.