1 pontos por GN⁺ 4 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • O Claude Code grava as sessões em disco, mas no thinking block dos logs locais ficava apenas uma signature de 600 caracteres em vez do texto real de raciocínio
  • O raciocínio do Claude é criptografado em uma signature, e a chave fica com a Anthropic, sem ser enviada ao dispositivo do usuário
  • O valor retornado pela API não é o texto original do raciocínio, mas sim um resumo do raciocínio; para obter o thinking output completo é necessário um enterprise agreement
  • A saída de extended-thinking vista com ctrl+o também é apenas um resumo do processo de pensamento de Fable/Opus, e não o raciocínio em si que realmente guiou o comportamento do modelo na sessão
  • Se você quiser usar sessões do Claude Code como trilha de auditoria, precisa partir do princípio de que não é possível reconstruir a lógica real do agente apenas com arquivos locais, entradas e saídas, e logs de ações

O que fica nos logs locais não é o texto original do raciocínio

  • O Claude Code grava cada sessão em disco, e esses logs incluem thinking blocks de enquanto o modelo está trabalhando
  • Ao tentar verificar esse raciocínio localmente, não havia texto real, apenas uma signature de 600 caracteres
  • A documentação de extended thinking da Anthropic trata essa estrutura da seguinte forma
    • O Claude criptografa o raciocínio dentro dessa signature
    • A chave fica com a Anthropic
    • O dispositivo do usuário não recebe a chave
    • A API retorna um reasoning summary, e não o raciocínio em si
    • Para obter o thinking output completo é necessário um enterprise agreement
  • O artigo de Matt Green traz observações mais detalhadas sobre o bloco de signature

Limites da saída de Extended Thinking

  • A saída de extended-thinking visível no ctrl+o do Claude Code é um resumo do thinking de Fable/Opus
  • Essa saída não é o próprio thinking que realmente guiou as ações do modelo na sessão, mas sim o resultado de uma compressão da lógica de raciocínio
  • Há perda de dados no processo de transformação em resumo, e o texto original compara isso a uma situação em que informações se perdem ao converter um formato de arquivo
  • Pontos de atenção quando é necessário registrar a lógica usada pelo agente em uma sessão do Claude Code
    • Não é possível gerar essa lógica apenas com os arquivos locais
    • Os logs de raciocínio que permanecem no sistema não estão em um formato acessível ao usuário
    • Entradas, saídas e as ações do Claude Code em execução podem ser coletadas e registradas separadamente
    • Mesmo esses logs não são o raciocínio que realmente guiou o comportamento do agente
  • A frase da documentação, “extended thinking returns a summary of Claude’s full thinking process”, é indireta e pode dar margem à interpretação errada de que o full thinking real é retornado

