Watermark não era para mudar nada, mas mudou

watermark em modelo de linguagem sempre foi vendido como camada invisível, algo que marca a procedência sem tocar na qualidade. Na prática de quem opera agente, essa promessa quebrou. O estudo sobre a taxa de proveniência mostra que o SynthID-Text, a técnica do Google DeepMind que a Anthropic escolheu para os futuros modelos Claude, não só carimba o texto. Ele altera o processo de amostragem token a token e isso vaza para o comportamento. Recusa de pedido sensível muda, escolha de ferramenta muda, argumento de função muda. Para quem roda agente em produção, isso não é detalhe acadêmico. É risco operacional direto no caminho entre o raciocínio e a ação.

Se você constrói com LLM via API, já sentiu esse tipo de instabilidade. Um dia o agente chama a função certa com os parâmetros certos, no outro ele inventa um caminho parecido, mas errado. Agora imagine esse ruído vindo não do prompt, não da temperatura, não da sua orquestração, mas da camada de marca d'água embutida no próprio modelo. É isso que os pesquisadores chamam de sampling drift. Os pesos são os mesmos, o prompt é o mesmo, mas a seleção de tokens não é mais a mesma. E em agente, token diferente não é só estilo diferente. É ação diferente.

O fato

A Anthropic anunciou que futuros modelos Claude vão sair com marca d'água invisível na saída e depois confirmou que a base é o SynthID-Text. A motivação imediata é regulatória. O Artigo 50 do EU AI Act exige que texto sintético seja marcado em formato legível por máquina, de forma efetiva, interoperável e robusta. Ou seja, não é experimento de laboratório. É requisito para operar na Europa e tende a virar padrão em API comercial. A empresa afirma que a marcação acontece no nível do modelo e vale para acesso via Claude Platform API e provedores de nuvem. Se você usa Claude como cérebro do seu agente, você vai receber saída com watermark mesmo que seu app não tenha pedido isso.

O ponto novo é a medição de impacto. Os pesquisadores testaram recusa de segurança e chamada de ferramentas com e sem watermark, usando a configuração não distorciva do SynthID. Essa configuração preserva a distribuição original em média, considerando todo o sorteio aleatório da marca. Só que produção não roda em média. Roda com uma chave fixa por um período. E com chave fixa, a geração muda. O efeito é dependente de modelo e de chave, e aparece nos dois lugares mais sensíveis para agentes. Houve mudança em quando o modelo recusa e em qual ferramenta ele chama, com quais argumentos. O agregado geral às vezes esconde o problema porque erros em direções opostas se cancelam, por isso eles mediram também o desacordo pareado, caso a caso.

Como funciona na visão de quem opera

Pense em arquitetura simples. Seu agente manda prompt para o modelo, recebe JSON com tool name e argumentos, executa, volta o resultado para o modelo. O SynthID-Text entra bem no meio desse loop, na amostragem. Em vez de amostrar direto dos logits, ele roda uma espécie de torneio entre candidatos a token usando uma chave pseudoaleatória. Em texto corrido, isso troca um sinônimo por outro e ninguém percebe. Em saída estruturada, a história é outra. Chaves, colchetes e nomes de função são altamente previsíveis, então quase não mudam. Já valores como query de busca, número, path de arquivo, e-mail de destino ou código de transação vivem em região de alta incerteza. É exatamente ali que o torneio tem mais chance de trocar o token vencedor.

Em termos de API, custo e latência, a expectativa é que o overhead seja pequeno, porque o torneio é computação leve perto do forward do transformer. O problema não é latência, é determinismo comportamental. A garantia de não distorção vale na esperança matemática sobre a aleatoriedade da marca, não para a sua chave específica de hoje. Na prática, isso funciona como um shift sutil de temperatura ou de seed que você não controla. Você continua pagando o mesmo preço por token, com a mesma latência, mas ganha uma fonte extra de variância. Para chat, variância vira estilo. Para agente com acesso a e-mail, banco de dados, terminal ou pagamento, variância vira execução errada. E quando recusa de segurança também oscila, um prompt injection que antes era bloqueado pode passar e ainda ganhar poder de ação via ferramenta.

Por que JSON sofre mais que prosa

