Ultimamente eu olho as redes sociais e vejo um monte de gente falando que "ACABOU PARA OS DEVS CLAUDE VAI SUBSTITUIR TODOS", então eu paguei pelo Claude Pro para ver se o hype de "ACABOU PARA OS DEVS" era real. Pois é melhor você pagar para ver e tirar a incerteza da sua cabeça, do que viver ansioso pensando "e se eles estão falando a verdade...?"

Fazem dois dias que eu cheguei no limite semanal do Claude Code, e a conclusão que eu cheguei é que o Claude é muito bom para:

  • Problemas triviais
  • Problemas não triviais, mas que você tem conhecimento sobre a área

Mas onde está o tão aclamado momento que acabou para o betinha e que o Claude iria substituir todos? Me prometeram que era quase AGI!

Para contextualizar:

  1. Eu já uso LLMs para me ajudar em desenvolvimento, como também eu uso bastante o Claude 4.5 Opus fora do Claude Code (pelo AI Chat do IntelliJ IDEA)
  2. Não é a primeira vez que eu uso "agentic coding", pois eu já tinha usado pela Junie da JetBrains
  3. Eu sou desenvolvedor desde 2014, as linguagens que eu mais uso são Java e Kotlin (principalmente Kotlin)
  4. Eu amo programar, até se eu fosse rico eu ainda trabalharia com programação, MAS eu admito que tem coisas que dá preguiça e que ter um "junior" para programar ajudaria

Eu fiz o Claude Code passar por "provas de fogo", ou seja:

  • Para todos os testes eu usei o Opus 4.5 pois ele é o "state of the art" (Sim, o Opus 4.5 é mais caro e é por isso que acabei gastando todo o meu plano rapidamente)
  • Eu testei coisas propositalmente difíceis

Eu não testei se ele é bom em fazer "boilerplate", ou fazer coisas que já existem no projeto que está sendo editado, pois boilerplate muita LLM já faz. O propósito é ver se o Claude Code substitui um developer e, para isso, tem que testar coisas não triviais.

A primeira coisa que eu pedi para ele fazer é um aplicativo em Kotlin que tira uma foto da tela e permite você clicar em uma janela para fazer um crop automático dela. Se você já usou o ShareX antes, você deve saber do que eu estou falando.

Um app de screenshot é algo simples. A parte não trivial é que eu uso KDE Plasma (Wayland), então eu queira ver como ele vai fazer que detecte o tamanho dos meus monitores, como ele vai detectar a posição das janelas e como ele vai tirar a screenshot em si?

E enquanto ele fez um código que compilava, tinha problemas na lógica do código...

O primeiro problema que aconteceu é que o Claude parseava o output do "kscreen-doctor", mas ele não removia as cores ANSI que tinha no output dele, então o RegEx que ele fez falhava

Uma pessoa disse que eu não ter falado como ele poderia fazer essas coisas é "induzir ao erro"...

...mas se eu preciso pesquisar sobre como solucionar estes problemas acaba ficando mais fácil eu mesmo programar, né?

Após eu debuggar o problema e ver os parâmetros do comando, eu disse para o Claude que ele possui um output em JSON, e para ele alterar o código para usar ele + kotlinx.serialization para deserializar o JSON

E aí o programa finalmente iniciou, mas ainda não estava funcionando

O problema agora era que, no RegEx que o Claude fez para parsear o "kdotool" falhava se a posição ou o tamanho da janela possuíam decimais ao invés de serem valores inteiros

Ele fez incorretamente pois as duas janelas que ele verificou não possuiam decimais no output

Novamente, isso pode ser "induzir ao erro", mas é o que eu falei antes: Eu estou analisando para ver se o hype de "CLAUDE VAI ACABAR COM OS BETINHAS" é real

Se eu preciso analisar para depois passar para o Claude só para ele fazer certo, então não vai acabar com os devs

Um dev teria olhado que o comando mostra as informações do plasmashell, e teria testado com outras janelas que estão abertas também, como também teria lembrado dessa informação para saber que precisa filtrar o processo do plasmashell

Desta vez eu decidi arrumar o problema sozinho... e semi funcionou

  1. Click and drag não funcionava
  2. Faltava filtrar o plasmashell nas fotos
  3. Movimentar o cursor com as setinhas funcionavam, mas como eu uso 1.5x scale no KDE Plasma, a posição da foto croppeada ficava errada

E aí ficou neste ciclo de "tem problemas e vou pedir para arrumar" até que eu cheguei no limite da sessão do Claude

do tempo que eu assinei o Claude Pro, até o tempo que acabou o limite da minha sessão, foram duas horas

Então eu mesmo botei a mão na massa

Inspirado no código que o Claude estava fazendo, eu decidi fazer um script eu mesmo do KWin que exportava as informações da janela para o journalctl (gambiarra) e aí o programa parseava o journalctl para pegar e usar

