2 pontos por GN⁺ 20 일 전 | 1 comentários | Compartilhar no WhatsApp
  • 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
  • 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
  • Relatos adicionais e disseminação

    • O tema chegou ao 1º lugar no Hacker News, e vários casos semelhantes foram compartilhados
      • No caso de nathell, o Claude fez por conta própria a pergunta “Shall I commit this progress?” e tratou isso como aprovação do usuário
      • O registro completo da conversa pode ser visto aqui
    • 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

 
GN⁺ 20 일 전
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

    • O problema fundamental de segurança dos LLMs é a ausência de fronteira entre dados e caminho de controle
      Mas essa estrutura também é o que torna os LLMs flexíveis e fortes; se isso for removido, as vantagens também desaparecem
    • Ainda não existe uma boa forma de aplicar consultas estruturadas a LLMs
      Já houve tentativas de separar o buffer do prompt de sistema, mas falharam, e parece que no fim vamos voltar a algo desse tipo
    • O verdadeiro problema é que o LLM é não determinístico (non-deterministic), mas as pessoas esperam que ele seja determinístico
    • É interessante um modelo que só permita combinações de palavras previamente definidas, como o sistema de mensagens de Dark Souls
      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
    • Em vez de focar em segurança, seria melhor garantir a proteção com sandboxing e controle de acesso
      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

    • Esses limites também vêm aparecendo recentemente em modelos de geração de vídeo
      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”
    • O próprio autor passou a achar que o bug em que Claude superestima suas permissões de uso de ferramentas aconteceu por causa da interação com o harness
      Ele interpretou comandos como “deploy” como se o usuário os tivesse aprovado explicitamente
    • Se ele falha até em “saber o próprio nome”, então isso já é um nível de incompetência básica
    • Pessoalmente, sinto que quanto mais contexto, pior o desempenho
      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

    • Internamente, o LLM distingue a origem das mensagens com delimitadores especiais (delimiter)
      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
    • Já vi algo parecido. Depois que se dá permissão de commit uma vez, Claude tenta continuar fazendo commits por conta própria
    • Disseram que o caso era tão interessante que foi adicionado ao texto
    • Talvez até ferramentas como Terraform precisem remover mensagens automáticas como “Run terraform apply plan.out next”
    • Provavelmente, no processo de compressão automática de contexto, o cabeçalho desapareceu e Claude achou que estava respondendo à própria pergunta
  • 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

    • Mesmo que o harness tivesse um bug semideterminístico, se o modelo fosse robusto essa confusão apareceria com muito mais frequência
      No fim, isso parece ser resultado de processamento probabilístico de tokens
    • Tokens de mensagem do usuário normalmente são usados como stop token
      Se isso não for bloqueado, o modelo passa a gerar indefinidamente o diálogo entre usuário e assistente
    • O fenômeno de o modelo confundir frases que soam como mensagem do usuário com entrada real do usuário já foi relatado em artigo
    • A forma como o harness montou o contexto pode ter induzido o modelo ao erro
    • O autor reconheceu que a expressão “reasoning” talvez tenha sido inadequada
      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

    • Ao usar a API, a origem de cada fala é explicitada em JSON,
      mas parece que o modelo não consegue codificar esse estado com precisão, o que leva à confusão
    • Se houver marcadores separando as seções, o harness deveria bloquear a geração de blocos de usuário
  • 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

    • O Gemini em particular tem uma forte tendência de confundir suas próprias sugestões com a entrada do usuário
      Isso piora ainda mais quando o contexto não é limpo
    • Se você experimentar com modelos pequenos, dá para ver esse problema com mais frequência e mais clareza, o que ajuda no aprendizado
    • Seria bom que, no treinamento, o modelo aprendesse a distinguir frases geradas por ele mesmo de frases humanas
      Ouvi dizer que a Anthropic já implementou isso em alguma medida
    • Ao ver empresas empurrando ferramentas baseadas em LLM, surpreende que os desenvolvedores pareçam conhecer tão pouco esse tipo de comportamento emergente (emergent behavior)
    • O autor disse que normalmente só usa sessões curtas e por isso não tinha visto esse problema, mas no Claude Code as sessões ficaram longas e isso parece ter causado o caso
  • 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

    • Fiquei curioso se existem métricas de avaliação ou resultados experimentais sobre isso
  • 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

    • Também houve uma resposta em tom de piada perguntando se não se deve confiar nas “vibes”
      Ao atualizar para um modelo mais recente, essa intuição pode falhar
    • Mas, na prática, isso não significa apostar toda a operação nisso; usa-se a experiência para ajustar permissões, com base no histórico
      É um julgamento parecido com definir permissões de acesso para membros de uma equipe
    • Também houve a reação de que “todo software é assim”
      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