A Anthropic finalmente resolveu o problema da janela de contexto de 1M

AAI LABS
컴퓨터/소프트웨어경영/리더십AI/미래기술

Transcript

00:00:00A janela de contexto de 1 milhão parece uma grande melhoria, mas na realidade é muito pior do que a maioria das pessoas imagina.
00:00:05E é exatamente por isso que o engenheiro que trabalha no Claude Code, Tarik, escreveu o artigo.
00:00:09Se você acha que o Claude Code só começa a piorar com 1 milhão de tokens, ou que 1 milhão é tanto que você não precisa se preocupar, você está enganado.
00:00:17A degradação na verdade começa bem antes da metade da janela.
00:00:21E a solução que a maioria das pessoas procura, que é a compactação, geralmente torna tudo pior.
00:00:24Ao final deste vídeo, você saberá exatamente como impedir que o Claude Code fique mais "burro", da mesma forma que a equipe da Anthropic faz.
00:00:31O Claude Code parece degradado, mesmo que os modelos em si sejam realmente poderosos.
00:00:35Você pode ter notado que ele alucina mais, precisa ser lembrado várias vezes de instruções dadas anteriormente e esquece essas instruções a longo prazo.
00:00:44Nós também notamos isso ao executar tarefas mais longas, e o desempenho do Claude parecia reduzido.
00:00:48Mas existe toda uma razão por trás disso.
00:00:50Agora, os modelos após o Opus 4.5 vêm todos com uma janela de contexto de 1 milhão, em vez da anterior de 200.000.
00:00:56Embora essa atualização soe como se a maioria dos problemas que tínhamos fosse desaparecer com uma janela de contexto de 1 milhão, isso só soa bem na teoria.
00:01:03Porque agora você consegue colocar mais coisas de uma vez na janela de contexto do que antes, e fundamentá-la com mais documentos e informações para que o Claude não se desvie da tarefa que precisa realizar.
00:01:12Uma janela de contexto de 1 milhão também abre as portas para tarefas de longa duração sem se preocupar muito com os problemas de contexto que enfrentávamos antes.
00:01:19Mas o fato é que tudo isso não foi totalmente resolvido.
00:01:22A janela de contexto de 1 milhão é, na verdade, uma faca de dois gumes.
00:01:26Embora permita que o Claude vá mais longe e mantenha mais informações de uma só vez, tudo isso tem um custo.
00:01:30Isso abre as portas para a "podridão de contexto".
00:01:32Podridão de contexto significa que o desempenho do modelo degrada com mais informações em sua janela de contexto, porque com uma janela inchada, ele tem mais coisas para prestar atenção e não consegue manter o foco.
00:01:42E com uma janela de contexto de 1 milhão, seu contexto fica muito mais cheio, o que significa que há muito mais informações disponíveis para interferir no raciocínio do Claude do que havia com a janela de 200.000.
00:01:53A podridão de contexto não é algo que ocorre apenas com um contexto altamente inchado.
00:01:57De acordo com o criador do Claude Code, a podridão de contexto começa a acontecer por volta de 300 a 400.000 tokens, o que é muito menos que um milhão, cerca de apenas 40% de uso.
00:02:07Portanto, não importa o tamanho da janela de contexto, precisamos fazer coisas para evitar a podridão de contexto.
00:02:11E saber disso vai realmente mudar a maneira como você trabalha com a janela de contexto de 1 milhão.
00:02:15Agora, uma rápida recapitulação.
00:02:16A janela de contexto é tudo o que o modelo vê de uma só vez, o que inclui a conversa até o momento, o arquivo Claude.md, o prompt do sistema, arquivos lidos na sessão e cada saída de chamada de ferramenta.
00:02:26Cada prompt adiciona mais, e quando a janela enche, você resume para continuar com uma janela mais limpa, o que é a compactação.
00:02:32Se você não gerenciar o contexto adequadamente, existem quatro maneiras pelas quais seu agente pode falhar.
00:02:37Isso se torna ainda mais evidente e problemático em agentes de longa execução.
00:02:40A poluição de contexto é a primeira, que já discutimos e explicamos por que ocorre.
00:02:45O desvio de objetivo é a segunda.
00:02:46Isso acontece quando seu agente se afasta do que precisa fazer porque tem muitas coisas para focar no momento ou, em termos mais simples, esqueceu os objetivos pelos quais deveria trabalhar.
00:02:55Isso pode ter acontecido com frequência se você estiver trabalhando com o Claude Code, onde você quer que sua interface tenha uma certa aparência e já especificou isso, mas ele não segue e você tem que lembrá-lo do objetivo real.
00:03:05A corrupção de memória é a terceira, e ocorre quando, durante a execução, o estado interno ou fatos armazenados do agente tornam-se incorretos, e ele continua agindo com base nesse estado defeituoso.
00:03:14Muitas vezes é difícil identificar a causa exata quando os agentes rodam por longos períodos; fica claro onde o erro se originou.
00:03:21Por exemplo, a corrupção de memória pode parecer um arquivo sendo escrito de uma maneira pelo próprio agente e depois modificado por um subagente que não está no contexto atual.
00:03:29O agente refere-se à sua própria memória desatualizada e continua operando como se o arquivo ainda existisse da forma que ele criou originalmente.
00:03:37A imprecisão de decisão é a última.
00:03:39Ocorre quando um agente faz escolhas contraditórias em situações quase idênticas, como usar um padrão de tratamento de erros em um lugar e um diferente em outro.
00:03:48Todos esses problemas ocorrem quando o contexto não é gerenciado corretamente e impactam o desempenho de longo prazo dos agentes.
00:03:53Esses são exatamente os fatores que a maioria dos sistemas de agentes tenta otimizar.
00:03:57Portanto, uma vez que você pediu ao Claude para fazer algo e ele terminou, existem na verdade cinco opções possíveis para o que acontece a seguir em termos da sua próxima instrução.
00:04:06Cada uma depende de qual é o seu próximo prompt.
00:04:08Se você usar cada uma corretamente, a forma como você trabalha com o Claude pode melhorar muito.
00:04:12Embora a escolha mais natural seja simplesmente continuar, as outras opções ajudam você a gerenciar seu contexto de forma mais eficaz.
00:04:18Portanto, você precisa decidir com cuidado se realmente quer continuar no mesmo fluxo ou iniciar uma nova sessão.
00:04:24Assim que o contexto fica inchado, você tem duas maneiras de descartar o contexto, e a primeira escolha é a compactação, que já explicamos como uma sumarização do conteúdo existente.
00:04:32Mas você precisa ser claro sobre quando realmente quer resumir, porque o resumo é com perdas e muitos detalhes que podem parecer importantes para você, mas não para o Claude, podem ser descartados.
00:04:41Como resultado, informações importantes podem não existir mais na janela de contexto.
00:04:44É melhor controlar a compactação você mesmo em vez de deixar o Claude executar a compactação automática, pois quando ela é acionada no meio da tarefa, a compactação se torna ainda mais confusa.
00:04:52Ele tende a manter o que acha importante e remove tudo o que acha que não será necessário, então o Claude é, na verdade, menos confiável durante a compactação.
00:05:00Nesse ponto, o foco do Claude é puramente na sumarização e ele é privado de contexto de suporte, como o prompt do sistema e outros elementos que normalmente o tornam mais capaz.
00:05:08Ele então depende fortemente de suas próprias suposições sobre o que é importante, o que muitas vezes pode levar a decisões de compactação ruins.
00:05:14Uma compactação ruim geralmente acontece quando o modelo não consegue determinar claramente a direção do seu trabalho.
00:05:19Por exemplo, se você está em uma longa sessão de depuração e houve um aviso encontrado anteriormente após a compactação automática, se você pedir para corrigir esse aviso específico, ele não saberá de que aviso você está falando.
00:05:29Isso acontece porque a sessão estava focada na depuração como um todo, então apenas um resumo geral da atividade de depuração foi retido e o aviso específico foi tratado como ruído e descartado.
00:05:39O viés de recência piora a situação.
00:05:41Quando a compactação é acionada, o prompt prioriza preservar detalhes recentes do que estava sendo trabalhado.
00:05:46Portanto, informações mais antigas, mas ainda importantes, podem ser ignoradas ou deixadas de fora.
00:05:50Se algo foi feito incorretamente antes, o modelo pode não estar mais ciente disso após a compactação.
00:05:54Ele só tem acesso ao resumo do nível da transcrição, não ao estado completo do projeto, porque o histórico de chamadas de ferramenta não é totalmente preservado durante a compactação.
00:06:01Você pode definir sinalizadores para controlar quando a compactação automática acontece, mas isso é algo que você deve gerenciar ativamente com mais frequência.
00:06:07Acione a compactação por volta da faixa de 300.000 a 400.000 mencionada pelo criador, porque é aí que a podridão de contexto normalmente começa a aparecer, e sempre forneça uma instrução de compactação você mesmo, porque o Claude responde com mais cuidado quando instruções explícitas são incluídas.
00:06:22Diga a ele quais decisões, restrições e problemas descobertos deve levar adiante para que ele saiba o que priorizar.
00:06:27Portanto, você deve clicar em compactar quando realmente quiser que o contexto do fluxo de trabalho anterior seja transferido para a nova janela, não quando quiser um novo começo.
00:06:34Mas antes de prosseguirmos, vamos ouvir uma palavra do nosso patrocinador.
00:06:37Verdant, uma plataforma impulsionada por IA que ajuda construtores a transformar ideias em produtos prontos.
00:06:41Você está no meio de um projeto, finalmente concentrado, e seus créditos acabam.
00:06:45Sua IA para subitamente, o ritmo desaparece.
00:06:47Toda ferramenta de codificação por IA faz isso com você, mas o Verdant não.
00:06:50Quando seus créditos atingem zero, basta mudar para o modo eco, um modo de custo zero que mantém sua IA funcionando sem gastar mais um dólar.
00:06:56Sem interrupção, sem recarga, sem perda de ritmo.
00:06:59Você simplesmente continua construindo.
00:07:00E quando você tem créditos, você não fica preso escolhendo entre Claude, GPT ou Gemini.
00:07:04O modo multi-plano do Verdant executa os três juntos como um comitê de decisão, oferecendo planos melhores sem a ansiedade do modelo.
00:07:10Quer ainda mais flexibilidade?
00:07:11O BYOK (Traga sua própria chave) permite que você conecte sua própria chave de API diretamente no Verdant.
00:07:15Use os créditos do Claude ou GPT da sua empresa, sem taxas de plataforma.
00:07:18Você paga apenas pelo que realmente usa.
00:07:20Você recebe 100 créditos e 7 dias para testar.
00:07:23Clique no link no comentário fixado e experimente o Verdant gratuitamente.
00:07:26A segunda escolha é usar o comando clear (limpar), que remove todo o contexto e inicia uma nova sessão com um contexto vazio.
00:07:32Ao contrário da compactação, nada é transferido, e apenas o que você fornecer novamente permanecerá na janela de contexto.
00:07:37Assim como na compactação, você não deve usar o clear apenas quando ficar sem contexto.
00:07:41Se você estiver mudando para uma tarefa não relacionada, é simples limpar a sessão e começar do zero, para que a tarefa anterior não interfira na nova.
00:07:49Por exemplo, se você pedir ao agente para escrever casos de teste para um aplicativo em que está trabalhando, talvez não queira que ele retenha detalhes sobre como esses casos de teste foram gerados.
00:07:57Em vez de continuar a depuração no mesmo contexto, você pode iniciar uma nova sessão.
00:08:01Dessa forma, o Claude pode trabalhar na depuração do seu aplicativo de forma mais eficaz sem ser influenciado por como gerou os casos de teste anteriormente.
00:08:08Agora, há outra abordagem que você pode usar, que é combinar o clear e a compactação.
00:08:12Isso permite que você retenha apenas o que deseja e descarte todo o resto.
00:08:16A ideia é usar um formato JSON estruturado que capture as informações que você deseja preservar.
00:08:21Você pode criar um comando personalizado para reutilizá-lo com frequência.
00:08:24Nesse comando, você pode incluir uma estrutura JSON que contenha a tarefa completa, estado atual, restrições, problemas descobertos e quaisquer outros detalhes relevantes que você queira que o Claude retenha, e então instruí-lo a salvar isso em um arquivo.
00:08:35Essa abordagem permite que você obtenha o melhor dos dois métodos.
00:08:38Assim que você executar o comando, ele analisará toda a conversa e o estado atual do aplicativo, algo que uma compactação normal não preserva de forma confiável, e salvará tudo no arquivo conforme especificado.
00:08:48Um esquema é muito mais rigoroso do que a prosa, então, quando o Claude segue uma estrutura definida, ele pode representar o que é importante de forma mais consistente e precisa.
00:08:56Depois que as informações tiverem sido salvas no arquivo, você pode usar o comando clear com segurança para remover tudo da janela de contexto.
00:09:02Então você pode iniciar uma nova sessão e instruir o Claude a consultar esse documento para reunir contexto e implementar a próxima tarefa a partir daí.
00:09:14Como mencionado anteriormente, à medida que o contexto cresce, o foco do agente pode se desviar porque há simplesmente mais informações competindo por atenção, e isso é ainda mais perceptível com a janela de contexto de 1 milhão.
00:09:23Essa prática ajuda a resolver tanto o problema do desvio de objetivo quanto as questões de inconsistência de decisão que discutimos anteriormente.
00:09:29Em vez de continuar avançando continuamente em uma tarefa de longa execução, é útil pausar periodicamente e pedir ao agente para recapitular o que fez até agora, junto com as restrições e outros fatores importantes.
00:09:39Quando você faz isso, ele reforça os objetivos originais e traz detalhes importantes de volta para a parte mais recente da janela de contexto, em vez de deixá-los enterrados em seções mais antigas.
00:09:48Isso ajuda a garantir que informações importantes permaneçam frescas no contexto de trabalho do agente e sejam menos propensas a serem perdidas durante a compactação ou diluídas ao longo do tempo,
00:09:56para que o agente permaneça mais alinhado com a tarefa que deve realizar e mantenha melhor consistência em suas decisões.
00:10:02Além disso, se você está gostando do nosso conteúdo, considere pressionar o botão de "hype", porque isso nos ajuda a criar mais conteúdo como este e alcançar mais pessoas.
00:10:09Subagentes podem não parecer muito, mas na verdade são uma maneira muito importante de gerenciar o contexto.
00:10:14Cada subagente é sua própria instância independente, com uma janela de contexto dedicada, acesso total a ferramentas e as permissões necessárias para concluir sua tarefa.
00:10:22Eles executam o trabalho atribuído naquele contexto separado fornecido pelo agente principal e então retornam apenas o resultado final para o contexto principal.
00:10:30Portanto, todas as chamadas de ferramenta que ele fez, arquivos que leu, pesquisas na web que realizou e raciocínio intermediário permanecem dentro do próprio contexto do subagente e não poluem a janela de contexto do agente principal.
00:10:40Esta é uma maneira eficaz de reduzir a podridão de contexto. Tarefas de pesquisa são o exemplo mais claro.
00:10:45O agente passa por vários sites, páginas e fontes, e você não quer que todas essas informações brutas sejam continuamente adicionadas à janela de contexto principal.
00:10:53Nesses casos, um subagente pode lidar com o trabalho de forma independente e retornar apenas a síntese final.
00:10:58A questão chave que você deve se perguntar antes de usar um subagente é se precisará de acesso às etapas intermediárias novamente ou se só se importa com o resultado final.
00:11:07O Claude Code também gerencia a orquestração de subagentes por conta própria e pode gerar agentes para realizar tarefas automaticamente.
00:11:13Mas às vezes você precisa especificar explicitamente no seu prompt que deseja que o trabalho seja delegado a um subagente para que seja tratado isoladamente.
00:11:20Portanto, se você estiver trabalhando em tarefas de pesquisa, refatoração, sumarização ou geração de documentos, deve considerar separá-las usando subagentes em vez do seu agente principal.
00:11:30Por último, mas não menos importante, retroceder (rewind) é muito importante em comparação com simplesmente corrigir, pois remove partes irrelevantes ou incorretas da janela de contexto, mantendo apenas o estado correto.
00:11:40Sempre que o Claude encontra um erro, as pessoas geralmente tentam re-promptar para adotar outra abordagem.
00:11:44Mas uma opção melhor é retroceder e então fornecer a direção correta no novo prompt.
00:11:49Você pode usar o comando "rewind" ou pressionar a tecla escape duas vezes para fazer isso.
00:11:53Após retroceder, você também pode resumir a partir desse ponto para que a conversa até aquele estágio seja preservada como contexto útil, enquanto remove as partes que levaram ao problema.
00:12:01Retroceder tem vários benefícios.
00:12:03Primeiro, ele limpa a janela de contexto removendo a parte em que as coisas deram errado, o que resulta em um resumo de compactação mais limpo que preserva apenas as implementações corretas.
00:12:12Mesmo se você fixar informações importantes, evita levar adiante seções onde o agente se desviou do objetivo, o que ajuda a reduzir tanto a inconsistência de decisão quanto o desvio de objetivo.
00:12:21Se você estiver usando subagentes, retroceder garante que eles recebam um contexto mais limpo e preciso quando as tarefas forem entregues, para que abordagens incorretas não sejam incluídas em seu estado de trabalho.
00:12:30Da mesma forma, se você usar um comando de entrega (handoff), ele captura o estado correto do aplicativo em vez de um corrompido ou desatualizado.
00:12:37Portanto, crie o hábito de retroceder em vez de corrigir repetidamente para frente, para que o agente trabalhe consistentemente a partir de um estado limpo e preciso durante toda a sessão.
00:12:45Isso nos leva ao final deste vídeo.
00:12:47Se você quiser apoiar o canal e nos ajudar a continuar fazendo vídeos como este, pode fazê-lo usando o botão de "super thanks" abaixo.
00:12:54Como sempre, obrigado por assistir e vejo você no próximo vídeo.

