IA e engenharia.
Até ao ano passado, a crítica mais comum aos modelos geradores da IA consistia em apontar defeitos. As mãos tinham dedos a mais, não compreendiam problemas simples, davam respostas disparatadas e assim por diante. Entretanto, o desempenho destes modelos melhorou e os críticos precisam de outras objecções. Num artigo de Abril, Luís Caires deu vários exemplos (1). Estes modelos são falíveis e, por isso, piores que qualquer pessoa infalível. O seu treino depende «dos conteúdos criados por humanos ao longo de séculos» como toda a investigação científica e ensino. Caires diz que estes conteúdos são «o “petróleo” dos LLM» e que estão «praticamente todos esgotados» mas o conhecimento não se gasta com o uso e o trabalho de selecção, anotação e organização dos dados torna-os ainda mais úteis para os modelos seguintes. Se bem que concorde que o investimento especulativo nesta tecnologia será um problema quando a bolha rebentar, isto é um problema do mercado. Aconteceu o mesmo com a construção ferroviária no século XIX mas os comboios continuam a ser úteis.
Caires também denuncia como «lunática» a procura por «uma inteligência super-humana omnisciente», critica a adopção rápida destes modelos porque «a intervenção de engenheiros com formação superior continua a ser essencial» e defende que o ensino superior terá de garantir a «sustentabilidade e flexibilidade dos percursos profissionais na era da IA». Apesar de reconhecer que «serão precisos cada vez menos “coders de aviário” (sem ofensa)», parece não compreender porque é que esta tecnologia dispensa esses programadores. É uma dificuldade comum entre informáticos, julgo que por razões históricas.
Desde que surgiram os computadores electrónicos que houve duas abordagens diferentes na informática. A dominante foi a da engenharia, em que os humanos dão aos computadores as instruções exactas para fazer o que é preciso. Isto deu-nos ferramentas importantes como compiladores, linguagens de programação e metodologias para garantir a especificação rigorosa dos algoritmos. Formou também engenheiros capazes de traduzir problemas em soluções que o computador consegue executar. A outra abordagem é mais estatística. Reconhecendo que o computador apenas mapeia sequências de zeros e uns noutras sequências de zeros e uns, reduz todos os problemas ao cálculo de expressões algébricas que façam a correspondência correcta. Esta abordagem é pouco eficiente se sabemos como encontrar a solução e, para problemas mais complexos, exige computadores poderosos, muitos dados e métodos sofisticados de optimização. Por isso durante décadas apenas fez promessas que não conseguia cumprir. Mas tem uma vantagem importante. Não exige saber como resolver o problema; apenas precisa de exemplos.
Isto faz uma grande diferença porque o engenheiro informático só consegue programar soluções se souber como se resolve o problema. É por isso que aprende algoritmos, estruturas de dados, métodos de análise de requisitos e essas coisas. Em muitos casos funciona bem. Mas se lhe pedirmos um programa que traduza Alemão para Português, ou que leia matriculas em fotografias, ou que gere uma conversa já não consegue porque ninguém sabe o procedimento detalhado (o algoritmo) para fazer isso. Para resolver esses problemas temos de ir além das limitações cognitivas dos humanos. Precisamos de modelos grandes, hardware poderoso, e muitos dados mas obtemos um algoritmo que nenhum engenheiro informático conseguiria encontrar. É um algoritmo complicado, com milhares de milhões de operações algébricas, mas funciona. A abordagem estatística resolve problemas que a engenharia humana não consegue resolver.
E um desses problemas é o de traduzir o pedido do cliente para código que faz o que o cliente pediu. Tal como conversar ou ler matrículas, o engenheiro informático sabe fazer isto mas não sabe como em detalhe suficiente para programar este processo no computador. Graças a essa limitação era preciso contratar engenheiros informáticos e tradutores. Mas agora não estamos mais limitados pela capacidade humana de conceber algoritmos e, tal como os tradutores, também os engenheiros informáticos terão dificuldade em vender o seu trabalho.
Isto não tem nada que ver com o valor do conhecimento nem com a importância do ensino superior, ambos independentes do mercado de trabalho. A tradução automática não tira o valor de conhecer outras línguas e culturas. Desde mudar fraldas a programar em assembly no Z80, há muito conhecimento que eu adquiri que tem preço zero no mercado mas tem grande valor para mim. O propósito das universidades é criar e manter vivo o conhecimento pelo seu valor intrínseco e se um jovem quiser tirar um curso de tradução ou de engenharia informática porque quer aprender, recomendo que o faça. Infelizmente, tem sido prática confundir valor com preço e ensino superior com formação profissional e os cursos que se aproveitaram disso para atrair alunos vão sofrer agora as consequências. Mas já não é razoável dizer a um jovem de 18 anos que a licenciatura em informática que concluir aos 21 lhe vai render dinheiro no mercado de trabalho. O conhecimento terá valor mas o preço será, provavelmente, o mesmo da tradução.
Caires critica «o espantalho de uma iminente desvalorização do trabalho intelectual e da educação qualificada». Se é de valor que falamos, concordo que é espantalho. Mas se falamos de preço, então o problema é óbvio. A compra deste tipo de trabalho, seja traduzir uma língua noutra seja traduzir requisitos em código, estava dependente da incapacidade humana de programar computadores para o fazer. Essa limitação foi ultrapassada e se as alternativas forem pagar umas semanas de trabalho ou uns segundos de computação é fácil de antecipar qual o mercado vai preferir.
1- Luís Caires, Público, A insustentável leveza da IA, trabalho e educação