Após fazer o aplicativo funcionar como eu imaginava, eu pedi para o Claude implementar novas funcionalidades, inspiradas no ShareX

  1. Poder rabiscar na foto
  2. Poder colocar um texto na foto
  3. Poder colocar imagens na foto

e ele conseguiu... e atrevo a dizer que ficou bom

Nestas features, eu decidi criar uma nova conversa para cada feature sendo implementada (que é normalmente como eu uso AI pelo AI Chat da JetBrains), e assim eu consegui bem mais "mileage" do Claude

Ainda acabou rápido os tokens, mas foi mais lento do que da primeira vez

Mas ver o código que ele estava gerando fazia eu me sentir assim, teve até partes do código onde ele fez duas funções idênticas que faziam a mesma coisa

Então no final o código funciona, mas é "slop"

E você deve imaginar, "qual é o problema de slop se ele funciona?"

Tem gente que não liga se o código está uma bagunça, afinal, quem vai cuidar do código é a IA e não você

Mas você tem dinheiro infinito para ficar promptando uma IA para ficar corrigindo os problemas do código?

E se você não entende o código, como você vai corrigir?

Após ter aprendido como pegar a posição das janelas no meu projetinho, eu decidi pegar o código do Spectacle (ferramenta de screenshot do Plasma) e falei para o Claude implementar a feature de "clicar na janela para fazer crop" que eu fiz no meu projeto, usando a mesma gambiarra

E ele conseguiu, e foi one shot

Como eu não entendo sobre C++, eu não consigo julgar se o código que fez é bom

Só sei que, se algum dia o KDE for implementar essa funcionalidade, o que eles fariam é implementar uma API privilegiada por D-Bus para pegar a posição das janelas

Eu também pedi para o Claude corrigir um patch pessoal que eu fiz no Wine que, enquanto o patch original funcionava em builds i386, ele não funcionava se você habilitava WoW64, pois não tinha acesso ao getenv no WoW64

Novamente, ele também fez a correção em one-shot

Será que o Claude me abençoou com o tal AGI que tanto me prometeram?

Ou será que ele só conseguiu pois eram coisas relativamente simples (uma dei grande parte de como deveria ser feito, outro que era só substituir algo em um patch)

Então eu decidi testar com mais coisas não triviais...

Para ir direto ao ponto: Eu tentei usar o Claude para tentar corrigir o Wine para certos aplicativos rodarem

...a realidade é que foi um DESASTRE

Grande parte das coisas que o Claude fez não levavam a nada, sugeria alucinações que ele tirou do rabo, ou sugeria links para eu ler onde "olha o que fizeram e que deu certo" que era alguém falando com todas as palavras possíveis que o app não estava funcionando

Neste caso foi mais produtivo eu mesmo debugar do meu jeito do que depender do Claude...

...e no final deu certo, tanto que as postagens recentes que eu fiz do Vegas rodando no Wine foram frutos das minhas pesquisas (felizmente nenhuma delas precisaram de patches no Wine)

Mas isso é o caso que eu falei no começo do post: É algo não trivial, que eu não tenho conhecimento na área, logo você acaba se frustrando DEMAIS com isso

E se você depende só de LLMs para aprender, como você vai aprender coisas novas que a LLM não sabe?

A minha opinião é que essas ferramentas (Claude Code, OpenCode, LLMs em geral) são MUITO boas, mas elas são FERRAMENTAS, e não SUBSTITUTOS

Quem acredita que as LLMs SOTA de hoje substituem devs, são pessoas mentirosas que sabem NADA sobre desenvolvimento de software

...ou essas pessoas tem dinheiro infinito e não ligam de um macaco ficar batendo em teclas aleatórias infinitas vezes, pois alguma hora o macaco vai acertar e vai fazer o app que ela quer

foto abaixo: claude code tentando corrigir um problema que ele não sabe resolver

E para finalizar: Quem faz fearmongering de "se você não usa AI vai ficar para trás" e que você precisa ficar "sabendo promptar a AI" e que "você não usou o MCP xyzabc com o skills abcdef por isso você é BURRO" são as pessoas mais ridículas que eu já vi

Se o seu argumento é que AI hoje em dia substitui um dev, você está mentindo

Se o seu argumento é que AI vai progredir o suficiente para substituir um dev, então quando chegar lá aí a gente aprende

E se algum dia chegar em AGI, aí a gente tem problemas maiores para resolver

Enquanto o dia das LLMs substituírem devs não chega: Aprenda a programar e use as LLMs não para te substituir, e sim para melhorar as suas habilidades e fazer o boilerplate e as coisas que você tem preguiça de fazer

E se esse dia chegar, bem, pelo ou menos foi divertido