BrasilCiência e TecnologiaIA facilita a programação, mas saber reconhecer códigos continua sendo essencial

IA facilita a programação, mas saber reconhecer códigos continua sendo essencial

Ferramentas de inteligência artificial ampliaram o acesso à programação, mas especialista alerta que gerar código não significa compreender sua lógica, segurança e qualidad

A inteligência artificial (IA) tornou muito mais simples transformar uma ideia em algumas linhas de código. Ferramentas generativas conseguem criar funções, sugerir soluções para problemas e até desenvolver partes inteiras de um sistema. Mas existe uma diferença importante entre conseguir produzir código e saber programar. Em um cenário em que a IA faz cada vez mais parte da rotina de desenvolvimento, uma habilidade ganha espaço: saber avaliar se aquilo que foi gerado realmente é bom.

 Para o docente da graduação em Análise e Desenvolvimento de Sistemas do UniSenac – Campus Porto Alegre, Rafael Rehm, a tecnologia reduziu drasticamente o custo de produzir código, mas não eliminou a responsabilidade de entender e responder por ele.

Segundo o docente, gerar um código significa chegar a um resultado que pode parecer plausível. Programar, porém, envolve uma compreensão mais profunda: é preciso conseguir antecipar o comportamento do sistema diante de situações que ainda não foram observadas e saber onde intervir quando um requisito mudar. “A sensação de competência vai até o primeiro bug que a IA não resolve sozinha”, afirma.

Esse é um dos principais desafios para quem está começando na área. Um código pode funcionar no chamado “caminho feliz”, ou seja, na situação ideal prevista pelo desenvolvedor, e ainda assim apresentar problemas quando submetido a outras condições. Por isso, o simples fato de uma aplicação não apresentar erros durante o uso esperado não é suficiente para atestar a qualidade do código. “O funcionamento é falar de uma execução ideal. A qualidade do sistema fala de todas as outras execuções do sistema e do futuro”, explica Rehm.

Entre os critérios que precisam ser considerados estão legibilidade, facilidade de manutenção e alteração, possibilidade de testes, segurança, desempenho adequado ao contexto, coerência com o restante do sistema, quantidade de dependências e complexidade proporcional ao problema.

A avaliação se torna ainda mais importante quando o usuário simplesmente copia e cola uma solução produzida pela IA. Sem compreender a lógica por trás daquele código, o programador pode ficar sem referências quando surgir uma falha. A tendência, nesse caso, é acumular correções sobre correções, em vez de compreender a origem do problema. Também podem aparecer riscos de segurança, especialmente quando o código é executado com permissões que o usuário não avaliou adequadamente. Para o especialista, porém, existe um problema ainda mais profundo: a ausência de construção de um modelo mental sobre como os sistemas funcionam.

Nesse contexto, conhecimentos fundamentais da programação continuam indispensáveis. Mais do que saber escrever código rapidamente, é necessário saber lê-lo. Também entram nessa formação conhecimentos sobre testes, segurança, arquitetura, Git, debugger e terminal, além da capacidade de formular as perguntas certas.

Há ainda uma habilidade relativamente nova: compreender como os próprios modelos de IA costumam errar. Isso inclui reconhecer quando uma resposta está errada de maneira evidente, mas também quando o erro é plausível, confiante e sutil. É justamente nesse último caso que a experiência humana se torna mais importante.

O risco do código “aparentemente certo”

A facilidade proporcionada pela IA também pode criar uma falsa sensação de produtividade. Rehm chama atenção para o perigo do código que está aparentemente 90% certo, mas cujos 10% restantes só conseguem ser identificados por quem tem conhecimento suficiente para revisar a solução.

Por isso, a questão não é simplesmente evitar o uso da tecnologia, mas mudar a maneira como ela é incorporada ao aprendizado. Uma das possibilidades é utilizar a IA como tutora e revisora, e não como autora. O estudante pode desenvolver primeiro sua própria solução e, depois, pedir que a ferramenta faça uma revisão ou questione suas escolhas.

Outra estratégia é justamente inverter a lógica: pedir que a IA produza propositalmente um código ruim e desafiar o aluno a encontrar os problemas. Dessa forma, a ferramenta deixa de ser apenas uma máquina de respostas e passa a fazer parte de um processo de aprendizagem baseado em análise e raciocínio.

Para quem está começando, a recomendação é simples: ler cada linha do código gerado e só utilizá-lo quando for possível explicar o que ele faz. “Se não sabe explicar ou reverter, não deve usar”, orienta Rehm. Também vale rascunhar a solução antes de recorrer à IA, comparar as duas propostas, investigar pontos de falha e registrar os erros cometidos pela ferramenta. E há um exercício que continua sendo necessário mesmo na era da IA: programar sem ela. Afinal, assim como acontece em outras áreas, a capacidade de resolver problemas precisa ser exercitada para ser preservada.

Qualificação ganha novo papel

Nesse cenário, a qualificação profissional passa a ter uma função que vai além do domínio de ferramentas. Para o especialista, é ela que transforma um comando simples em um julgamento baseado em conhecimento técnico. Os fundamentos da programação permanecem importantes independentemente da ferramenta utilizada, porque são eles que permitem analisar criticamente uma solução. “A qualificação é o que transforma prompt simples em julgamento com base técnica”, afirma.

Cursos e formação estruturada ajudam a construir o ferramental necessário para o desenvolvimento de sistemas, enquanto a prática supervisionada contribui para desenvolver experiência e capacidade de avaliação. O diferencial profissional pode estar justamente na capacidade de decidir o que deve ser feito, verificar se foi bem executado e identificar o que precisa ser corrigido. O resultado é uma mudança no próprio centro do trabalho de programação. “O gargalo saiu da prototipação inicial e foi para a verificação: ler, revisar e decidir viraram as habilidades raras”, avalia o docente.

Para Rehm, o code review, processo de análise do código produzido antes de sua incorporação a um sistema, precisa ser ensinado de forma intencional, inclusive com a exposição a códigos ruins. Com a evolução dos agentes de IA, essa necessidade tende a aumentar, deslocando parte do trabalho de engenharia para a definição de testes, políticas e limites que orientam essas ferramentas. A IA pode ensinar a pedir, gerar e sugerir, mas validar o que foi recebido, compreender suas consequências e decidir se aquela solução deve ou não ser usada continua sendo trabalho para humanos.

Últimas