DEV Community

André N. Darcie
André N. Darcie

Posted on

A IA não vai pensar por você. E isso é uma coisa boa.

Eu vejo muita gente esperando que a IA aja como um engenheiro de software sênior. Que ela tome decisões de arquitetura, escolha as melhores práticas, pense em escalabilidade, segurança, performance... tudo sozinha.

Sinceramente, eu acho que essa expectativa está errada.

No funcionamento mais básico, um LLM pega o seu prompt e prevê os próximos tokens mais prováveis. Depois existe o pós-treinamento, com validação humana, mas no fim ela continua sendo guiada pelo que você escreveu.

E aí vem o ponto.

Se você não disse que queria SOLID, por que ela deveria aplicar SOLID?

Se você não pediu Repository Pattern, por que ela deveria criar um?

Se você pediu uma API simples, por que ela deveria gastar mais tokens criando uma arquitetura cheia de camadas?

Ela estaria assumindo coisas que você nunca pediu.

E assumir coisas nem sempre é bom.

Todo mundo pensa apenas no lado positivo:

"Seria legal se a IA tomasse boas decisões sozinha."

Mas existe o outro lado.

Ela pode decidir usar uma biblioteca que você não queria, criar dependências desnecessárias, aumentar a complexidade do projeto ou até gerar um vendor lock-in que você nunca escolheu.

É por isso que eu acho que a IA não deveria decidir essas coisas por conta própria.

Ela deveria executar exatamente o que você pediu.

Por exemplo, quando eu quero adicionar logs em um projeto, eu não escrevo simplesmente:

"Adicione logs."

Eu escrevo algo mais próximo de:

Utilize Serilog, siga a documentação oficial, implemente seguindo as boas práticas da biblioteca e mantenha o padrão do projeto.

Agora sim ela tem contexto.

Ela sabe qual biblioteca usar, qual documentação seguir e qual padrão eu espero.

O mesmo acontece com qualidade de código.

Se eu fico uma semana inteira pedindo só feature, feature, feature, feature... o débito técnico vai aparecer.

Mas a culpa não é da IA.

Eu nunca pedi para ela reorganizar o projeto.

Eu nunca pedi um code review.

Eu nunca pedi para separar responsabilidades.

Então, de tempos em tempos, eu paro e faço prompts específicos para qualidade.

No Tiny Theft Auto (meu pequeno projeto inspirado em GTA) foi exatamente assim.

O projeto começou como um único index.html.

Quando eu decidi que ele iria crescer, fui eu quem falou:

  • aplique o SRP;
  • separe uma classe por arquivo;
  • reorganize toda a estrutura;
  • faça um code review;
  • levante pontos de melhoria para eu decidir se vale a pena corrigir.

Essas decisões foram minhas.

A IA só executou.

Isso acontece também em empresas.

No meu trabalho, por exemplo, existem padrões internos para logs, observabilidade, testes e várias outras coisas.

Eu não espero que a IA adivinhe qual padrão usar.

Eu passo a documentação, a skill ou o template da empresa e peço para ela seguir aquilo.

Ela deixa de "inventar" arquitetura e passa a implementar o padrão que já existe.

No fim, eu acho que a maior mudança de mentalidade é essa:

Nunca terceirize pensamento. Terceirize o braço.

Quem decide arquitetura é você.

Quem decide escalabilidade é você.

Quem decide boas práticas é você.

Quem decide qual biblioteca usar é você.

A IA serve para executar essas decisões com muito mais velocidade.

Porque, no fim das contas, ela não é um engenheiro de software tomando decisões por você.

Ela é um multiplicador da produtividade de quem sabe exatamente o que quer construir.

Top comments (0)