
Uma equipe de pesquisadores acaba de publicar um mapa abrangente dos desafios enfrentados pela inteligência artificial (IA) no desenvolvimento de software e propôs um roteiro de pesquisa para impulsionar ainda mais a área.
Imagine um futuro onde a IA assuma silenciosamente as tarefas rotineiras do desenvolvimento de software: refatorar código complexo, migrar sistemas legados e detectar condições de corrida, para que os engenheiros de software humanos possam se concentrar na arquitetura do sistema, no design e em problemas criativos que as máquinas ainda não conseguem resolver. Os recentes avanços na IA parecem estar tornando essa visão mais próxima.
No entanto, um novo estudo realizado por cientistas do Laboratório de Ciência da Computação e Inteligência Artificial (CSAIL) do MIT e institutos de pesquisa parceiros mostrou que, para concretizar esse futuro, precisamos primeiro analisar diretamente os desafios muito reais do presente.
“Muitas pessoas dizem que os programadores não são mais necessários porque a IA automatiza tudo”, disse Armando Solar-Lezama, professor de engenharia elétrica e ciência da computação no MIT, pesquisador sênior do CSAIL e principal autor do estudo. “Na verdade, fizemos progressos significativos. As ferramentas são muito mais poderosas do que antes. Mas ainda há um longo caminho a percorrer para concretizar todo o potencial da automação.”
O professor Armando Solar-Lezama argumenta que a visão predominante reduz a engenharia de software a algo como uma tarefa de programação estudantil: pegar uma pequena função e escrever o código para lidar com ela, ou fazer um exercício no estilo LeetCode. A realidade, no entanto, é muito mais complexa: desde refatorações de código para otimizar projetos, até migrações em larga escala com milhões de linhas de código migrando de COBOL para Java, que mudam toda a base tecnológica de uma empresa.
A medição e a comunicação continuam sendo problemas difíceis.
Otimizações de código em escala industrial — como ajustes no núcleo da GPU ou melhorias em múltiplas camadas no mecanismo V8 do Chrome — ainda são difíceis de avaliar. Os benchmarks atuais são, em sua maioria, para problemas pequenos e padronizados. A métrica mais prática, o SWE-Bench, simplesmente pede a um modelo de IA para corrigir um bug no GitHub — um exercício de programação de baixo nível que envolve algumas centenas de linhas de código, potencialmente expondo dados, e ignora uma ampla gama de cenários do mundo real, como refatoração assistida por IA, programação em pares humano-máquina ou reescritas de sistemas de alto desempenho com milhões de linhas de código. Até que os benchmarks se expandam para abranger cenários de maior risco, medir o progresso — e, portanto, acelerá-lo — continuará sendo um desafio em aberto.
Além disso, a comunicação entre humanos e máquinas também representa uma grande barreira. O estudante de doutorado Alex Gu, autor principal do estudo, afirmou que, atualmente, interagir com IA ainda é como "uma linha de comunicação frágil". Ao solicitar que a IA gere código, ele frequentemente recebe arquivos grandes e não estruturados, juntamente com alguns conjuntos de testes simples e superficiais. Essa lacuna também se reflete no fato de que a IA não consegue aproveitar efetivamente ferramentas de software familiares aos humanos, como depuradores, analisadores estáticos, etc.
Apelo à ação da comunidade
Os autores argumentam que não existe uma solução mágica para esses problemas e defendem esforços em escala comunitária: a criação de dados que reflitam o processo real de desenvolvimento dos programadores (qual código manter, qual código remover, como o código é refatorado ao longo do tempo, etc.); conjuntos de ferramentas de avaliação comuns para qualidade de refatoração, durabilidade de patches e precisão da migração de sistemas; e a criação de ferramentas transparentes que permitam à IA expressar incertezas e incentivar a intervenção humana.
O estudante de doutorado Alex Gu vê isso como um "chamado à ação" para grandes comunidades de código aberto, algo que nenhum laboratório sozinho consegue oferecer. Solar-Lezama prevê que o progresso virá em pequenos passos incrementais — "descobertas de pesquisa que resolvem partes do problema, uma de cada vez" — transformando a IA de uma "ferramenta de sugestão de código" em uma verdadeira parceira técnica.
“Por que isso importa? O software já é a base das finanças, do transporte, da saúde e de praticamente todas as atividades do dia a dia. Mas o esforço humano para construí-lo e mantê-lo com segurança está se tornando um gargalo”, disse Gu. “Uma IA capaz de realizar o trabalho pesado sem cometer erros ocultos liberaria os programadores para se concentrarem em criatividade, estratégia e ética. Mas, para chegarmos lá, precisamos entender: terminar um trecho de código é a parte fácil — a parte difícil é todo o resto.”
(Tradução resumida do MIT News)
Fonte: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html






Comentário (0)