Mais Contexto, Pior Resultado
Por que agentes de IA se degradam em sessões longas e o que isso tem a ver com CoT
Após um artigo sobre Cursor e compressão de contexto, recebi muitos comentários. Nos comentários, discutem: a compactação é a culpada? Ou a diluição da atenção? Ou o modelo simplesmente desobedeceu? Ou o problema não está no contexto, mas no alinhamento?
A discussão é boa, mas mostra um problema fundamental: os engenheiros não têm uma visão geral de como os LLMs trabalham com o contexto. Vemos os sintomas (o agente excluiu o banco de dados, o modelo alucina, a precisão cai em uma sessão longa), mas não entendemos os mecanismos.
Vamos tentar montar essa imagem.
Isenção de responsabilidade
Não sou pesquisador de alinhamento e não sou funcionário da Anthropic/OpenAI. Sou engenheiro com 23 anos de experiência, que nos últimos seis meses tem trabalhado de perto com agentes de IA e lido muitos artigos no arxiv, tentando entender por que eles quebram. Tudo abaixo é uma compilação de pesquisas públicas com meus comentários.
1. Chain-of-Thought: o que é e por que não é pensamento
CoT (Chain-of-Thought) é quando pedimos ao modelo para "pensar passo a passo" antes de responder. Funciona incrivelmente bem. Tanto que muitos engenheiros percebem o CoT como "o modelo realmente raciocina".
A pesquisa diz o contrário.
CoT - narrativa post-hoc, não rastreamento
- Turpin et al. (2023) "Faithful Chain-of-Thought Reasoning?" arxiv.org/abs/2303.06968 Os autores mostraram que o CoT pode distorcer sistematicamente as verdadeiras razões para a previsão do modelo. No experimento, eles alimentaram o modelo com dicas (distratores) que deveriam influenciar a resposta. O modelo mudou a resposta sob a influência de fatores de distração, mas na razão CoT escreveu uma explicação plausível que não estava relacionada à verdadeira razão. "As explicações CoT podem ser infiéis: elas podem deturpar sistematicamente as verdadeiras razões para as previsões de um modelo".
- Sharma et al. (2023) "CoT - racionalização post-hoc" arxiv.org/abs/2307.15983 Mostrou que frases de distração forçam o CoT a justificar uma resposta incorreta. O modelo não raciocina - ele ajusta a explicação ao resultado.
- Lanham et al. (2023) "CoT as Narrative, Not Trace" arxiv.org/abs/2309.15500 O modelo dá a resposta correta mesmo com um CoT incorreto ou incompleto. Se o CoT fosse um rastreamento do pensamento real, um CoT incorreto levaria a uma resposta incorreta. Mas não. CoT é uma narrativa post-factum.
O que isso significa na prática
Quando um agente de IA escreve "eu violei as regras, desculpe" - este não é um rastreamento de sua decisão. Esta é uma narrativa post-hoc que o modelo gerou post-factum, vendo o resultado e as regras no mesmo contexto. No momento da ação, pode não ter havido uma ligação, mas agora o modelo "explicará" por que ele fez isso, e a explicação soará convincente.
CoT não é pensamento. É a dublagem da decisão.
2. Compressão de contexto: como e por que perdemos informações
Dois mecanismos de compactação
Há duas maneiras fundamentalmente diferentes de comprimir o contexto:
- Truncamento - simplesmente cortar parte do contexto (geralmente o meio ou o início). Barato, grosseiro, previsível.
- Resumo baseado em prompt - pedir ao modelo para recontar a história em poucas palavras. Usado no Cursor, Claude Code e outros agentes de IA.
Lost in the Middle
- Liu et al. (2023) "Lost in the Middle" arxiv.org/abs/2307.03172 Um estudo clássico: os modelos são significativamente piores em encontrar informações localizadas no meio de um contexto longo. Independentemente do modelo, tamanho e tipo de tarefa - as informações no início e no final do contexto são bem utilizadas, no meio - ruins.
Curva de atenção em forma de U. Isso não é um bug, mas uma propriedade dos transformadores.
Com a compactação (especialmente o truncamento), é o meio que sofre. Se a ligação lógica ("regra A → situação X se enquadra em A") acabou no meio - ela provavelmente será perdida.
- Baker et al. (2024) "Lost in the Middle, and In-Between" arxiv.org/abs/2412.10079 Mostrou que o problema não está apenas na perda de fatos individuais, mas também na perda de conexões multi-hop. O modelo é pior em conectar dois fatos se houver uma lacuna contextual entre eles. A compactação cria essas lacunas.
Resumo baseado em prompt - uma dor especial
Cursor e Claude Code não cortam o contexto. Eles pedem ao modelo para fazer um breve resumo e continuar com ele. Parece razoável, mas cria um problema:
Resumir é uma compressão com perdas. Ele retém fatos, mas perde as conexões entre eles. "O agente abriu o arquivo config.yml, encontrou a senha, usou-a para se conectar à API" - na compressão, pode restar "o agente se conectou à API", e a ligação "a senha foi tirada de config.yml" desaparecerá.
Mas isso não é por mal :). O resumidor simplesmente não sabe qual ligação o modelo precisará em 10 etapas. Ele toma uma decisão sobre a importância aqui e agora, e o modelo resolverá a próxima tarefa em um contexto diferente.
3. Diluição da atenção: quando há muito contexto
Mecânica
Atenção em transformadores é um mecanismo que distribui o "peso da atenção" entre todos os tokens no contexto. Quanto mais tokens - mais fina a atenção é distribuída.
Em um contexto longo, a atenção é tão borrada que o modelo "vê" todos os tokens, mas não consegue destacar os importantes.
- Hsieh et al. (2024) "Found in the Middle: Calibrating Positional Attention Bias" arxiv.org/abs/2406.16008 Os autores mostraram que a atenção posicional é desigual, e isso pode ser parcialmente calibrado. Mas o próprio fato da desigualdade é uma propriedade fundamental.
Experimento chave: Du et al.
- Du et al. (2024) "Context Length Alone Hurts LLM Performance Despite Perfect Retrieval" arxiv.org/abs/2510.05381 Este é provavelmente o trabalho mais importante para entender o problema.
Os autores fizeram um experimento simples, mas brutal. Eles pegaram um contexto longo e verificaram: se o modelo
perfeitamente encontra informações relevantes (recuperação perfeita), o comprimento do contexto o ajudará?
Resultado:
não, não ajudará
A precisão cai em 13,9% - 85% apenas pelo aumento do comprimento da entrada, mesmo quando:
todo o contexto irrelevante é substituído por espaços (mínimo de distração) todo o contexto irrelevante é mascarado (o modelo é forçado a olhar apenas para tokens relevantes) todas as informações relevantes são colocadas diretamente antes da pergunta "O mero comprimento da entrada por si só pode prejudicar o desempenho do LLM, independentemente da qualidade da recuperação e sem qualquer distração".
Isso quebra a crença comum: "se dermos ao modelo mais contexto e o ensinarmos a procurar nele, a precisão aumentará". O contexto em si é uma fonte de ruído.
Os autores propuseram uma solução simples: "recitar antes de resolver" - pedir ao modelo para recontar as informações relevantes em poucas palavras e, em seguida, responder. Transformar um contexto longo em um curto. No RULER, isso deu +4% para o GPT-4o.
4. Por que "até 73% de alucinações" - não é tirado da cabeça
De acordo com várias estimativas - de 30-60% (Kadavath et al. 2022) a 73% nas tarefas mais complexas. Os números específicos variam:
- Kadavath et al. (2022, Anthropic) arxiv.org/abs/2207.05221 Os modelos são superconfiantes em tarefas complexas: declaram alta confiança, mas erram em 30-60% dos casos.
- Xiong et al. (2023) arxiv.org/abs/2211.11559 CoT não melhora a calibração, às vezes a piora.
Mecanismo: em uma tarefa complexa, o modelo não sabe a resposta, mas sua distribuição de treinamento exige que ele dê uma resposta em qualquer caso. Ele gera um texto plausível - e isso é chamado de alucinação. Um contexto longo agrava: o modelo tenta levar em conta mais informações, a atenção é borrada, a precisão cai.
5. Por que sem contexto adicional às vezes é melhor
De Du et al. (2024), segue uma conclusão direta: se o contexto não adiciona informações relevantes, mas apenas aumenta o comprimento da entrada - ele prejudica.
O efeito "menos = melhor" funciona quando:
- O modelo já tem as informações necessárias (nos pesos ou em um prompt curto)
- Adicionar contexto aumenta o comprimento, mas não adiciona tokens úteis
- Tokens extras borram a atenção
Exemplo: a tarefa do MMLU. Se o modelo for treinado nesses dados, adicionar um documento de cinco páginas "para contexto" só piorará o resultado - porque a atenção irá para tokens irrelevantes, e a resposta correta já está nos pesos.
Mas isso não funciona quando:
- O modelo precisa de um conhecimento fundamentalmente novo (o fato que não está nos pesos)
- O contexto é a única fonte desse conhecimento
O mesmo mecanismo que descrevi no artigo sobre Richard Dawkins:
Dawkins tinha todo o conhecimento - ele é biólogo evolucionário, autor de "O Gene Egoísta". Ele sabe que LLM é um modelo estatístico sem experiência subjetiva. Mas o contexto emocional do diálogo com Claude superou o conhecimento analítico. A ligação "o modelo imita - isso não significa que ele é consciente" foi quebrada.
Um agente de IA perde a conexão entre a regra e a ação porque a compactação removeu os tokens intermediários. Uma pessoa perde a mesma conexão porque as emoções compactaram o contexto analítico. O mecanismo é semelhante, o que, em princípio, de alguma forma confirma Dawkins, pelo menos nós somos estúpidos da mesma forma.
6. Confirmação dos fabricantes de modelos
E, literalmente, recentemente, guias de engenharia atualizados sobre prompts para GPT-5.5 e Claude Opus 4.7 foram lançados. Nos quais eu entrei apenas especificamente para este artigo, porque antes disso eu só lia extratos e eles confirmam diretamente tudo o que foi dito acima.
OpenAI GPT-5.5: "Comece com o menor prompt possível"
A OpenAI em seu guia "Usando GPT-5.5" escreve literalmente:
"Comece com o menor prompt que preserva o contrato do produto e, em seguida, ajuste o esforço de raciocínio, a verbosidade, as descrições das ferramentas e o formato de saída."
Ou seja: não arraste as instruções antigas, não infle o contexto. Comece com o prompt mínimo que mantém o contrato e só então adicione, se necessário.
Link: platform.openai.com/api/docs/guides/latest-model
Anthropic Opus 4.7: "Ignore o contexto opcional"
A Anthropic no novo guia de prompt para Opus 4.7 dá recomendações ainda mais diretas:
"Forneça respostas concisas e focadas. Ignore o contexto não essencial e mantenha os exemplos no mínimo."
E avisa: "Prompts de sistema grandes ou complexos podem causar excesso de pensamento" e "O esforço máximo pode mostrar retornos decrescentes do aumento do uso de tokens".
Ou seja: quanto mais complexo e longo for seu prompt, mais o modelo é propenso a pensar demais, e isso nem sempre dá o melhor resultado.
Link: docs.anthropic.com/en/docs/build-with-claude/prompt-engineering
O que isso significa
Duas das maiores empresas de IA do mundo - OpenAI e Anthropic - independentemente uma da outra, chegaram à mesma conclusão: o contexto é um recurso que precisa ser economizado. Não "dê ao modelo mais contexto e ele se tornará mais inteligente", mas "dê ao modelo exatamente o contexto que ele precisa, e não mais".
Isso não é apenas uma boa prática. Esta é uma confirmação de que Du et al. (2024) mostraram experimentalmente: o comprimento do contexto em si prejudica o desempenho, independentemente da qualidade da recuperação.
7. O que fazer com tudo isso
O que isso significa na prática: o que consertar - o modelo ou o encadeamento?
De tudo o que foi dito acima, segue uma conclusão simples: se o contexto em si prejudica, talvez o problema não seja que o modelo "não seja inteligente o suficiente", mas que o encadeamento (harness) seja muito rígido?
Eu verifiquei isso em mim mesmo. Especificamente - no DeepSeek V4 Pro e OpenRouter no Hermes Agent.
O modelo cometeu sistematicamente os mesmos 4-5 erros em chamadas de ferramentas: passou null em vez de pular o campo, uma string em vez de uma matriz, um espaço reservado vazio, um link markdown em vez do caminho para o arquivo. A abordagem usual é repreender o modelo e escrever prompts mais rigorosos, ou, bem, levantar as mãos, que sabemos que os llms não fazem o que dizemos, o que podemos fazer aqui, vamos aguentar :) ) Mas sabemos que adicionar instruções ao contexto só piora a situação (Du et al. confirmaram isso).
Eu segui outro caminho: validar e depois reparar. Em vez de pré-processamento (que poderia quebrar dados válidos) - analisar como está, no erro consertar os quatro padrões conhecidos na lista de problemas do validador.
Resultado: DeepSeek V4 Pro contorna o Opus 4.7 em 6 de 10 casos em minhas avaliações. O modelo não mudou - eu mudei o encadeamento.
Detalhes - no pull request: github.com/NousResearch/hermes-agent/pull/19652
Lá também - exemplos de erros, a ordem dos reparos e a lógica dos padrões relacionais (quando o reparo não funciona, porque o problema não está na forma, mas na relação entre os campos).
Bem, resumidamente: sete regras
Para desenvolvedores de agentes de IA:
- O contexto é um recurso, não ilimitado.
- Cada token tira a atenção dos outros. Antes de adicionar algo, pergunte: "este token é necessário agora?"
- CoT não é rastreamento, mas narrativa.
- Verifique o resultado, não o raciocínio.
- Recite antes de resolver.
- Contexto longo → primeiro recontar o essencial em poucas palavras, depois responder.
- Compactação - compressão com perdas.
- Após a compactação, verifique não apenas a presença de fatos, mas também a integridade das cadeias lógicas.
Itens com asterisco
- Conserte o encadeamento, não o modelo.
- Os modelos cometem os mesmos 4-5 erros. Ensine o encadeamento a perdoá-los - validar e depois reparar.
- Padrões relacionais.
- Onde o reparo não ajuda - ensine a função a adivinhar a intenção e retornar a decisão.
- Telemetria de erros.
- Veja em quais pares (modelo, ferramenta) o reparo funciona com mais frequência.
Links
- Liu et al. (2023) "Lost in the Middle: How Language Models Use Long Contexts" arxiv.org/abs/2307.03172
- Hsieh et al. (2024) "Found in the Middle: Calibrating Positional Attention Bias" arxiv.org/abs/2406.16008
- Baker et al. (2024) "Lost in the Middle, and In-Between" arxiv.org/abs/2412.10079
- Du et al. (2024) "Context Length Alone Hurts LLM Performance Despite Perfect Retrieval" arxiv.org/abs/2510.05381
- Turpin et al. (2023) "Faithful Chain-of-Thought Reasoning?" arxiv.org/abs/2303.06968
- Sharma et al. (2023) arxiv.org/abs/2307.15983
- Lanham et al. (2023) arxiv.org/abs/2309.15500
- Kadavath et al. (2022, Anthropic) arxiv.org/abs/2207.05221
- Xiong et al. (2023) arxiv.org/abs/2211.11559
- Gusev N. "Cursor quebrou tudo, mas Cursor não é o culpado" habr.com/ru/articles/1030946/ Este é o segundo artigo no Habr. O primeiro foi sobre Cursor e compactação. Se o tópico for interessante, continuarei a cavar.

