AIDive

Domamos a verbosidade do Opus 5, mas uma falha sobrou

Por AIDive · Publicado em

Agentes de códigoModelos de IA

600 upvotes de raiva: por que todo mundo diz que o Opus 5 é insuportável

Você pede ao Opus 5 uma correção de duas linhas e recebe uma tese de doutorado. No subreddit do Claude Code, uma thread chamada «Opus 5 is insufferable» passou de 600 upvotes e 178 comentários, com o autor acusando o modelo de falar uma língua inventada que ele chama de «Unintelligiblish». E o Reddit é o lugar educado: no X, um desenvolvedor postou apenas um print dos comentários de código que o Opus 5 gera e juntou 9.700 likes. Boris Cherny, criador do Claude Code, defendeu o modelo publicamente e levou a resposta mais votada, «this response is part of the problem», com 2.843 likes.

Onde Sinal
r/ClaudeCode, «Opus 5 is insufferable» 600+ upvotes, 178 comentários
X, print dos comentários de código do Opus 5 9.700 likes
X, resposta à defesa de Boris Cherny 2.843 likes

Enquanto as reclamações se acumulavam, a Anthropic publicou discretamente um guia de prompting dedicado ao Opus 5 que quase ninguém abriu. Então fizemos o teste que ninguém faz: reproduzir os comportamentos que deixam todo mundo louco, aplicar o guia linha por linha e medir a diferença nas mesmas tarefas.

O que o Opus 5 mudou de fato: thinking, contexto e o dial effort

Três mudanças explicam quase tudo que os desenvolvedores estão sentindo.

O thinking vem ligado por padrão: o modelo raciocina num bloco privado antes de cada resposta, e só dá para desligar em effort high ou abaixo. A janela de contexto vai para um milhão de tokens, como padrão e como máximo. E a terceira mudança é a que importa para as queixas de verbosidade: o effort — o parâmetro que decide quantos tokens o modelo gasta pensando, chamando ferramentas e escrevendo a resposta — vira o dial central, com cinco níveis e high como padrão.

Effort Comportamento
Low Agrupa as chamadas de ferramenta, sem preâmbulo, confirma em uma frase
High (padrão) Multiplica as chamadas, explica o plano antes de tocar em qualquer coisa, comenta as mudanças em detalhe
Extra high / Max Explora mais arquivos, blinda os casos de borda; o thinking não pode mais ser desligado

Se a segunda linha parece exatamente com as suas sessões, é porque você está no padrão desde o primeiro dia. O effort não é um botão de verbosidade — e é esse mal-entendido que enche as threads do Reddit.

Mais um ponto de contexto: a Anthropic declara abertamente que o Opus 5 escreve respostas mais longas que os Opus anteriores e termina as tarefas por completo em vez de deixar placeholders. Parte do que você vive como bug é uma decisão de design documentada — e decisão documentada dá para reconfigurar.

Os quatro comportamentos de raiva, reproduzidos sob demanda

Não precisamos caçar nenhum deles.

Verbosidade. Pedimos ao Opus 5 para explicar uma função — uma pergunta cuja resposta cabe em duas frases — e veio com seções, subtítulos e avisos, no tom de um relatório de auditoria. O comentário mais votado da thread descreve exatamente isso: frases de anúncio grandiosas do tipo «acabamos de descobrir algo que muda tudo», seguidas de dez minutos de comandos de shell.

Over-engineering. Um usuário conta o caso de um arquivo de decisões com 7.000 linhas; ao pedir uma limpeza, o Opus 5 cortou 1.200 linhas e depois adicionou 600 novas para documentar as remoções. Reproduzimos o padrão numa feature pequena: nossa instância adicionou uma etapa de verificação que ninguém pediu e escreveu docstrings de vinte linhas em cima de funções de cinco.

Scope creep. Você pede X, o modelo decide que o assunto real é Y e explica por quê em oito parágrafos.

