Contaminação de contexto

Aprenda o que é contaminação de contexto, como reconhecê-la em uma sessão do Bob Shell e como se recuperar iniciando uma nova sessão ou melhorando a higiene de contexto.

Sobre a contaminação de contexto

Contaminação de contexto ocorre quando informações incorretas ou irrelevantes entram na janela de contexto e permanecem na transcrição. O Bob trata essas informações como fatos em prompts subsequentes. As respostas se desviam. As chamadas de ferramentas ficam imprecisas. O objetivo de trabalho se perde.

Isso é diferente de uma única resposta ruim. Os dados incorretos ficam em Mensagens (ou chegaram por meio de uma leitura de arquivo, colagem de saída de comando ou comentário desatualizado). O Bob os reenvia a cada prompt até você reiniciar ou iniciar uma nova sessão.

Para saber como a janela se preenche e quando iniciar uma nova sessão, veja Gerenciamento da janela de contexto.

Sintomas

Você provavelmente está lidando com contaminação de contexto quando percebe algum dos seguintes:

  • Saída de pior qualidade: As sugestões se repetem, se desviam ou deixam de corresponder ao repositório.
  • Uso incorreto de ferramentas: As etapas de ferramentas na transcrição não correspondem mais ao que você solicitou.
  • Trabalho multi-etapas travado: Fluxos longos com múltiplos prompts entram em loop ou param.
  • Correções de curta duração: Um prompt corretivo ajuda uma vez, mas o problema volta.
  • Confusão de ferramentas: O Bob usa ferramentas incorretamente mesmo sem alteração nas definições de ferramentas.

Se Mensagens já estiver grande, verifique o uso de tokens primeiro. Contaminação e janela de contexto cheia frequentemente ocorrem juntas.

Causas comuns

CausaO que acontece
Fatos incorretos na sessãoO Bob afirma algo errado. Trocas posteriores tratam isso como verdade em Mensagens.
Texto do repositório desatualizado ou incorretoComentários antigos, fragmentos de README ou documentação gerada enganam leituras de arquivos.
Colagens grandesLogs ou trechos com ruído, truncamento ou caracteres ocultos chegam em Mensagens.
CondensaçãoO Bob resume Mensagens mais antigas. Detalhes úteis desaparecem. O que resta pode dominar a sessão.
Contexto irrelevanteArquivos não relacionados, planos antigos ou um objetivo de trabalho anterior ainda existem na transcrição.

Uma vez que o contexto ruim está em Mensagens, ele persiste em todos os prompts subsequentes. O Bob não ignora de forma confiável um texto plausível apenas porque está errado.

Limitações dos prompts corretivos

Colar definições de ferramentas, regras ou um prompt corretivo rigoroso na conversa pode mascarar o problema por uma ou duas trocas. O histórico de Mensagens contaminadas ainda está lá. A próxima pergunta fora do tópico pode trazer a mesma falha de volta.

A correção confiável é uma nova sessão: saia e execute bob novamente para começar do zero. Isso limpa as Mensagens contaminadas enquanto mantém as Regras e os arquivos de projeto no disco.

Recuperação

  • Inicie uma nova sessão saindo e executando bob novamente. Isso limpa as Mensagens contaminadas enquanto mantém as Regras e os arquivos de projeto no disco.
  • Cole menos. Envie apenas as linhas de log ou erros que o Bob precisa. Dumps grandes aumentam as Mensagens e introduzem mais riscos.
  • Divida o objetivo de trabalho. Use sessões separadas para etapas não relacionadas para que uma transcrição desatualizada não seja carregada.
  • Verifique a saída das ferramentas. Se uma ferramenta retornar resultados incorretos, pare e inicie uma nova sessão em vez de deixar o Bob construir em cima disso em Mensagens.
  • Confie em testes em vez de texto. Quando comentários e código divergem, aponte o Bob para verificações executáveis. Essa é a mesma orientação das melhores práticas da janela de contexto.

Prevenção

A maior parte da prevenção resulta de uma boa higiene de contexto:

  • Defina o objetivo de trabalho antes da exploração do repositório (gerenciamento da janela de contexto).
  • Mantenha AGENTS.md e Regras curtos e operacionais.
  • Adicione arquivos e logs quando necessário, não antecipadamente.
  • Reinicie quando Mensagens cresce sem progresso.

Para leituras amplas do repositório, use subagentes para que a sessão veja resultados do subagente, não cada etapa de ferramenta em Mensagens.

Saiba mais

Como está este tópico?