A IA de auxílio de código tornou-se hoje na camada de abstração mais moderna que um programador pode ter. Anteriormente, um bom autocomplete ajudava muito, mas hoje este autocomplete tornou-se mais eficaz e inteligente (às vezes).
Por norma, os projetos em que trabalho são complexos.
Mesmo que eu tenha o cuidado de organizar toda a estrutura e relações, a dimensão do mesmo não diminui nem a sua complexidade.
E é a dimensão do projeto que influencia no uso eficaz da IA quanto maior pior.
A IA neste caso, a generativa, opera com base na estatística e em coisas já feitas anteriormente, repetição e padrões. No entanto, ela precisa de entender todo o projeto, o que atualmente é impossível com a tecnologia atual, pois há demasiados tokens.
Além disso, pode ocorrer a invenção de funções inexistentes, embora isso seja raro.
Outro aspeto importante é que quanto maior for o modelo, melhor será a sua capacidade de acertar. No entanto, também existe o risco de exagerar e criar funções desnecessárias em cima de outras, o que pode dificultar o processo de depuração.
Por isso, é fundamental utilizar a IA como um autocomplete e não como uma ferramenta autônoma.
Podemos correr o risco de produzir um produto defeituoso com muitas falhas. Além disso, é importante lembrar que a IA deve ser utilizada em conjunto com as habilidades e conhecimentos do programador, para garantir que o resultado final seja eficaz e seguro.
Em projetos mais simples, como calculadoras ou ferramentas de automação, a IA pode ser uma grande aliada. No entanto, em projetos mais complexos, é fundamental ter um controle rigoroso sobre as funcionalidades implementadas pela IA, para evitar erros e garantir que o resultado final seja conforme esperado.
Em resumo, a IA é uma ferramenta poderosa que pode ser muito útil no desenvolvimento de software, mas deve ser utilizada com cautela e em conjunto com as habilidades e conhecimentos do programador. É importante lembrar que a IA não substitui o papel do programador, mas sim ajuda a tornar o processo de desenvolvimento mais rápido e eficaz.
Boas práticas e recursos úteis
Uma boa prática é usar a IA apenas em momentos pontuais do desenvolvimento — por exemplo, para gerar o esqueleto inicial de uma função, criar documentação base ou escrever testes unitários simples. Mesmo nesses casos, deve haver sempre uma revisão manual e, de preferência, uma validação automática com ferramentas como ESLint ou Pylint (para análise estática), e test suites como Jest ou Pytest. A IA pode poupar tempo, mas não deve substituir o olhar crítico do programador.
É importante também ter consciência de que os assistentes de código atuais não compreendem totalmente o contexto do projeto. Por isso, as suas sugestões devem ser vistas como um ponto de partida, e não como código pronto. Ferramentas como o GitHub Copilot, o Codeium e o Amazon CodeWhisperer podem ajudar em tarefas repetitivas, mas ainda cometem erros lógicos ou estruturais, especialmente em bases de código grandes ou pouco padronizadas.
Na web, há vários recursos úteis para acompanhar a evolução e as limitações reais da IA no desenvolvimento. O OpenAI Developer Blog, o GitHub Next, e comunidades como o Stack Overflow e o r/Programming partilham experiências e problemas práticos com o uso de IA generativa. Explorar essas discussões é uma boa forma de perceber até onde a tecnologia realmente vai — e onde ainda falha.

