O vibe-coding é uma abordagem que recorre à inteligência artificial, mais concretamente a Large Language Models (LLMs), para gerar código a partir de descrições em linguagem natural fornecidas pelo utilizador. Apesar da sua utilidade, existe uma perceção errada das suas reais capacidades. A exposição mediática e a sobrevalorização das suas potencialidades levaram muitos a desenvolver ideias pré-concebidas que não correspondem à realidade.

Importa sublinhar que os modelos de linguagem de grande escala baseiam-se na repetição de padrões identificados durante o seu treino em vastos conjuntos de dados. No contexto da geração automática de código, estes dados provêm, em grande parte, de repositórios de software de acesso público, como os alojados no GitHub, uma prática cuja legalidade permanece em debate.

A qualidade do código gerado por estes modelos está diretamente relacionada com a qualidade dos dados que os alimentam. Essa qualidade pode ser aferida através de diversas métricas, incluindo a complexidade do código (com impacto direto no desempenho e no consumo energético) e a sua robustez, que determina a resistência a vulnerabilidades exploráveis. Infelizmente, já existem ataques baseados em aproximações semelhantes, sobretudo contra cadeias de fornecimento (supply chains) de software de código aberto, sendo expectável que, num futuro próximo, surjam ataques direcionados aos próprios dados de treino, com o objetivo de inserir vulnerabilidades intencionais no código produzido por modelos de IA.

Simultaneamente, tem vindo a emergir a perceção de que estas tecnologias tornam as instituições de ensino superior obsoletas, sugerindo que, no futuro, o fator determinante para o mercado de trabalho será apenas a capacidade dos profissionais em expressarem, de forma clara e estruturada, aquilo que pretendem codificar, numa lógica próxima do que hoje se designa por prompt engineering. Esta visão implicaria a perda de relevância da formação superior de profissionais altamente qualificados, em particular nas áreas da ciência de computadores e da engenharia informática.

No entanto, uma análise atenta desta premissa revela uma falácia evidente, pois só é possível formalizar uma ideia quando se compreende verdadeiramente aquilo que se pretende alcançar. A missão fundamental do ensino superior não passa pela repetição de padrões conhecidos. Pelo contrário, assenta na construção de uma capacidade crítica de análise, aliada ao domínio da teoria subjacente a áreas científicas fundamentais, como a matemática, física e ciência de computadores. É precisamente esta base teórica e esta capacidade crítica que permitem a implementação e avaliação informada da qualidade de soluções tecnológicas, assegurando assim a robustez, eficiência e fiabilidade dos sistemas desenvolvidos.

Importa compreender o real potencial desta tecnologia. Contrariamente à perceção de que conduzirá à eliminação de postos de trabalho, a inteligência artificial, quando corretamente utilizada, tem a capacidade de ampliar o mercado através do aumento da produtividade. Neste sentido, estas ferramentas devem ser vistas como auxiliares ao serviço de profissionais altamente qualificados, que possuem a competência necessária para avaliar criticamente os resultados produzidos e, assim, tirar partido do seu verdadeiro valor.

Por outro lado, a utilização indiscriminada por indivíduos sem formação adequada acarreta riscos significativos. A ausência de capacidade crítica e técnica pode levar à aceitação acrítica de resultados incorretos, comprometendo a eficiência e a segurança dos sistemas desenvolvidos. Este fenómeno não é novo, uma vez que práticas como a reprodução de soluções copiadas de plataformas como o StackOverflow foram, durante anos, relativamente comuns. A diferença é que, atualmente, os padrões são gerados de forma mais automatizada e personalizada, exigindo um maior cuidado na sua validação e aplicação.

Para aqueles que depositam uma confiança absoluta nesta tecnologia, vale a pena colocar a seguinte questão: estaria disposto a embarcar num avião cujo sistema tivesse sido desenvolvido com recurso a código gerado por inteligência artificial?