
A janela de contexto é uma máquina de estados ninguém desenhou
Um roteamento mais caro que não rotear
Num laço de 50 turnos com prefixo estável de 15 mil tokens e 1,5 mil por turno, rodar tudo num modelo intermediário com cache de prompt custa cerca de US$ 1,11 de entrada. Descer no turno 20 para um modelo três vezes mais barato e voltar no 35 custa US$ 1,17 - 6% mais do que nunca rotear; manter o barato do início ao fim custa US$ 0,65, economia de 42%. Os quinze turnos no modelo barato custaram US$ 0,17; só a requisição de volta, US$ 0,26. O que decide é o estado que cruza a fronteira, não o modelo escolhido.
O consenso que comeu a si mesmo
Que contexto é a disciplina central dos agentes é consenso; o problema: context engineering hoje inclui recuperação, memória, compactação, ferramentas, sumarização, cache de prompt, avaliação e roteamento - que muda o cache - e virou sinônimo da própria engenharia.
A janela como máquina de estados
O LLM é função pura: o que ele sabe no passo 47 está nos pesos ou na janela - simultaneamente RAM, log, cache e contrato de API, num espaço único cobrado por token. A invalidação só flui para a direita: tocar as ferramentas, na posição 0, derruba a janela toda; acrescentar turno não descarta nada pago. Falhas viram bugs de memória: a taxonomia de Drew Breunig lista envenenamento (alucinação tratada como verdade por quarenta turnos), distração, confusão e choque. Chroma (Context Rot) e Lost in the Middle indicam precisão caindo com contexto longo: a janela anunciada e a efetiva divergem.
O custo é quadrático
Os tokens lidos somam N·P₀ + Δ·N(N−1)/2: crescimento quadrático nos turnos mesmo com cache perfeito. Escrever no cache custa 1,25× o preço-base com TTL de cinco minutos e 2× com TTL de uma hora; ignorar esse termo subestima o laço em torno de 40%. Cortar o prefixo economiza na ordem de N; cortar a carga por turno, N²/2 - acima de N = 2P₀/Δ, a carga vence.
Onde o roteamento vaza
Cache é delimitado por modelo: há canal em curso para prompt de sistema e, agora, ferramentas, mas nenhum para entregar a outro modelo um cache inédito. Alternar extended thinking ou tool_choice pode invalidar o cache das mensagens, 80% dos tokens aos 40 turnos. Na troca ingênua paga-se o prefill integral de novo: 45 mil tokens na ida, 67,5 mil na volta, já com escrita mais cara. A volta custa mais que a ida; adiá-la só muda quando ela é paga. A saída: rotear em fronteiras de tarefa, não de turno - o modelo barato recebe subcontexto limpo (janela nova, poucas ferramentas, contratos explícitos) e devolve resultado condensado ao pai, sem tocar no seu cache. Dois avisos: subagente não herda o cache do pai automaticamente (recriar a requisição diferente anula o reuso), e disparo paralelo de subagentes cobra escrita cheia de todos, pois o cache só fica legível após o primeiro token; dispare um, espere, depois os demais.
Práticas pouco glamurosas
Tirar do prefixo o volátil - carimbos de data/hora, IDs de requisição, flags: no prompt de sistema invalidam tudo; tarde no array de mensagens, quase nada. DeepSeek trata a sessão como log append-only determinístico: compactação vira evento novo, histórico preservado. Mascarar ferramentas, não removê-las: carga dinâmica invalida o cache e deixa referências órfãs que geram chamadas alucinadas; o conjunto fica byte-estável e a ação é restringida na decodificação, com mascaramento de logits. Passar ponteiros, não payloads - caminho e resumo de 200 tokens no lugar de documento de 40 KB -, embora modelos menores às vezes não busquem o arquivo completo. Manter falhas no contexto: limpar erros cria o agente que repete quatro vezes a mesma chamada quebrada; o alvo é alto sinal, não transcrição limpa.
Harness ou contexto?
Cada peça de um harness - CI, sandbox, permissões, retry, verificação - adiciona informação ao contexto, controla o que entra ou valida a saída; os dois primeiros papéis seriam context engineering com infraestrutura extra, ecoando LangChain e Thoughtworks. Harness induz a somar componentes, mas contexto é limitado: a pergunta é o que vale manter.
Quatro métricas
Acerto de cache por turno e por tarefa - para Manus, a métrica única em produção: com entrada-saída perto de 100:1, prefill é conta e latência; tokens por tarefa concluída, não por chamada; p50 e p95 de tempo até o primeiro token; e sucesso num conjunto de avaliação congelado, criado antes do primeiro commit. Os modelos vão melhorar; a máquina de estados continua sendo sua.