O Github, em parceria com a OpenAI, lancou a preview técnica do Github Copilot, ferramenta que utiliza técnicas de inteligência artificial (IA) para auxiliar e facilitar o processo de escrita de código, não se limitando apenas a completar chamadas ou comandos, como nos conhecidos “autocompletes” de IDEs como Visual Studio e IntelliJ, mas escrevendo linhas e funções inteiras a partir de um “docstrings”, ou seja, de uma documentação da funcionalidade escrita utilizando linguagem natural.
Criado a partir de um trabalho conjunto do Github, plataforma da Microsoft de hospedagem de código-fonte com controle de versão Git, com a OpenAI, empresa focada em R&D de soluções de IA para diversas áreas do conhecimento, o Github Copilot está sendo utilizado há meses por centenas de desenvolvedores das empresas fundadoras do projeto.
A partir de repositórios públicos de código-fonte obtidos no Github, o modelo de inteligência artificial Codex, criado pela OpenAI a partir do modelo GPT-3, foi treinado para gerar código a partir de definições escritas em linguagem natural. O resultado desse trabalho é o sistema que é disponibilizado via um plugin do Visual Studio Code, editor de texto da Microsoft.
O que é um “modelo” de inteligência artificial?
Um modelo é um objeto que representa o que foi aprendido por um algoritmo de aprendizado de máquina.Em junho de 2020, a OpenAI publicou o GPT-3, modelo de linguagem autoregressivo, utilizado para diversas tarefas da área de linguística computacional, como responder perguntas, sumarizar textos, gerar redações a partir de tópicos, etc. Até então era o maior modelo já criado, com mais de 175 bilhões de parâmetros. Esse sistema gerou muita controvérsia por inúmeros fatores; dentre eles a possibilidade de poder ser utilizado como uma máquina de fake news, ou até mesmo, pela possibilidade de substituir pessoas desenvolvedoras de código.
Escrevemos aqui mais sobre esse assunto, mas o que entendemos como tarefa de qualquer sistema de IA avançado, não é de substituir determinado cargo ou tipo de profissão, mas sim de ser uma ferramenta poderosa para potencializar resultados e otimizar a produtividade.O Github Copilot é um exemplo disso.
As próprias empresas anunciam de forma clara na landing page do serviço que: “O GitHub Copilot tenta entender sua intenção e gerar o melhor código possível, mas o código que ele sugere pode nem sempre funcionar, ou mesmo fazer sentido”.
Elas também sugerem a melhor forma de utilização da ferramenta: “Funciona melhor quando você divide seu código em pequenas funções, usa nomes significativos para parâmetros de funções e escreve boas docstrings e comentários à medida que avança. Ele também parece funcionar melhor quando o ajuda a navegar em bibliotecas ou estruturas desconhecidas”.
Com isso, vemos que isso é mais uma área onde a IA pode criar uma ferramenta que possui como foco ajudar profissionais a serem mais eficientes e a tomarem melhores decisões.
O Github Copilot atualmente conta com suporte da língua inglesa para definição de funcionalidades e consegue gerar código em dezenas de linguagens diferentes, mas tem como foco as linguagens Python, JavaScript, TypeScript, Ruby, e Go.