6

Passei quase uma hora pedindo pra IA resolver um bug. A solução veio quando parei de pedir solução.

Esses dias caí num bug chato num sistema legado em PHP (7.2). Um DTO estava devolvendo dois campos com os valores trocados: o endereço vinha no campo de complemento e o complemento no campo de endereço.

O classic. Olhei o código várias vezes e tudo "parecia certo".

Fui pra IA. Colei o trecho, expliquei o sintoma, pedi pra resolver. Ela sugeriu uma coisa. Não era. Expliquei de novo, dei mais contexto, ela sugeriu outra. Também não. Fiquei quase uma hora nesse vai e volta — eu reformulando o problema de mil formas, ela chutando soluções que não encaixavam.

Em algum momento mudei a abordagem. Em vez de "resolve isso pra mim", pedi: "me explica como esse DTO funciona, passo a passo, como os valores chegam em cada propriedade."

Aí a IA descreveu o fluxo — e no meio da explicação ficou óbvio: o DTO era instanciado por posição, new DTO($a, $b), mas a ordem dos argumentos na chamada não batia com a ordem dos parâmetros no construtor. Como é PHP 7.2, não existe argumento nomeado pra te salvar: é tudo posicional. O primeiro valor cai no primeiro parâmetro, não importa o nome. Estava tudo trocado desde a instanciação.

A correção foi de dez segundos. O que me chamou atenção foi como eu cheguei nela.

Enquanto eu tratei a IA como "resolvedora de bug", ela ficou chutando no escuro junto comigo. No momento que pedi pra ela me explicar o mecanismo, eu mesmo enxerguei o erro — ela só precisou descrever o caminho que os dados faziam.

Fico pensando que tem uma diferença grande entre essas duas perguntas:

  • "Por que isso está quebrado?" → ela tenta adivinhar a causa a partir de um sintoma, sem ver o que você não colou
  • "Me explica como isso funciona?" → ela descreve o mecanismo, e a causa do bug aparece sozinha pra quem conhece o contexto

Na primeira, você terceiriza o raciocínio. Na segunda, você usa a IA pra clarear o seu próprio.

Não sei se isso vale como regra geral, mas pra debug em código legado — onde a IA nunca tem o contexto completo do sistema — tem funcionado muito melhor pra mim pedir explicação do que pedir solução.

Alguém mais usa essa abordagem? Curioso pra saber se é só comigo ou se faz sentido pra mais gente.


Ando escrevendo sobre utilização de IA pra estudar/programar.
Se interessar:
Utilização de IA para estudo: https://hdfreitas.github.io/ia-como-professor/
Utilização de IA para revisão de código: https://hdfreitas.github.io/ia-como-revisor/

Carregando publicação patrocinada...
2

Bem, como eu tenho falado algum tempo, nunca peça para IA fazer nada por você. O que você pode pedir é uma ajuda para compreender um fluxo confuso (comum em projetos grandes ou legados). IA é muito útil para processar uma quantidade absurda de informações repetidas, e olhe lá! Um grep pode ser o suficiente na maioria das vezes e mais preciso.


Nunca confie em um inteligência artificial. Isso é meramente probabilísitico. Mesmo informações simples não são verdadeiras. Você pode pagar mais de 1 trilhão de reais por mês para o melhor modelo do mundo, mas isto não muda a natureza matemática da coisa.

Ainda bem que você foi experto e não caiu na "trap" de querer pagar um modelo mais caro... Você já sabia como resolver, apenas não entendia o mecanismo. É como um carro que quer seguir estrada sem GPS. Você consegue andar, mas sem direcionamento. Para estes casos uma IA não é diferente de um google. Você simplesmente pediu pelo o GPS que te faltava e seguiu na rota correta. Prático e rápido.

2

Boa analogia a do GPS. No fim foi exatamente isso: eu já tinha o conhecimento pra resolver, só faltava o direcionamento pra não ficar tateando no código legado. IA entrou como atalho de leitura, não como solução mágica. Valeu pelo comentário!

2

Já cai nessa thread dr tentar resolver pedindo pra resolver e não conseguir, é estressante demais isso!
Mais estressante que ficar horas batendo código pra achar o problema.
Que bom que conseguiu resolver e de quebra, desbloquear um novo meio de chegar a uma solução quando a ia não está conseguindo ajudar!

1

Haha verdade, fica naquele ciclo de "tenta de outro jeito", "reformula o prompt", "tenta de novo"... e no fim você perde mais tempo do que teria perdido debugando na mão. Aprendi que quando a IA trava, o melhor é dar um passo atrás e usar ela só pra entender o contexto, não pra executar a solução.

1

argumentos por posição causando encrenca. como não existe o argumento nomeado a melhor saída é documentar melhor a posição dos argumentos. se com IA você levou uma hora, imagina se não tivesse IA. poderia levar dias pra chegar no mesmo ponto. no fim, boas práticas no desenvolvimento nos ajudam a evitar dores de cabeça como essa.

1

Exato! E é justamente por isso que boas práticas existem — não é burocracia, é economia de tempo futuro. Argumento posicional sem documentação é uma bomba relógio em qualquer projeto legado. Com IA levei uma hora, sem ela provavelmente estaria ainda hoje vasculhando a call stack. No fim a ferramenta ajudou, mas quem resolve mesmo é o conhecimento + a prática.