Inteligência artificial consegue aprender e dominar linguagens de programação?
Por Dácio Castelo Branco • Editado por Claudio Yuge |
![Gerd Altmann/Pixabay](https://t.ctcdn.com.br/orzRhnoHdFwGqk96uchxzi7d8RQ=/640x360/smart/i577531.jpeg)
A Inteligência Artificial (IA) é um tópico que está cada vez se afastando mais de ser algo somente de ficção cientifica e virando realidade no dia a dia do mundo. Com isso, questionamentos sobre a utilização da tecnologia em diferentes frentes começaram a surgir, pensando em como as IAs podem atuar nelas - incluindo utilização e criação de softwares por meio de linguagens de programação.
- 10 linguagens de programação que empresas procuram em candidatos
- 10 linguagens de programação que cursos recomendam para devs iniciantes
Parece algo muito distante pensar em IAs desenvolvendo aplicações, já que a maioria das maneiras que essa tecnologia é utilizada atualmente são para situações de tratamento de dados e execução de comandos específicos quando situações programadas nos modelos são identificadas.
Porém, pensando no que são linguagens de programação a grosso modo, especificamente que são comandos interpretados pelos computadores para execução de ações específicas, a utilização desses códigos por Inteligências Artificiais não parece algo impossível -principalmente em um cenário que as chamadas linguagens de scripting se tornam cada vez mais constantes no mercado, fazendo com que a partir de comandos básicos os programadores deixem a maior parte da execução e criação de aplicativos para as próprias máquinas.
![Canaltech](/logo-canaltech.png)
A expectativa, então, é que no futuro seja possível virar para uma assistente virtual, como a Alexa, e pedir um aplicativo específico — e a IA, com seu conhecimento programado em linguagens de scripting, construindo o programa e em certos momentos até mesmo questionando uma mudança de interface ou algo do tipo para preferência de quem solicitou o trabalho.
A programação com IA já está ocorrendo
Dado o contexto acima, é comum acreditar que o cenário de IAs saberem programar ainda está muito no campo da teoria, mas a realidade é outra, conforme demonstrado em um experimento em 2015.
Na ocasião, Andrej Karpathy, o atual Diretor de IA da Tesla e, na época, um estudante de PhD de Ciências da Computação na Universidade de Stanford, treinou redes neurais recorrentes com um documento de 400 MB que só contava com aplicações de código para testar como o modelo se comportaria ao receber a tarefa de programar algo.
Após o treino ter sido concluído, Karpathy deixou o modelo rodando durante uma madrugada, e quando retornou na manhã seguinte se surpreendeu ao ver que a IA havia feito um programa com funções, comentários e também obedecendo à sintaxe utilizada no documento usado no treinamento. Alguns erros no programa ocorreram, obviamente, mas o resultando tanto em 2015 quanto agora ainda é surpreendente.
E esse não é o único exemplo. Em 2017, a Universidade de Cambridge junto da Microsoft desenvolveu o DeepCoder, uma IA feita especificamente para a programação de softwares. O modelo utiliza um repositório com inúmeros exemplos de códigos de diversas linguagens de programação para criar programas pedidos por seus controladores. O sistema evolui conforme vai praticando a programação, e foi capaz de vencer algumas hackathons em que foi inscrito pelas empresas.
Os exemplos, no fim, são interessantes e provam que sim, a Inteligência Artificial pode ser utilizada para programação de software — mesmo que, no momento atual, os modelos capazes de tal feito ainda estejam atrelados ao mundo academico. Ao mesmo tempo, considerando como a tecnologia avança, o cenário, em uma década, pode ser muito diferente.
Fonte: Analytics Insight, TechCrunch, IN-COM, STX Next