← Voltar ao Blog

Dunning-Kruger com Claude Code: 4 mecanismos que aprofundam o vale (e não amenizam)

A narrativa dominante sobre IA na programação diz mais ou menos isto: “com Claude Code, curva de aprendizado achata, iniciante vira intermediário em semanas, o vale do Dunning-Kruger some”. Soa bem em thread do LinkedIn. Não é o que acontece com a maioria das pessoas que abre o editor toda manhã com um agente do lado.

O efeito Dunning-Kruger não some com IA. Muda de forma. O pico do iniciante fica mais alto, porque o agente entrega código que compila e passa em teste antes da pessoa entender o que foi escrito. E o vale do intermediário fica mais fundo, porque o dia em que a produção quebra chega com um contexto que o dono do commit nem tem na cabeça.

Este texto é uma leitura do capítulo 7 do livro Manual completo dos truques psicológicos para engenheiros, aplicada ao dia a dia com Claude Code. Quatro mecanismos concretos, o que a pesquisa recente diz de fato (e o que não diz), e as duas contramedidas que sobrevivem quando o entusiasmo passa.

O efeito Dunning-Kruger em uma frase

Dunning e Kruger publicaram o estudo original em 1999, na Universidade Cornell. A ideia central: quem tem capacidade baixa em uma área tende a superestimar a própria capacidade; quem tem capacidade alta tende a subestimar a própria capacidade. A explicação psicológica proposta é a mesma para os dois lados — a pessoa não consegue avaliar bem porque falta o próprio critério de avaliação.

Na engenharia, o padrão aparece em três estágios que qualquer sênior reconhece de longe:

  1. Excesso de confiança do iniciante. Termina o tutorial de Python e sente que “manja de Python”. Não sabe o que é GIL, nunca precisou desenhar um retry idempotente, nunca fez rollback de migration em produção às 22h. Como não viu o mapa inteiro do que não sabe, superestima o que sabe.
  2. Vale do intermediário. À medida que aprende, a fronteira do próprio conhecimento aparece. Quanto mais estuda, mais cresce a sensação de “quanta coisa eu não sei”. A confiança cai. Muita gente troca de área nesse ponto, achando que “não serve para isso”.
  3. Subestimação do experiente. Depois de anos, o que era difícil vira automático. O sênior pensa “isso qualquer um faz” — e não percebe que “qualquer um” ali significa “qualquer um com 8 anos de repetição consciente”.

Este é o mapa clássico. Agora vamos ao que o Claude Code faz com ele.

Mecanismo 1: o pico do iniciante fica mais alto

O tutorial de Python leva umas 20 horas. Depois disso, o iniciante sente que “sabe Python”. Já era exagero antes; virou paródia agora.

Com um agente no editor, a mesma pessoa em 20 minutos escreve um servidor Flask, adiciona autenticação com JWT, coloca um Dockerfile, sobe no Cloud Run. Tudo funciona. O aluno olha para o próprio setup e conclui algo que do ponto de vista do resultado é verdade: ela consegue entregar um sistema que a semana passada ainda estava fora do alcance.

O que não mudou é o mapa do que ela não sabe. PyJWT tem uma pegadinha conhecida com algorithm=None que passou anos aparecendo em CVE. O Dockerfile do agente muitas vezes sobe em root e ignora a camada de cache do pip. O deploy no Cloud Run funciona enquanto a resposta média cabe em 512 MB, mas o percentil 99 não cabe. Nenhuma dessas coisas encosta no dia 1. Encosta no dia 60, quando a base tem 300 usuários e a primeira reclamação chega.

O que mudou: o pico do iniciante ficou mais alto porque o output subiu antes do repertório subir. Antes, o iniciante tinha 20 horas de tutorial e um projetinho toy. Hoje, o iniciante tem 20 horas de tutorial e um sistema em produção. A distância entre “o que a pessoa entrega” e “o que a pessoa entende” cresceu muito. E entender é a régua que o Dunning-Kruger mede.

Mecanismo 2: o feedback que corrigia o pico fica mais tarde

O mecanismo que tira o iniciante do pico é o feedback duro do código quebrando. Você achou que sabia; o servidor caiu; você entendeu que não sabia. O ciclo é curto: código, quebra, aprendizado.

Com um agente, o ciclo entre “escrever” e “quebrar” fica mais longo. Não porque o código quebre menos — os relatórios do GitHub Copilot Metrics e as análises da METR em 2025 mostram que a taxa de bug por PR não caiu significativamente para dev experiente. Fica mais longo porque o dev não lê a saída na mesma profundidade. Você aprova um bloco que o agente escreveu em 10 segundos, o CI passa, o PR merga. Semanas depois, no dia em que um usuário de outra timezone dispara uma edge case, o bug aparece — e o autor do PR já esqueceu o contexto.

Escrevi sobre isso em Confiei que a IA me deixava mais rápido — os dados dizem que fiquei mais lento. O RCT da METR mostrou que devs experientes em código familiar ficaram 19% mais lentos com ferramentas de IA, e — o dado que dói mais — mesmo depois de terminar o experimento, os participantes ainda acreditavam ter ficado 20% mais rápidos. A percepção não colou na realidade nem depois de vivê-la.