Quem já debugou agente sabe que o modelo raramente erra a estrutura, ele erra o conteúdo do campo. O estudo reforça essa intuição. A amostragem por torneio mexe pouco onde a probabilidade é concentrada e mexe muito onde há empate técnico entre tokens. É por isso que um teste de qualidade com quase vinte milhões de respostas pode dizer que não houve degradação perceptível, enquanto um teste de agente acusa divergência em ferramenta. São métricas diferentes. Uma mede fluência média, a outra mede decisão executável. Como operador, aprendi a desconfiar de benchmark médio quando meu sistema toma decisão discreta. Se 2 por cento das chamadas trocam o destinatário ou o valor, a média continua bonita e a produção quebra.

O que isso muda na prática

Quem ganha com watermark obrigatório são plataformas, auditores e reguladores. Fica mais fácil provar procedência, filtrar spam sintético e responder a incidente. Quem perde, no curto prazo, é quem opera agente autônomo em cima de modelo de terceiros. Você herda uma camada que não pediu, não configurou e não consegue desligar, mas que afeta recusa, tool calling e reprodutibilidade. Time que vende automação com SLA vai sentir primeiro, porque o erro não é óbvio no log. O trace parece normal, o raciocínio parece coerente, só o argumento final veio um token diferente e o efeito colateral foi real.

O ajuste imediato é tratar watermark como variável de ambiente, não como detalhe invisível. Você precisa de pelo menos uma ação prática agora para não operar no escuro.

  • monte uma suíte de regressão pareada com 50 a 100 tarefas críticas do seu agente e rode a mesma tarefa com e sem marca, comparando não só acerto final mas divergência token a token em nome de ferramenta e argumentos
  • versione e registre a chave e a versão do modelo quando houver exposição via API, porque o drift é dependente de chave e você vai precisar reproduzir incidente
  • trave validação estrita de schema e lista de permissões de ferramentas, com verificação de argumentos sensíveis antes de executar, para que variação lexical não vire ação destrutiva
  • reavalie seus testes de recusa e prompt injection depois de migrar para modelo com watermark, porque a fronteira de segurança pode ter se movido sem mudar seu prompt

Na minha operação, eu colocaria esse teste no CI do agente. Cada troca de modelo ou anúncio de marcação nova roda a suíte pareada e gera um relatório de desacordo, não só de acurácia. Se o net score ficar estável mas o desacordo pareado passar de 3 a 5 por cento em tarefas com efeito colateral, eu bloqueio o rollout. É mais barato segurar deploy do que explicar para cliente por que o agente mandou dado para o lugar errado com log limpo.

Isso escala ou só move o gargalo

Aqui fica a tensão real. A ideia de não distorcivo soa reconfortante, mas ela resolve o problema errado para agentes. Preservar distribuição em expectativa é ótimo para linguística, péssimo para quem precisa de ação idempotente. Produção vive de cauda, não de média. Se a marca troca a decisão em poucos por cento dos casos, e esses casos são justamente os de alta incerteza onde o agente mais precisa de precisão, a taxa de proveniência vira imposto pago em confiabilidade. E o pior é que esse imposto é invisível em dashboard agregado, porque acertos e erros se anulam na média.

Também há um dilema de segurança que ninguém quer admitir. Watermark foi feito para ajudar na procedência, mas se ele enfraquece recusa em algumas chaves e o modelo tem ferramentas, você aumentou a superfície de prompt injection sem mudar uma linha do seu código. Resolve rastreabilidade e cria fragilidade executável. Isso escala para milhares de agentes? Provavelmente sim como requisito legal, mas o custo vai para o desenvolvedor, que terá de colocar guardrails, validadores e revisão humana onde antes o próprio modelo segurava. Não é que watermark seja inútil. É que ele transfere risco do provedor para o operador, e esse custo ainda não aparece na fatura da API.

Conclusão

Marca d'água em Claude via SynthID não é só carimbo, é mudança no sorteio que decide o que o agente faz. Se você opera agente, trate isso como mudança de comportamento e teste como tal. Afinal, quantas das suas automações hoje sobreviveriam se 1 em cada 50 decisões de ferramenta mudasse sem aviso?