SWE-bench Science: Can Coding Agents Resolve Engineering Tasks in Science?
Este artigo apresenta o SWE-bench Science, um benchmark abrangente de 119 tarefas em nível de repositório através de 20 domínios científicos que revela que os atuais agentes de codificação têm dificuldade em resolver tarefas de engenharia em software científico devido a mecanismos de falha específicos, como déficits de conhecimento e erros de exploração, ao mesmo tempo em que demonstra que a utilidade da orientação científica explícita depende do seu alinhamento com o contexto da reparação.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
A ciência sempre dependeu de ferramentas: o telescópio que revelou estrelas distantes, o microscópio que desvendou o mundo oculto das células e o acelerador de partículas que sondou o tecido da matéria. Hoje, um novo tipo de ferramenta tornou-se indispensável, uma que não vive em uma gaveta de laboratório, mas no reino digital do código de computador. Este software não é mais apenas um auxiliar que processa números para um cientista; ele se tornou o próprio instrumento. Quando um pesquisador simula um novo fármaco, modela o clima ou analisa a luz de uma galáxia distante, ele está executando programas que atuam como a própria lente através da qual ele visualiza a realidade. Se o código contiver uma falha, o resultado não é meramente um erro de computador; é uma evidência corrompida que pode comprometer uma conclusão científica.
Por anos, pesquisadores têm tentado ensinar a inteligência artificial a consertar esses programas quebrados. Eles construíram testes para ver se um computador consegue ler um relatório de erro e escrever uma correção para reparar o software. Esses testes mostraram que as máquinas estão ficando melhores em corrigir erros de codificação simples. No entanto, uma questão crítica permanecia sem resposta: podem esses sistemas inteligentes lidar com o mundo complexo e de alto risco do software científico? Neste domínio, um conserto deve fazer mais do que apenas fazer um programa rodar; ele deve preservar as leis delicadas da física, química ou biologia que o código está tentando representar. Um reparo que faz o software rodar mais rápido, mas altera o significado científico, é um fracasso, mesmo que o computador diga que passou no teste.
Uma equipe de pesquisadores agora abordou essa questão criando um novo campo de testes chamado SWE-bench Science. Eles reuniram 119 tarefas do mundo real de 98 projetos de software diferentes usados por cientistas em 20 campos distintos, variando da química e biologia à astronomia e engenharia civil. Essas tarefas não eram exercícios simples; foram extraídas de problemas reais que cientistas enfrentaram, como uma simulação produzindo um valor de energia incorreto para um cristal ou uma ferramenta de análise de dados interpretando erroneamente as coordenadas de uma amostra biológica. Os pesquisadores organizaram esses desafios em três tipos. Alguns eram reparos diretos de bugs conhecidos, outros exigiam que a IA atuasse como um investigador especialista para descobrir por que um resultado científico parecia errado, e o restante exigia que a IA entendesse como diferentes partes de um sistema de software massivo se encaixam para completar um fluxo de trabalho inteiro.
Os resultados deste experimento foram reveladores. Mesmo os agentes de codificação mais avançados disponíveis hoje lutaram significativamente. O sistema com melhor desempenho, um modelo sofisticado equipado com um assistente de codificação poderoso, conseguiu resolver menos da metade das tarefas corretamente. Essa baixa taxa de sucesso destaca um profundo abismo entre o que a inteligência artificial atual pode fazer e o que é necessário para manter o software científico. Os pesquisadores descobriram que, quando esses sistemas falhavam, faziam-no de quatro maneiras previsíveis. Frequentemente, a IA carecia do conhecimento científico específico necessário para entender o problema, levando-a a propor correções que faziam sentido para um computador, mas violavam as leis da natureza. Às vezes, o sistema corrigia apenas o sintoma superficial que conseguia ver, como um número que parecia errado, sem rastrear o erro até sua causa raiz. Em outros casos, o conserto funcionava para uma parte do programa, mas quebrava a conexão com outra parte, falhando em integrar o reparo ao sistema maior. Finalmente, a IA frequentemente falhava em aplicar um princípio científico a novas situações, ficando presa ao exemplo específico que lhe foi dado e sendo incapaz de generalizar sua solução.
Para entender o papel do conhecimento científico nessas falhas, os pesquisadores conduziram um experimento específico. Eles pegaram um subconjunto das tarefas e as executaram duas vezes: uma com a IA recebendo informações de base adicionais sobre a ciência envolvida, e outra sem elas. Os resultados mostraram que essa informação extra não era uma solução mágica. Para alguns dos modelos de IA mais fortes, fornecer contexto científico tornou-os ligeiramente menos propensos a resolver o problema perfeitamente, talvez porque o texto extra os distraísse ou os levasse a confiar demais na explicação fornecida em vez de testarem suas próprias ideias. Para modelos mais fracos, a informação extra ajudou, mas também exigiu que utilizassem mais poder computacional. Isso sugere que simplesmente alimentar uma IA com mais fatos não garante um reparo melhor; o sistema deve ser capaz de conectar esses fatos ao código e verificá-los através da execução.
O estudo conclui que, embora a inteligência artificial esteja progredindo na engenharia de software geral, as demandas únicas da computação científica permanecem um desafio formidável. Corrigir código científico requer um nível de compreensão que vai além da sintaxe e da lógica; exige uma compreensão dos princípios físicos e teóricos que o código incorpora. Até que esses sistemas possam distinguir confiavelmente entre um programa que roda e um programa que é cientificamente válido, a tarefa de manter os instrumentos digitais da ciência provavelmente continuará sendo um trabalho para especialistas humanos. O novo benchmark fornece um mapa claro de onde esses sistemas se encontram hoje, mostrando que o caminho para o reparo de software científico totalmente autônomo ainda é longo e repleto de obstáculos complexos.
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.