Para o iniciante, o efeito é ainda mais forte, mas ao contrário: como ele não tem repertório para desconfiar, o dia em que o vale chega vem sob a forma de um incidente sério, não de um pytest vermelho. Aprendi o meu por conta em as três horas em que o contexto apodreceu com Claude Code e depois em postmortem de agente 24 horas — a hora em que o feedback chega tende a coincidir com a hora em que o custo já é alto.

Mecanismo 3: a autoridade textual mascara o “eu não sei”

Um sênior humano, quando fica em dúvida sobre um trecho, diz “estou em dúvida”. A frase carrega o próprio grau de confiança. O leitor cala e pergunta.

Um LLM não faz isso por padrão. Ele produz texto formatado, com aparência de convicção, com comentário // concurrent-safe sobre um trecho que decididamente não é concurrent-safe. Não é maldade. É que o modelo foi treinado para gerar texto que passa em plausibilidade, e “estou em dúvida” é um output menos plausível do que uma frase declarativa.

O viés de autoridade explica por que essa saída convence. Milgram mostrou nos anos 60 que aceitamos afirmações sem cheque se elas vierem em tom autoritativo. A pesquisa da Georgetown CSET (2024) sobre desenvolvedores usando IA mostra o mesmo fenômeno em código: a taxa de aceitação sem verificação sobe com a pressão de tempo, justamente quando a verificação mais importa.

O que isso faz com a curva de Dunning-Kruger é específico: o iniciante recebe avaliação enviesada positivamente do próprio código. O agente diz “seu código está correto”. Não está. Mas na cabeça do iniciante, o feedback do agente vira parte da avaliação do próprio nível. É como colocar um espelho torto no vestiário. A pessoa acha que emagreceu. O peso não mudou.

Mecanismo 4: a síndrome do impostor fica exposta na outra direção

O primeiro mecanismo empurra o iniciante mais para cima do pico. Os três primeiros somados fazem outra coisa com o experiente: aprofundam a síndrome do impostor.

A síndrome do impostor é o estado psicológico em que, mesmo entregando resultados objetivos, a pessoa sente “o sucesso foi sorte, não habilidade” e “uma hora vão descobrir”. O termo foi cunhado por Clance e Imes em 1978 no contexto clínico. Em engenharia de software, o único estudo recente com amostra grande é o arXiv:2312.03966 (Guenes et al., 2023), que aplicou um instrumento validado a 624 engenheiros de software em 26 países. Os achados centrais são estes, verbatim:

  • 52,7% dos engenheiros de software relatam sentimentos de impostor de frequentes a intensos
  • Mulheres 60,6% vs. homens 48,8%
  • Asiáticos 67,9%, negros 65,1%, brancos 50,0%
  • Menor prevalência entre casados com filhos
  • Efeito negativo estatisticamente significativo em todas as construções do framework SPACE de produtividade percebida

O que o estudo NÃO diz. Não afirma que “a velocidade das mudanças tecnológicas alimenta o fenômeno”. Essa é uma leitura comum que aparece em posts sobre o tema, mas o paper não mede essa relação — o dado é prevalência e diferenças demográficas, não causa tecnológica. Vale a distinção porque uma coisa é interpretação (razoável, mas hipótese), outra coisa é achado (o que o instrumento mediu).

Com Claude Code, o experiente entra num loop novo: entrega mais, com menor sensação de mérito. Um sênior que resolveu um bug complicado em uma hora, com metade da hora sendo o agente escrevendo os primeiros drafts, guarda para si a sensação de que “não foi eu, foi ele”. Escrevi sobre uma amostra dessa dinâmica em pushback do Google (21% mais em code review) e o reflexo no meu sub-agente solo — o crédito emocional pela solução some quando o próprio agente redigiu o texto que convenceu.

O mecanismo é o mesmo do pico invertido: a avaliação da própria capacidade perde ancoragem. Antes, você calibrava por tempo de resolução, número de linhas escritas, complexidade do commit. Com o agente entre você e o código, o número de linhas você não escreveu, o tempo caiu, a complexidade ficou opaca. Sobra a sensação. E a sensação é enviesada para “não fui eu”.

O que a crítica do Nuhfer nos obriga a moderar

Aqui é onde vale parar antes de virar mais um post que trata Dunning-Kruger como lei da natureza. A pesquisa metodológica dos últimos dez anos foi implacável com o efeito original.

Edward Nuhfer e colegas argumentaram entre 2016 e 2017 que o gráfico icônico do Dunning-Kruger é um artefato estatístico — uma autocorrelação. A crítica técnica é a seguinte: se você correlaciona duas variáveis, elas precisam ser medidas de forma independente. No gráfico original, a nota do teste entra nos dois eixos, o que gera a curva mesmo em dados aleatórios. Nuhfer demonstrou isso gerando datasets sintéticos sem nenhum efeito Dunning-Kruger embutido — e o gráfico canônico apareceu igual. Gignac e Zajenkowski (2020) fizeram uma crítica próxima com metodologia bayesiana.

