A DeepMind criou a plataforma de inteligência artificial AlphaCode, que não é apenas parcialmente capaz de programar em vez de uma pessoa, mas também pronta para fazê-lo em um nível “competitivo”. Uma subsidiária da Alphabet testou o sistema em problemas usados em competições de programação humana.
Descobriu-se que, de acordo com os resultados do teste, a IA está entre os 54% que lidaram melhor com as tarefas. O resultado foi um grande passo em direção à criação de sistemas de programação autônomos, embora as habilidades do AlphaCode não estejam necessariamente à altura da tarefa do codificador médio.
Segundo a DeepMind, as pesquisas ainda estão em estágio inicial, mas já está claro que o programa pode resolver de forma autônoma tarefas de programação que até recentemente estavam disponíveis apenas para pessoas. A empresa espera que, a longo prazo, a IA ajude os desenvolvedores a escrever código, melhorar a produtividade dos funcionários e fornecer novas maneiras de desenvolver software.
O AlphaCode foi testado na plataforma Codeforces, que publica tarefas de programação semanais e avaliações de programadores. As tarefas são diferentes daquelas que um programador pode enfrentar ao criar, por exemplo, um aplicativo comercial. Eles são mais “autossuficientes” e exigem amplo conhecimento de algoritmos e conceitos teóricos de ciência da computação. Para resolvê-los, é necessária uma abordagem combinada, pois o programador precisa entender lógica, matemática e a própria programação.
Um exemplo é uma tarefa na qual você precisa encontrar uma maneira de converter uma sequência de letras s e t repetidas aleatoriamente em outra sequência com os mesmos caracteres usando um número limitado de pressionamentos de tecla. Ao mesmo tempo, os concorrentes não podem, por exemplo, simplesmente digitar novas letras em vez das antigas – em vez disso, você precisa usar a tecla Backspace e excluir várias letras da string original. A tarefa refere-se a exemplos de média complexidade, à esquerda da imagem contém sua descrição, à direita – amostras.
Dez tarefas semelhantes foram atribuídas ao AlphaCode para serem executadas da mesma maneira que os humanos são designados para realizá-las. A IA gerou uma série de soluções possíveis e eliminou as inadequadas executando o código e verificando o resultado, assim como um programador faria.
As 10 tarefas propostas pelo AplphaCode foram realizadas por 5.000 programadores no site do Codeforces. O trabalho de IA estava no top 54,3% das respostas e, de acordo com a DeepMind, isso fornece ao AlphaCode uma classificação Codeforces Elo de 1238. Assim, a IA estava entre os 28% melhores programadores que competiram no site nos últimos seis meses.
A DeepMind observa que as habilidades atuais do AlphaCode são aplicáveis apenas a competições de programação, mas, em teoria, o novo sistema permite que você crie ferramentas que podem tornar a programação mais acessível e, um dia, totalmente automatizada.
Muitas outras empresas são conhecidas por estarem trabalhando em soluções semelhantes. Muito progresso foi feito nos últimos anos, mas todos esses sistemas estão longe de substituir os programadores humanos. O código de IA lançado geralmente está cheio de bugs e, como esses sistemas geralmente são treinados em bibliotecas de código públicas, às vezes eles reproduzem fragmentos protegidos por direitos autorais e direitos relacionados.
Além disso, um estudo descobriu que o programa Copilot, desenvolvido pelo repositório de código GitHub, produziu código que continha 40% das vulnerabilidades. Especialistas em segurança da informação até sugeriram que os invasores possam escrever e compartilhar deliberadamente código com backdoors, que mais tarde serão usados para treinar sistemas de IA, como resultado, estão condenados a cometer erros em suas decisões futuras.
Esses problemas significam que os sistemas de programação de IA provavelmente serão integrados lentamente ao trabalho de programadores regulares até que “mereçam” confiança. Em outras palavras, eles ainda precisam aprender e aprender. Mas eles fazem isso muito rapidamente.