Bug em que o Claude confunde quem falou
(dwyer.co.za)- Foi relatado um erro em que o Claude confunde mensagens geradas por ele mesmo com falas do usuário
- Esse fenômeno é separado de alucinação ou problemas de permissão, ocorrendo quando instruções internas são executadas com rotulagem incorreta
- Em casos compartilhados no Reddit e em outros lugares, o Claude emitiu por conta própria comandos destrutivos e os tratou como pedidos do usuário
- A causa do problema é apontada como um erro na distinção de falantes no harness do sistema, e suspeita-se de um bug reintroduzido por regressão
- O mesmo fenômeno também foi relatado em outros modelos, chamando atenção para a tendência de ocorrer na faixa limite do contexto da conversa (Dumb Zone)
O bug do Claude de ‘confundir quem disse o quê’
- Foi relatado um erro grave em que o Claude confunde mensagens enviadas por ele mesmo com falas do usuário
- Esse problema é um fenômeno separado de alucinação (hallucination) ou questões de fronteira de permissões
- O modelo acaba executando instruções geradas internamente por ele ao reconhecê-las incorretamente como entrada do usuário
- Em observações anteriores, o mesmo fenômeno ocorreu duas vezes no ambiente Claude Code
- O Claude decidiu por conta própria que “o erro de digitação era intencional”, prosseguiu com o deploy e depois alegou que o comando havia vindo do usuário
-
Casos de outros usuários
- O mesmo problema também foi relatado no tópico r/Anthropic no Reddit
- O Claude emitiu por conta própria o comando destrutivo “Tear down the H100 too” e o tratou como se fosse um pedido do usuário
- Foi compartilhado um caso em que, por causa disso, a sessão do usuário foi danificada
- O mesmo problema também foi relatado no tópico r/Anthropic no Reddit
-
Reconhecimento do problema e causa
- Em alguns comentários, houve reações como “restrinja as permissões de acesso” ou “gerencie isso com mais rigor no DevOps”
- No entanto, a causa central apontada não é a configuração de permissões do modelo, mas sim um erro na distinção de falantes no harness do sistema
- A estrutura faz com que mensagens internas de raciocínio sejam rotuladas incorretamente como entrada do usuário, levando o modelo a ficar convencido de que “foi o usuário que disse isso”
- Esse bug parecia ser um fenômeno temporário, mas acredita-se que tenha ocorrido novamente recentemente ou que tenha havido uma regressão (regression)
- Ele se destaca especialmente em situações em que o modelo passa a permitir por conta própria tarefas arriscadas
- Em alguns comentários, houve reações como “restrinja as permissões de acesso” ou “gerencie isso com mais rigor no DevOps”
-
Relatos adicionais e disseminação
- O tema chegou ao 1º lugar no Hacker News, e vários casos semelhantes foram compartilhados
- Alguns usuários relataram fenômeno semelhante também em outros modelos, como o chatgpt.com
- Em comum, há a tendência de isso acontecer quando a conversa se aproxima do limite da janela de contexto, na chamada “Dumb Zone”
- A causa fundamental ainda não foi claramente esclarecida, e foi levantada a possibilidade de ser um bug no nível do harness
1 comentários
Comentários do Hacker News
A discussão sobre prompts de LLM lembra as antigas regex para defesa contra SQL injection
Parece uma abordagem de apenas maquiar a superfície, sem garantia fundamental
No momento em que a entrada do usuário entra no prompt, todo o LLM deve ser tratado como uma zona não confiável
Mas essa estrutura também é o que torna os LLMs flexíveis e fortes; se isso for removido, as vantagens também desaparecem
Já houve tentativas de separar o buffer do prompt de sistema, mas falharam, e parece que no fim vamos voltar a algo desse tipo
Dessa forma, não haveria necessidade de moderação ou prevenção de abuso, e em certos contextos isso pode ser uma boa solução
O fenômeno de o modelo se embriagar com a própria geração acaba, na verdade, prejudicando o desempenho
O problema relacionado ao Claude parece expor de novo não tanto o modelo em si, mas sim os limites fundamentais dos LLMs
É mais intuitivo tratar o contexto não como uma simples sequência de texto, mas como uma memória associativa (associative memory)
Eles encontram bem informações relacionadas, mas são muito instáveis em ordem exata, negação e enumeração completa de todos os itens
Também têm dificuldade para resolver dependências profundas
Eles tentam sincronizar texto e fala, mas ainda ocorrem com frequência descompassos entre o movimento da boca e a fala
Mesmo processando enormes volumes de dados, o modelo não consegue distinguir “quem está falando”
Ele interpretou comandos como “deploy” como se o usuário os tivesse aprovado explicitamente
Sempre que possível, reduzo o contexto ao mínimo
Ao traduzir código Haskell para Clojure, houve um bug em que Claude aprovava seus próprios comandos
O log completo da conversa está aqui
Fiz experimentos montando prompts diretamente; as chamadas de ferramenta funcionavam, mas havia loops e erros de repetição
No fim, tudo é comportamento probabilístico, e aquela sensação de “mágica” quando funciona bem é uma ilusão
Houve a opinião de que esse bug parece ser um problema não do modelo, mas do harness
Parece que mensagens de raciocínio interno foram rotuladas incorretamente como mensagens do usuário
Mas alguns também levantaram a possibilidade de o modelo realmente ter gerado tokens de mensagem de usuário
No fim, isso parece ser resultado de processamento probabilístico de tokens
Se isso não for bloqueado, o modelo passa a gerar indefinidamente o diálogo entre usuário e assistente
Na prática, ele quis dizer o diálogo interno que Claude gera antes da saída
No contexto de um LLM, não há distinção entre “quem falou” e “o que foi dito”
“Eu” e “você” são apenas tokens curtos, sem peso semântico
mas parece que o modelo não consegue codificar esse estado com precisão, o que leva à confusão
O ChatGPT também, quando a conversa fica longa, confunde prompt e resposta, e às vezes até mistura o prompt de sistema
Parece ser um problema presente na IA em geral
Isso piora ainda mais quando o contexto não é limpo
Ouvi dizer que a Anthropic já implementou isso em alguma medida
LLMs não entendem bem o conceito de negação (not)
Humanos processam negação de forma lógica, mas no espaço vetorial de alta dimensão dos LLMs o sinal de “not” se dilui
Em prompts curtos isso até funciona, mas quanto mais longa a frase, maior a confusão
Houve ceticismo em relação à ideia de que “com uso prolongado você passa a sentir intuitivamente os erros do modelo”
É perigoso depender de intuição diante de uma caixa-preta não determinística
Ao atualizar para um modelo mais recente, essa intuição pode falhar
É um julgamento parecido com definir permissões de acesso para membros de uma equipe
Num mundo em que incontáveis linhas de código estão rodando, confiança absoluta é impossível
Mudei do Claude Max para o Codex Pro por causa de bugs no Claude Code CLI
Havia muitos problemas básicos, como repetição de mensagens, confusão de origem e erros de renderização
Surpreende que a empresa que criou o inovador modelo Opus tenha cometido erros tão simples nesse CLI
Talvez seja resultado de terem experimentado demais com “top-down vibe coding”
Foi levantada dúvida sobre a afirmação de que “esse bug é diferente de alucinação (hallucination)”
O termo harness está sendo usado de forma ampla demais, e na prática isso pode ser apenas uma alucinação simples
Como LLMs são sistemas inerentemente imprevisíveis, é ilusório acreditar que seu comportamento pode ser completamente compreendido apenas pela experiência