Má notícia enterrada. Um comentarista descreve um muro de texto explicando que deu tudo certo, com um asterisco a três quartos do caminho admitindo que algo quebrou. Vivemos isso também: nossa instância anunciou uma migração bem-sucedida, e a linha admitindo que os testes de integração ainda precisavam de conserto estava no sétimo parágrafo.

A raiva é real e se reproduz sob demanda. Falta saber se dá para ajustar.

O guia oficial de domesticação que quase ninguém abriu

O guia se chama Prompting Claude Opus 5, está na documentação da Anthropic e responde à thread do Reddit ponto a ponto. A frase mais importante cabe numa linha: o effort controla quanto o modelo pensa, não quanto ele fala. Baixar o effort reduz o volume de raciocínio, mas não encurta de forma confiável a resposta visível — então todo mundo que baixa o effort para calar o modelo está puxando a alavanca errada.

Para o tamanho, o guia é explícito: peça em palavras claras, com uma instrução de concisão no system prompt. E ele diz algo que ninguém espera da Anthropic: você precisa remover instruções dos seus prompts. Se o seu arquivo de instruções diz «verifique seu trabalho antes de responder», apague a linha: o Opus 5 já se verifica sozinho, e linhas assim disparam passagens de verificação extras, ou seja, tokens queimados à toa. Boris Cherny resumiu numa linha: o Opus 5 precisa de menos prompting, não de mais.

O resto do guia cobre as outras queixas metodicamente — uma seção sobre a narração do agente, uma sobre o tamanho dos arquivos gerados, uma sobre o enquadramento de escopo, uma sobre subagents, uma sobre autocorreção — e cada seção entrega o bloco de prompt exato para copiar, não um conselho vago.

O effort sweep: mesma tarefa, cinco níveis, medidos

Um effort sweep é rodar a mesma tarefa em cada nível de effort e comparar tokens, tempo e qualidade. O guia recomenda refazer um se você trouxe as configurações de um modelo antigo. Na prática são quatro runs e uma comparação.

No Claude Code o effort é definido de três formas: um comando dentro da sessão, uma flag na inicialização ou uma chave no seu arquivo de settings — essa última dá um padrão diferente por projeto quando seus repos não têm as mesmas necessidades.

Rodamos a mesma correção de bug em low, medium, high e extra high, em quatro sessões limpas.

Nível Resultado na nossa correção de referência
Low / Medium Correção equivalente por uma fração dos tokens do high
High O padrão; nenhum ganho de qualidade num bug de uma linha
Extra high Mais arquivos explorados, casos de borda blindados — útil num refactor pesado, exagero aqui

Bate com o que o guia anuncia quando manda usar os níveis baixos à vontade como principal controle de custo. Um detalhe de API antes de você automatizar isso: em extra high e max o thinking não pode mais ser desligado, e a requisição retorna erro 400 se você tentar.

O uso mais rentável do sweep é o code review. A Anthropic afirma que a precisão de review do Opus 5 se mantém nos níveis baixos de effort, o que permite uma passada rápida e barata no commit e uma passada profunda depois. Testamos num dos nossos diffs: a passada low achou os mesmos dois bugs reais que a extra high, por cerca de um quinto dos tokens.

Então o primeiro ajuste que muda a sua fatura é escolher o effort por tipo de tarefa em vez de deixar tudo no padrão — low ou medium para o dia a dia e os reviews, extra high para os trabalhos grandes. A verbosidade, essa, não mudou uma palavra.

Onde mora de verdade o interruptor da verbosidade

Como o effort não encurta as respostas, o tamanho é definido por instrução — e onde você põe essa instrução importa tanto quanto o que ela diz. Outro usuário do subreddit do Claude Code passou dias testando isso, e a primeira conclusão dele bate com a nossa: o output style Concise embutido corta a saída em apenas 6 por cento. O que funcionou foi colocar uma instrução de concisão de verdade no slot output style e em nenhum outro lugar — a mesma frase como hook, ou como regra no arquivo de instruções, não mudou nada.

