3 formas de usar IA na programação

Três aplicações práticas de inteligência artificial para o dia a dia de quem programa, de explicar erros a gerar funções específicas. E o princípio que decide se a resposta vai ser boa ou não.


Muito programador não usa inteligência artificial da forma que poderia. Tem ferramenta poderosa disponível, principalmente para quem está começando ou está com alguma dúvida no meio de um projeto, e boa parte simplesmente não sabe explorar isso direito. Existem dezenas de formas de aplicar IA na programação, mas vou focar em três que uso de verdade e que ajudam tanto em estudo quanto em projeto real.

Explicação e resolução de erros

Essa é a aplicação mais óbvia, mas a maioria usa mal. Vou dar um exemplo simples: um código em JavaScript com uma variável guardando o número três como string, um if comparando com três iguais, e o resultado caindo sempre no else, mesmo com o valor visivelmente correto ali na tela. Não dá erro nenhum, só vai para o lugar errado.

Nesse momento a tentação é colar o código na IA e perguntar por que não está funcionando. Isso funciona, mas funciona mal. Existe um conceito chamado engenharia de prompt, que é basicamente aprender a se comunicar com esse tipo de ferramenta. A IA não tem contexto nenhum sobre o que você já tentou ou já percebeu. Quanto mais crua a pergunta, maior a chance da resposta vir igualmente rasa ou até errada.

O melhor caminho é descrever o que você já identificou. No exemplo do if, em vez de perguntar por que o código não funciona, a pergunta certa é por que ele está caindo no else e não no if, já apontando o comportamento observado. Com esse contexto a IA consegue apontar exatamente o problema: a comparação usando três iguais compara também o tipo do valor, e como a variável guardava uma string e não um número, a comparação nunca era verdadeira.

Vale prestar atenção também nas soluções sugeridas, porque nem toda resposta é a melhor abordagem. Em cima desse mesmo erro, uma IA me sugeriu converter a variável para número antes de comparar, o que resolve mas é mais gambiarra do que solução. A alternativa mais direta ali era simplesmente trocar para dois iguais. Ter experiência para julgar qual sugestão é melhor faz toda diferença, e é justamente por isso que a IA ajuda quem já programa mais do que substitui.

Gerar funções específicas

Essa é a que mais uso no dia a dia. Peguei um exemplo recente: precisava de uma função que comparasse duas datas e devolvesse algo como "há 2 meses atrás" ou "há 3 dias atrás". Dá para escrever isso na mão, mas é um daqueles códigos chatinhos de montar, cheio de verificação de dia, mês, ano.

Pedi para a IA gerar essa função em JavaScript, descrevendo o formato exato de retorno que eu queria e que ela receberia dois objetos de data. A primeira versão que veio funcionava, mas resolvia tudo na base da lógica pura, calculando diferença em milissegundos e montando a string manualmente. Funciona, mas existe um recurso nativo do JavaScript, o objeto Intl, que faz exatamente esse tipo de formatação relativa de forma mais limpa. Pedi para refazer usando esse objeto, e a segunda versão ficou bem melhor.

O ponto principal aqui é que a IA não substitui a análise. Ela acelera o processo, entrega em segundos algo que levaria uns bons minutos para escrever do zero, mas quem tem experiência consegue olhar o resultado e perceber que existe uma forma melhor, ou até um bug que passou despercebido. Já aconteceu de pedir uma função e receber código que parecia certo mas quebrava em algum caso que não tinha sido considerado. Sem revisar, esse tipo de coisa vai direto para o projeto e vira problema depois.

Explicar conceitos teóricos

A terceira forma é usar a IA como uma espécie de professor sob demanda para entender conceitos. Um exemplo clássico é JWT, muito comum em sistema de login e autenticação. Dá para pedir uma explicação teórica, em termos simples, sobre o que é, o que representa, como funciona por dentro.

O interessante aqui é que dá para ir aprofundando a conversa. Depois da explicação geral, pedi um exemplo do processo de criação de um JWT, depois de validação, e por fim uma dúvida bem comum: como funciona o logout num sistema que usa JWT, já que o token em si não é algo que o servidor consegue simplesmente apagar como faria com uma sessão tradicional. A resposta trouxe as duas abordagens mais usadas, desde simplesmente descartar o token do lado do cliente até manter uma lista de tokens invalidados no servidor, cada nova pergunta usando o contexto da anterior para aprofundar mais.

Esse tipo de uso é ótimo para preencher lacuna de entendimento antes de mexer em código. Entender a teoria primeiro facilita muito interpretar o código depois, em vez de copiar uma implementação sem saber por que ela funciona daquele jeito.

O fio que conecta as três

Nas três aplicações o resultado depende diretamente de quanto contexto você fornece. Uma pergunta seca tende a gerar resposta genérica ou até errada. Descrever o que já foi tentado, o comportamento observado, o formato de retorno esperado, tudo isso melhora muito a qualidade do que volta.

E em nenhuma das três a IA substitui quem programa. Ela acelera o processo de debugar, de escrever funções repetitivas, de entender conceito novo, mas quem decide se a resposta está de fato correta, se a abordagem sugerida é boa ou apenas funcional, continua sendo você. Essas são três de infinitas formas de aplicar IA na programação, mas já dão uma boa base para começar a usar essas ferramentas de um jeito que realmente melhora a produtividade, sem virar um atalho para nunca entender o que está sendo feito.