Desenvolvimento

O problema dos 70%: Por que a programação assistida por IA é incrível — e também frustrante

Marco Antonio Gonzalez Junior 27 de abril de 2025
#vibe_coding#ai_assisted

Ferramentas de programação assistida por IA estão se tornando cada vez mais impressionantes. Elas se destacam na geração de código boilerplate, na escrita de funções rotineiras e no avanço inicial de projetos. Muitos desenvolvedores relatam que um assistente de IA consegue entregar rapidamente uma solução que cobre cerca de 70% dos requisitos.

Um tweet de Peter Yang resume essa experiência com precisão:

Reflexões honestas sobre programar com IA como não-engenheiro:
Ela te leva até 70% do caminho, mas os 30% finais são frustrantes. A cada avanço, surgem novos bugs e problemas.
Se eu entendesse o funcionamento do código, talvez conseguisse corrigir. Como não entendo, fico em dúvida se estou realmente aprendendo algo.

Seja entre não-engenheiros ou engenheiros experientes, o padrão é o mesmo:
A IA impressiona no começo, mas tropeça na reta final.


A Magia — e o Choque de Realidade

O “problema dos 70%” revela um ponto central sobre o desenvolvimento assistido por IA.

No início, tudo parece mágico:
Você descreve o que deseja, e ferramentas como v0 ou Bolt geram protótipos funcionais em questão de horas. Mas essa magia dura pouco.

O que a IA cobre rapidamente são as partes padrão e repetitivas — o código que segue caminhos já bem conhecidos.

Como comentou um usuário no Hacker News:

A IA é ótima para lidar com a complexidade acidental do software — as tarefas mecânicas e repetitivas —, mas a complexidade essencial, aquela que exige entendimento profundo e análise crítica, continua sendo responsabilidade humana.

Usando a clássica distinção de Fred Brooks:

A IA resolve dificuldades incidentais, mas não enfrenta as dificuldades intrínsecas.


Onde a IA Enfrenta Dificuldades

A dificuldade surge no chamado “último quilômetro”.

As IAs conseguem gerar soluções plausíveis, mas os 30% finais — onde surgem casos de borda, requisitos de performance, manutenção futura e arquitetura sólida — continuam exigindo intervenção humana.

Um código gerado por IA pode “funcionar” para cenários básicos, mas dificilmente irá:

  • Tratar entradas incomuns,
  • Prevenir condições de corrida,
  • Otimizar desempenho,
  • Antecipar mudanças futuras.

Sem orientação explícita, a IA simplesmente não cobre esses pontos críticos.


A Armadilha da Aparência Confiável

Outro desafio:
As IAs frequentemente produzem códigos convincentes, mas incorretos.
Elas podem inventar funções inexistentes, introduzir bugs sutis ou sugerir soluções que parecem ótimas, mas falham sob pressão.

Steve Yegge fez uma analogia brilhante:

As LLMs atuais se comportam como desenvolvedores juniores superprodutivos — rápidos e entusiasmados, mas, às vezes, parecendo “chapados”, inventando soluções mirabolantes.

À primeira vista, o código parece impecável.
Mas sem análise crítica, os problemas podem explodir semanas depois.

Simon Willison também relatou ter visto IAs sugerirem designs brilhantes, mas que somente engenheiros muito experientes reconheceram como estruturalmente falhos.

Lição importante:

A confiança da IA é muito maior do que sua confiabilidade.


As Limitações Fundamentais da IA

Atualmente, as IAs:

  • Remixam padrões existentes — não criam novas abstrações ou algoritmos.
  • Não formulam estratégias inovadoras.
  • Não assumem responsabilidade por decisões técnicas.

Como bem resumiu um engenheiro:

As IAs não têm ideias melhores do que aquilo que já existe nos seus dados de treinamento. E, mais importante, não respondem pelo que produzem.


O Papel Insuperável do Julgamento Humano

Todo o trabalho verdadeiramente criativo — definir o que construir, como estruturar e por quê — continua sendo exclusivamente humano.

Em resumo:

  • A IA acelera o trabalho repetitivo, funcionando como um impulsionador de produtividade.
  • Mas não substitui o pensamento crítico.
  • Os 30% mais difíceis da engenharia de software continuam exigindo desenvolvedores competentes, criteriosos e experientes.

Como resumiu bem uma discussão recente:

A IA é uma ferramenta poderosa, mas não é uma solução mágica. O julgamento humano e as boas práticas de engenharia continuam essenciais.


Dois Modelos de Uso da IA no Desenvolvimento

Ao observar como equipes estão integrando IA ao dia a dia, emergem dois padrões claros:
os Bootstrappers e os Iteradores.


1. Bootstrappers: Do Zero ao MVP

Essas equipes usam IA para acelerar a criação de novos produtos desde o conceito inicial até o protótipo funcional.

Fluxo típico:

  • Partem de um design ou ideia bruta,
  • Utilizam ferramentas como Bolt, v0 ou screenshot-to-code para gerar a base de código,
  • Obtêm um MVP funcional em horas ou dias,
  • Focam em validação rápida e iteração ágil.

Exemplo real:
Um desenvolvedor solo usou o Bolt para transformar um design no Figma em um aplicativo web funcional em apenas algumas horas.
Não era pronto para produção, mas perfeito para captar feedback inicial.


2. Iteradores: Otimizando o Fluxo Diário

Já os Iteradores integram a IA diretamente no seu dia a dia, usando ferramentas como:

  • Cursor
  • Cline
  • Copilot
  • WindSurf

Esses desenvolvedores:

  • Usam IA para completar trechos de código,
  • Automatizam refatorações complexas,
  • Geram testes e documentação,
  • Contam com IA como “parceiro de programação” para solucionar problemas complexos.

O Segredo Está na Curadoria Humana

Quando observamos engenheiros seniores trabalhando com IA, parece que eles produzem mágica:
Funcionalidades inteiras surgem em minutos, com cobertura de testes e documentação.

Mas, olhando de perto:

  • Eles não aceitam cegamente as sugestões da IA.
  • Refatoram os códigos em módulos menores e mais robustos.
  • Adicionam tratamento de exceções e casos de borda.
  • Reforçam tipagem e interfaces.
  • Questionam decisões arquiteturais.

Em resumo:

A IA acelera a execução, mas o julgamento e a experiência moldam a qualidade final.


Conclusão

A IA não está substituindo bons desenvolvedores.
Está tornando bons desenvolvedores mais rápidos — e grandes desenvolvedores praticamente imparáveis.

Mas confiar apenas na IA, sem critério técnico, é como voar com o piloto automático sem ninguém na cabine.

O futuro pertencerá a quem dominar ambos os mundos:
Aproveitar o impulso dos 70% — e conquistar, com excelência, os 30% finais.