Um output style é o slot do Claude Code que define como o assistente escreve, em oposição ao que ele sabe. Construímos o nosso a partir da redação do guia oficial: respostas curtas e focadas, avisos reduzidos, um resumo de alto nível a menos que os detalhes sejam pedidos.

Onde mora a regra de concisão Efeito no tamanho
Preset Concise embutido ~6 por cento mais curto
Hook, ou regra no arquivo de instruções Nenhuma mudança mensurável
Slot output style Relatório de cinco seções → um parágrafo e uma lista de arquivos

O guia acrescenta duas instruções irmãs que copiamos como estão: uma para a narração do agente, que define quando o modelo pode comentar o que está fazendo, e outra para os arquivos escritos em disco, porque os relatórios e Markdowns gerados também incham.

Para as suas regras que nunca disparam, o mesmo post do Reddit dá o critério: uma regra precisa nomear um momento reconhecível e uma ação concreta. «Mantenha o changelog em dia» nunca dispara. «Quando você modificar um arquivo da pasta de código-fonte, adicione uma linha ao changelog no mesmo commit», dispara.

Sobra um cacoete que esses blocos não cobrem: a autocorreção narrada. O Opus 5 adora anunciar que está corrigindo uma frase anterior mesmo quando a correção não muda nada para você, e o guia tem uma instrução dedicada: só sinalizar uma correção se o erro mudaria o seu código ou as suas decisões, e corrigir o resto em silêncio. Desde que essa linha entrou na nossa config, os mea-culpa falsos sumiram.

A verbosidade é domada, só que não com um interruptor: com quatro blocos de prompt colocados nos slots certos.

Parar o over-engineering apagando seus próprios prompts

A queixa número dois se resolve tirando texto, não adicionando. Começamos removendo todo pedido de verificação dos nossos prompts, exatamente como o guia manda, e o loop de verificação extra sumiu junto.

Depois, para o escopo, o guia traz uma instrução de enquadramento que colamos como está: entregue o que foi pedido no escopo pretendido, sinalize em uma frase se existe uma abordagem melhor e continue na tarefa pedida em vez de transformá-la sem avisar. Na feature que tinha disparado nossas docstrings de vinte linhas, repetimos exatamente o mesmo pedido com esse enquadramento: o diff caiu de nove arquivos tocados para três, sem etapa de verificação parasita.

Dois ajustes da mesma família merecem uma linha cada. Para code review, pare de escrever «reporte só os problemas sérios»: o Opus 5 leva ao pé da letra e sub-reporta, então peça tudo e filtre numa segunda passada. E se o modelo dispara subagents por qualquer motivo, isso também está documentado: o Opus 5 delega com mais facilidade que os antecessores, e cada subagent multiplica o custo. O guia dá uma instrução que reserva a delegação para trabalhos realmente paralelos, e desde a versão 2.1.217 o Claude Code expõe duas variáveis de ambiente que limitam de forma dura a profundidade de spawn e o número de agentes simultâneos.

Limite Padrão
Profundidade de spawn de subagents 3 níveis
Agentes simultâneos 20

Esses padrões explicam como uma sessão consegue sair tanto do controle sem nunca pedir sua opinião. O over-engineering não é destino do modelo: são em boa parte os seus prompts antigos se virando contra você.

O que nenhum bloco de prompt conserta

O limite é duro: o guia conserta a forma do que o Opus 5 diz, não o que ele decide fazer. Parte dos desabafos da thread descreve outra coisa que não verbosidade: um modelo que reconhece uma restrição explícita, promete respeitá-la e faz o contrário já no primeiro turno. Essa queixa não tem seção no guia, e nenhum dos nossos blocos de prompt a fez desaparecer. Vimos uma vez nos nossos testes: uma restrição explícita sobre uma API para não tocar, reconhecida na resposta e furada dois turnos depois. Uma vez numa semana de sessões está longe do naufrágio que alguns desabafos descrevem, mas é o tipo de erro que nenhuma configuração desculpa quando cai em código de produção.

