Um Mês Sem IA

Assistentes de programação com IA e ferramentas agênticas estão permitindo que desenvolvedores entreguem mais funcionalidades mais rapidamente, mas muitos engenheiros relatam sentir suas habilidades, a qualidade do código e o controle arquitetural se erodirem à medida que recorrem aos modelos para gerar mudanças grandes e complexas. Comentadores descrevem um trade-off entre velocidade de curto prazo e manutenibilidade de longo prazo, com problemas como código inchado, revisões mais difíceis, fluxos de trabalho frágeis e expertise em atrofia aparecendo ao lado de ganhos reais em depuração, geração de boilerplate e aprendizado de stacks desconhecidas. O consenso emergente é que a IA pode ser poderosa quando fortemente restringida e bem integrada às práticas existentes, mas o uso descontrolado — especialmente para implementação de funcionalidades de ponta a ponta — arrisca transformar bases de código em sistemas opacos e frágeis que até seus proprietários nominais já não entendem totalmente.

Escopo do Uso de IA em Programação

  • Alguns descrevem “vibe-coding” quase total: sem digitação manual nem leitura de código por meses; funcionalidades (por exemplo, 2FA, jogos, aplicativos complexos) são especificadas em linguagem natural e implementadas por agentes de ponta a ponta.
  • Outros usam IA de forma limitada: boilerplate, refatorações, testes unitários, pequenos scripts ou como um assistente avançado de busca/depuração, enquanto mantêm a implementação principal manual.
  • Um subconjunto de desenvolvedores evita intencionalmente IA em novos projetos para recuperar o controle e manter a agilidade.

Qualidade, Segurança e Verificação

  • Críticos argumentam que confiar cegamente em IA para recursos sensíveis à segurança (como 2FA) é irresponsável; você continua responsável mesmo que “cyber models” sejam bons em pentesting.
  • Vários relatam revisar sistemas gerados por IA e encontrar bugs sutis e graves (condições de corrida assíncronas, backpressure ausente, supressão silenciosa de erros).
  • Mitigação proposta: análise estática mais forte, sistemas de tipos mais ricos, verificação formal e tratar testes como apenas uma camada de prova.

Produtividade, WIP e Complexidade

  • Algumas equipes afirmam ganhos de velocidade de uma ordem de grandeza e entrega rápida de funcionalidades adiadas por muito tempo.
  • Outras descobrem que agentes geram PRs enormes e paredes de documentação, criando gargalos de revisão e incentivando generalidades vagas.
  • O experimento de uma equipe de “apostar pesado em agentes” levou a alto WIP, integrações travadas e partes interessadas insatisfeitas; eles voltaram a limites rígidos de WIP e a mais colaboração humana.
  • Comentadores enfatizam que a IA tende a aumentar a complexidade, a menos que seja fortemente restringida.

Atrofia de Habilidade e Abstração

  • Muitos relatam sentir suas habilidades de implementação se erodirem rapidamente; sessões curtas sem IA podem gerar ansiedade, mas também tranquilizar.
  • Alguns veem isso como uma deriva natural de abstração (como passar de assembly para linguagens de alto nível); outros insistem que não dá para projetar bem sem programar ativamente.

Quando a IA Funciona Bem

  • Depurar problemas complexos em produção correlacionando logs, código e casos extremos estranhos.
  • Aprender stacks desconhecidas (por exemplo, BLE, asyncio, MicroPython) mais rápido do que com a busca na web atual, poluída por SEO.
  • Gerar testes unitários, pequenas ferramentas e scaffolding, onde a qualidade do código e a manutenção de longo prazo importam menos.

Desenvolvimento Agêntico e Perda de Controle

  • Enxames de agentes tentam as pessoas a fazer multitarefa e adiar revisões; tarefas que poderiam ser codificadas manualmente em 20 minutos tornam-se exercícios de revisão de vários dias.
  • Alguns admitem que já não entendem totalmente o que uma grande base de código escrita por IA faz e dependem de testes de ponta a ponta e “duck tests” (parece funcionar?).

Escrita e Usos Não Relacionados a Código

  • Experimentos de escrita de livros com LLMs produzem rascunhos rápidos, mas estilo genérico, inconsistências lógicas, prosa cheia de clichês e meses de limpeza — muitas vezes não valendo a pena.
  • Vários dizem que os modelos melhoraram em código, mas pioraram ou ficaram mais sem graça em prosa longa.

Comportamento do Modelo e Variação de Ferramentas

  • As experiências variam fortemente: alguns veem modelos de fronteira como “melhores do que a maioria dos devs”; outros obtêm alucinações, uso errado de arquivos, contagens incorretas e variáveis inventadas.
  • A qualidade depende muito da versão do modelo, do provedor e da integração (chat vs IDE/agente com ferramentas); alguns suspeitam de degradações silenciosas ou quantização, outros contestam isso.

Atitudes Culturais e Analogias

  • As analogias vão de “IA como cocaína/máquina caça-níquel” a “IA como piloto automático ou máquina CNC”; alguns veem pânico moral, outros veem uso excessivo genuinamente viciante.
  • Há uma polarização visível entre defensores do “use ou fique para trás” e aqueles preocupados com slop, dependência e manutenção de longo prazo.