Key Takeaway

Gerenciar proativamente o contexto, realizando compactações manuais entre 300.000 e 400.000 tokens e utilizando subagentes, evita a podridão de contexto e mantém a precisão do Claude Code em tarefas de longa duração.

Highlights

A degradação do desempenho, conhecida como podridão de contexto, começa a ocorrer em torno de 300.000 a 400.000 tokens, o que corresponde a apenas 40% da capacidade total da janela de 1 milhão de tokens.

A compactação automática pelo modelo é ineficiente porque descarta informações cruciais e ignora o estado completo do projeto, sendo preferível o gerenciamento manual.

O uso de estruturas JSON para salvar estados e tarefas permite preservar informações críticas de forma consistente antes de limpar a janela de contexto.

A utilização de subagentes isola chamadas de ferramentas, pesquisas na web e raciocínios intermediários, evitando a poluição do contexto do agente principal.

O comando de retrocesso (rewind) é mais eficaz do que a correção incremental, pois remove seções com erros e garante que o agente opere a partir de um estado limpo.

Timeline

Os limites reais da janela de contexto

  • A janela de contexto de 1 milhão de tokens sofre de degradação de desempenho muito antes de ser preenchida.
  • A podridão de contexto manifesta-se quando o excesso de informações causa perda de foco e raciocínio no modelo.
  • O desempenho começa a declinar significativamente a partir de 300.000 a 400.000 tokens.