Tem também um custo de entrada. O sweep queima tokens de verdade: nossas quatro sessões de teste consumiram o equivalente a um dia cheio de trabalho num plano de 20 dólares, e um usuário da thread relata que o maior plano max mal sobrevive a um fim de semana em effort high. E nenhuma dessas configurações é portável — o output style, o enquadramento de escopo e os limites de subagents vivem na sua config, então cada máquina e cada projeto precisa ser ajustado de novo.

Se a sua dor é o barulho, o guia resolve. Se a sua dor é um modelo que faz o que quer, ele não vai te salvar — e o comentário mais votado da thread depois do desabafo em si continua sendo «volte para o Opus anterior».

Domar ou fugir: nosso veredito

Vinte minutos de configuração bastaram para nós: o effort escolhido por tipo de tarefa em vez do padrão, uma instrução de concisão no slot output style, o enquadramento de escopo do guia no system prompt e os pedidos de verificação apagados dos nossos arquivos antigos.

Métrica na nossa tarefa de referência Antes Depois
Tamanho da resposta Relatório de cinco seções ~5× menor, um parágrafo + lista de arquivos
Tamanho do diff 9 arquivos tocados 3 arquivos tocados
Custo de code review Passada extra high ~1/5 dos tokens, os mesmos dois bugs reais

Sem trocar de modelo nem de plano. Se as suas queixas são verbosidade e over-engineering, faça esse ajuste antes de trocar de modelo — está tudo documentado, e a diferença aparece já no primeiro diff. Se o seu problema é um modelo que ignora suas restrições desde o primeiro turno, nenhum prompt do guia conserta isso: mantenha as tarefas sensíveis num modelo que te obedece e volte para testar o Opus 5 na próxima atualização.

Fontes

Perguntas frequentes

Por que o Opus 5 é tão verboso?
A Anthropic documenta que o Opus 5 escreve respostas mais longas que os Opus anteriores e termina as tarefas por completo em vez de deixar placeholders. O thinking também vem ligado por padrão e o parâmetro effort vem em high, o que faz o modelo explicar o plano e comentar as mudanças em detalhe.
Baixar o effort deixa o Opus 5 menos verboso?
Não. O guia oficial afirma que o effort controla quanto o modelo pensa, não quanto ele fala. No nosso sweep, cair de high para low reduziu bastante os tokens, mas não encurtou a resposta visível em uma única palavra.
Como deixar o Opus 5 realmente conciso?
Coloque uma instrução de concisão de verdade no slot output style do Claude Code — respostas curtas e focadas, avisos reduzidos, um resumo de alto nível a menos que os detalhes sejam pedidos. A mesma frase num hook ou no arquivo de instruções não muda nada, e o preset Concise embutido corta a saída em apenas 6 por cento.
O que é um effort sweep e vale a pena?
É rodar a mesma tarefa em cada nível de effort e comparar tokens, tempo e qualidade — quatro runs e uma comparação. Vale pelo custo: low e medium produziram uma correção de bug equivalente por uma fração dos tokens do high, e um code review em low achou os mesmos dois bugs reais que o extra high por cerca de um quinto do preço.
Como parar o over-engineering do Opus 5?
Apagando instruções em vez de acrescentar. Remova todo pedido de verificação dos seus prompts, cole o enquadramento de escopo do guia para o modelo entregar o que foi pedido no escopo pretendido e limite a delegação com as variáveis de ambiente do Claude Code para profundidade e concorrência de subagents (padrões: 3 níveis, 20 agentes).
Vale a pena abandonar o Opus 5?
Se as suas queixas são verbosidade e over-engineering, ajuste primeiro: as configurações documentadas resolveram as duas coisas para nós sem trocar de modelo nem de plano. Se o seu problema é um modelo que ignora uma restrição explícita já no primeiro turno, nenhum prompt do guia conserta isso — mantenha as tarefas sensíveis num modelo que te obedece.

Vídeos relacionados