Dunning respondeu, e há filósofos como Amy Seymour argumentando que as críticas foram superestimadas. A discussão acadêmica continua aberta.

O que a crítica nos obriga a fazer: parar de usar “Dunning-Kruger” como se fosse uma lei observada com precisão. Continua sendo uma heurística útil para lembrar que sabemos menos do que sentimos e sabemos mais do que sentimos, dependendo do estágio. Mas o número exato da curva, o tamanho da diferença entre iniciante e experiente, tudo isso tem incerteza metodológica. Use como espelho aproximado. Não como régua de precisão.

E, do outro lado, o estudo do Guenes et al. sobre impostor tem 624 respostas e um instrumento validado. É um dado sólido de prevalência, não uma inferência sobre a causa tecnológica.

As duas contramedidas que sobrevivem

O capítulo 7 do livro sugere duas contramedidas para o par Dunning-Kruger + impostor. As duas continuam funcionando na era Claude Code, com pequenos ajustes. Nenhuma delas envolve virar cético amargo.

Mapa de skills que separa “sei” de “vi o Claude fazer”

A contramedida original para Dunning-Kruger é o mapa de skills: você lista as áreas do seu domínio técnico e classifica cada uma em cinco níveis — “não sei”, “sei o nome”, “já usei”, “consigo explicar”, “consigo ensinar”. As duas primeiras posições existem porque saber que uma coisa existe já reduz o efeito. Você não superestima o que sabe que não sabe.

Na era do agente, adiciono uma sexta classificação: “vi o Claude fazer”. Essa categoria contém a maior parte do meu setup atual de projetos que rodam bem — configuração de Cloudflare Workers, alguns patterns de retry em cliente HTTP, um punhado de queries Cypher no Neo4j, integrações de deploy que uso mas não escreveria do zero se o agente sumisse amanhã. Reconhecer “vi o Claude fazer” separa “produção que funciona” de “capacidade minha instalada”. As duas coisas são valiosas, mas uma delas some no dia em que o agente decidir bugar naquele campo específico.

Registro semanal de entregas focado no que eu decidi

A contramedida para síndrome do impostor é o registro de entregas. Uma vez por semana, você anota o que fez e concluiu. Não é a auto-avaliação do RH — é um registro só seu. Ler três meses depois costuma trazer a percepção “fiz mais do que sentia”.

Ajuste para a era do agente: em cada entrada, marque especificamente o que você decidiu, não o que o agente executou. “Decidi mudar a arquitetura de fila para stream porque o padrão de acesso mudou” é uma linha sua. “Escrevi o refactor” é uma linha do Claude. Separar os dois dá dois efeitos: (1) você mede a própria contribuição real, e (2) você percebe onde depende demais do agente para decisão — que é o oposto de onde ele deveria depender de você.

O que se tira daqui

O efeito Dunning-Kruger é um espelho útil e impreciso. A era do Claude Code inclina o espelho para os dois lados: sobe o pico do iniciante porque o output engana o repertório, e cava o vale do experiente porque o crédito emocional pela solução vai parar num agente.

As duas contramedidas do capítulo 7 continuam sendo o que sobra depois que o entusiasmo passa: mapa que separa “sei” de “vi o Claude fazer”, e registro que separa “eu decidi” de “ele executou”. Nenhuma delas é ferramenta. As duas são hábitos. É por isso que sobrevivem quando o modelo troca de versão de novo semana que vem.

E se você quer aprofundar os outros três vieses que decidem carreira — status quo, sobrevivente, e o próprio Dunning-Kruger em situação de decisão de virada (IC → EM, freelancer, mudança de stack) — o capítulo 7 do Manual completo dos truques psicológicos para engenheiros tem esses quatro vieses com contramedidas concretas.

Referências

  • Guenes, P.; Tomaz, R.; Kalinowski, M.; Baldassarre, M. T.; Storey, M.-A. (2023). Impostor Phenomenon in Software Engineers. arXiv:2312.03966. Link
  • Nuhfer, E. et al. (2016–2017). Random Number Simulations Reveal How Random Noise Affects the Measurements and Graphical Portrayals of Self-Assessed Competency. Numeracy Journal.
  • Gignac, G. E.; Zajenkowski, M. (2020). The Dunning-Kruger effect is (mostly) a statistical artefact. Intelligence, 80.
  • Kruger, J.; Dunning, D. (1999). Unskilled and Unaware of It. Journal of Personality and Social Psychology, 77(6).
  • METR (2025). Measuring the impact of early-2025 AI on experienced open-source developer productivity.
  • Center for Security and Emerging Technology / Georgetown (2024). Cybersecurity Risks of AI-Generated Code.

ken imoto · WebRTC & Voice AI engineer · kenimoto.dev · TabNews

Manual completo dos truques psicológicos para engenheiros Livro relacionado Manual completo dos truques psicológicos para engenheiros Vieses cognitivos para engenheiros | Sistema 1/2, revisão de código, estimativas, segurança psicológica Ver a página do livro →