Embora a expansão para 1 milhão de tokens permita processar mais documentos simultaneamente, isso introduz problemas de interferência. O excesso de dados disponíveis na memória torna o modelo menos capaz de manter o foco, resultando em alucinações e esquecimento de instruções anteriores. O fenômeno ocorre em cerca de 40% da capacidade total, desmistificando a ideia de que janelas maiores eliminam a necessidade de gerenciamento.

Falhas comuns em agentes de longa execução

  • A poluição de contexto, o desvio de objetivo, a corrupção de memória e a imprecisão de decisão são os quatro principais modos de falha.
  • A corrupção de memória ocorre quando o agente opera com base em estados internos desatualizados ou incorretos.
  • A imprecisão de decisão manifesta-se em escolhas contraditórias diante de situações idênticas.

Agentes que rodam por longos períodos acumulam ruído que prejudica sua capacidade de tomada de decisão. O desvio de objetivo ocorre quando instruções iniciais são esquecidas devido ao volume de novos dados. A corrupção de memória é particularmente problemática, pois o agente pode modificar arquivos baseando-se em fatos que já não refletem o estado real do projeto.

Estratégias de gerenciamento: Compactação e Limpeza

  • A compactação automática deve ser evitada em favor de intervenções manuais para garantir maior precisão.
  • O comando clear remove todo o contexto, sendo útil ao alternar entre tarefas não relacionadas.
  • A combinação de JSON estruturado com o comando clear preserva informações críticas enquanto elimina o ruído.

A compactação feita automaticamente pelo modelo é propensa a perdas, pois ele prioriza eventos recentes e descarta detalhes que considera irrelevantes. Recomenda-se realizar a compactação manualmente por volta de 300.000 tokens. Para manter a memória do projeto, salvar o estado em um arquivo JSON e iniciar uma nova sessão limpa permite um recomeço preciso e focado.

Subagentes e comandos de retrocesso

  • Subagentes isolam tarefas de pesquisa ou refatoração, mantendo o contexto principal limpo.
  • O uso periódico de recapitulações reforça objetivos originais dentro da janela de trabalho.
  • O comando de retrocesso (rewind) remove partes problemáticas do histórico de execução, prevenindo a propagação de erros.

Delegar tarefas intermediárias a subagentes evita a poluição do contexto principal com dados brutos ou caminhos de raciocínio temporários. O retrocesso é preferível à correção contínua, pois assegura que o estado futuro do agente não seja influenciado por decisões errôneas passadas. Essa abordagem mantém a consistência e a eficácia do agente em fluxos de trabalho complexos.

Community Posts

View all posts