1 comentários

 
GN⁺ 4 시간 전
Opiniões no Hacker News
  • Não é um problema só da Anthropic; quase todas as grandes empresas de IA, incluindo OpenAI e Google, escondem o processo real de raciocínio do modelo
    Isso acontece porque divulgar o raciocínio bruto revelaria exatamente como a IA processa informações, e essas empresas gastam enormes quantias em P&D para criar processos de pensamento melhores que os dos concorrentes
    Divulgar esse mecanismo de pensamento para concorrentes destruiria o próprio propósito desse investimento, então elas jamais fariam isso; é como dizer sua localização exata para alguém que está te perseguindo

    • Também é parecido com fornecer as informações do mundo em um formato legível por máquina para que empresas de IA possam transformá-las em pesos de modelo sem permissão nem compensação
    • Mais importante ainda, revelar o raciocínio do modelo permitiria que concorrentes treinassem em cima disso para copiar os resultados
      Se esse conteúdo for pós-processado, como em forma de resumo, ele se torna menos útil para concorrentes
    • Eu achava que a razão original era que o “raciocínio” não combina bem com a saída alinhada do modelo, então durante o raciocínio removem o alinhamento e escondem isso para que a saída “não alinhada” do modelo não apareça
    • Quando você exporta dados pessoais do Google, ele oculta todas as respostas do modelo e deixa só as mensagens do usuário
      Então é ainda pior
    • Mas em problemas complexos, o caminho até a resposta também deveria poder ser revisado, então essa abordagem piora o produto
  • A analogia de que “não é pensamento real, é um resumo da lógica do pensamento; é como salvar um jpeg como .bmp, editar o .bmp e depois apresentá-lo de novo como .jpeg. Há perda de dados no processo de conversão” está invertida
    .bmp é um formato sem perdas e .jpeg é um formato com perdas

  • Não pretendo usar nem recomendar modelos com raciocínio oculto, e todos os modelos americanos entram nessa categoria
    O risco é grande demais e isso também dificulta a otimização de prompts
    É perigoso porque um atacante pode inserir um objetivo secreto na cadeia de raciocínio via prompt injection, e depois escondê-lo no resumo e na saída
    Fica ainda mais perigoso quando raciocínio e chamadas de função se misturam, porque o modelo pode chamar funções durante etapas ocultas de raciocínio
    Aí, mesmo que um invasor exfiltre dados, o resumo do raciocínio pode esconder isso do usuário
    Além disso, também não dá para saber se o modelo entrou em loop infinito durante o raciocínio e está desperdiçando tokens; o Gemini tem essa tendência, e isso já foi observado quando raciocínio oculto vazou
    Talvez eu pare de me importar quando os modelos virarem AGI e ficarem seguros contra prompt injection, mas até lá quero saber exatamente como o modelo está reagindo ao prompt e exatamente o que o agente está fazendo no meu lugar
    Leitura adicional: Fooling around with encrypted reasoning blobs
    https://blog.cryptographyengineering.com/2026/05/29/fooling-...

    • Eu não acho que chamadas de ferramenta possam acontecer dentro de um bloco de raciocínio ofuscado
      Para avaliar chamadas de função no lado do cliente, em algum momento esse fluxo de pensamento teria de ser descriptografado no cliente, e aí o propósito dessa ofuscação se perderia
      Se a ideia é que chamadas de função possam acontecer no servidor, então não há como impedir que o servidor faça isso e oculte, desde que você esteja usando uma API de raciocínio
    • Já pensei em sequestro da cadeia de raciocínio como um possível vetor de ataque, mas entendo que os principais fornecedores descartam todos os tokens de raciocínio entre turnos, então nunca vi uma implementação comprovada disso em modelos americanos
    • Este agente que eu fiz não executa no shell e só pode editar arquivos dentro do projeto
      Por enquanto ele só funciona em Rust: https://github.com/Kapperchino/agent-joe
    • Mesmo que o raciocínio fique oculto, as chamadas de ferramenta não ficam
      Senão, como o cliente executaria isso?
    • Se o bloco de pensamento não pode fazer chamadas de ferramenta, então não vejo claramente o risco de exfiltração de dados
  • Isso já é sabido há muito tempo, e as empresas nem estão exatamente tentando esconder
    Elas fazem isso para impedir que concorrentes treinem modelos com cadeia de pensamento (CoT)

    • Acho que isso já existia desde o Opus 4.6
      Lembro claramente dessa mudança em janeiro ou fevereiro, e o motivo declarado era evitar destilação
      O Sonnet não tem essa limitação
      O curioso é que, se você voltar ao estilo de dois anos atrás e colocar explicitamente um prompt de CoT, o prompt completo de pensamento volta a aparecer
      Então basta desligar totalmente o recurso de pensamento e, no prompt comum, incluir o pensamento assim:

      “Antes de responder, pense passo a passo. Por exemplo:

      O usuário está me pedindo para …
      Eu preciso pensar em blah blah. Primeiro devo foo the bar e depois fazer blah blah

      Resposta:”

      Aí pronto, tada.wav, o CoT volta a funcionar como na era do GPT-3

  • Eu não acho que blocos de raciocínio em cadeia de pensamento correspondam muito ao que humanos chamam de raciocínio
    Basta ver o “raciocínio difícil de ler” na seção 6.2.2 do system card do Fable/Mythos e as questões levantadas pelo artigo da Apple, “The illusion of thinking”
    Eu achava que escondiam os blocos de raciocínio porque os usuários ficariam surpresos ao ver o que realmente acontece por dentro
    Eu provavelmente também ficaria surpreso ao ver o que realmente acontece dentro da cabeça dos meus colegas

    • O ponto deste artigo não é que a etapa de “raciocínio” dos LLMs não seja igual ao raciocínio humano, e sim que a Anthropic esconde intencionalmente a saída de raciocínio do Claude para dificultar a destilação do modelo
    • Já perdi a conta de quantas vezes li cadeias de pensamento do DeepSeek ou do GLM e exclamei “mas o que diabos você está pensando?”, e no fim elas chegavam à resposta certa
      Por outro lado, às vezes havia ideias úteis ali dentro que não apareciam na resposta final
  • Há algum tempo deixei uma pequena nota de que o DeepSeek R1 produzia rastros de pensamento desse tipo
    “(Dimethyl(oxo)-lambda6-sulfa雰囲idine)methane donate a CH2rola group occurs in reaction, Practisingproduct transition vs adds this.to productmodule. Indeed"come tally said Frederick would have 10 +1 =11 carbons. So answer q Edina is11.”
    E então chegava à resposta “correta” para o problema de química
    Nesse caso, o rastro de pensamento pode parecer ao leitor uma string bastante sem sentido, e ainda não sei se isso é uma peculiaridade desse modelo ou uma propriedade mais geral dos LLMs
    Conversei com o autor sobre isso no passado, mas como o artigo sairia em algo como a NIPS, acabei esquecendo de fazer o acompanhamento; se alguém encontrar, seria bom compartilhar
    0: https://wiki.roshangeorge.dev/w/Blog/2025-10-12/Word_Magic#I...?
    1: Acho que no sentido de crença verdadeira

    • Sim, vários modelos pensam de um jeito parecido com jargão estranho
      Um exemplo do rastro de pensamento do Mythos jogando paciência está aqui: https://www.lesswrong.com/posts/wCSEpT3dTGz4N86Wi/even-illeg...

      “7♣-removal-IS-the-prerequisite-for-10♠/9♥!!)-⟹-OVERLAP-(ii)+(iv):-{6♠ J♦ 9♥ 2♣}-=-FOUR--—-UNLESS-7♣'s-seat-8♥-...-and-2♣-drains-only-at-crack-:-⟹-2♣-celled-+-9♥-celled-simultaneously-UNAVOIDABLE-in-t8-dig--—-BREAK:-9♥”

      Isso parece um estágio em que o modelo para de pensar em inglês e passa a algo um pouco mais próximo de neuralese no espaço vetorial interno
      Não é neuralese de verdade, porque ainda está sendo serializado em texto, mas está indo nessa direção
      Quando escrevo código, meu próprio processo interno também costuma ter muitos estágios intermediários difíceis de registrar em inglês, então até simpatizo um pouco com os modelos

    • Acho que isso pode ser só ruído de tokens vindo de uma implementação quebrada ou da quantização do modelo
      Já vi o modelo soltar esse tipo de besteira, e toda vez era bug do llama.cpp ou um .gguf corrompido

  • No HN a antropomorfização é um tabu, mas vale mencionar que há quem veja os humanos como fazendo racionalização a posteriori também
    https://www.patheos.com/blogs/tippling/2013/11/14/post-hoc-r...

    https://www.researchgate.net/publication/316045349_Post_Hoc_...

    • Pelo meu entendimento mais ingênuo, é quando fazemos ou dizemos algo e depois contamos para nós mesmos uma história sobre por que decidimos assim
      Pensamos de forma não verbal e depois verbalizamos retrospectivamente uma justificativa plausível
      Não sei se isso se aplica também à escrita discursiva
      Ao escrever, em geral usamos regras lógicas para orientar a direção da narrativa, então as heurísticas não verbais ainda devem atuar, mas sob restrições; por isso, provavelmente não é algo totalmente posterior
  • É amargo ver a Anthropic esconder seus próprios dados desse jeito enquanto suga todos os seus dados, e muita gente os entrega de bom grado
    Depois ela usa isso para construir seus produtos, ocupar o mercado e competir
    A Anthropic esconde seus tokens de raciocínio porque acredita que isso é seu fosso e daria vantagem a outros laboratórios
    Se realmente acredita que essa é sua vantagem, vai ter uma surpresa

    • Até onde sei, os produtos que a Anthropic faz são só Claude, Claude Code e Claude API, e todos são claramente produtos da própria Anthropic, não algo que você inventou
      Fico curioso sobre que produto exatamente você está dizendo que eles “sugaram”
    • Acho que não é tanto que as pessoas entregam de bom grado, mas que são fáceis de enganar e ingênuas
  • Então estão dizendo que o conteúdo de reasoning_summary é de fato um resumo?
    Vale notar que a OpenAI faz exatamente a mesma coisa, então não é nada tão surpreendente nem especialmente maligno

    • Não é maligno, mas é cheio de arrogância
  • Eles se esforçam tanto para esconder o pensamento, mas o Opus 4.8 começa a vazar o próprio pensamento depois de 100 mil a 200 mil tokens
    É realmente uma comédia

    • Só passei por isso algumas vezes, mas o resultado é realmente confuso
      Principalmente porque normalmente estou tentando fazer jailbreak por motivos de segurança
      Saem páginas e páginas de algo como “o usuário está pedindo algo relacionado a cibersegurança, e isso pode ser facilmente desviado para fins ofensivos, então preciso ter cuidado”, e no fim ele acaba me dando de bom grado o que eu queria