Como os assistentes de IA já estão mudando a maneira como o código é feito

Publicado originalmente por MIT Technology Review

Duas semanas depois do início da aula de codificação que ele estava dando na Duke University na Carolina do Norte nesta primavera, Noah Gift disse aos seus alunos para jogarem fora os materiais do curso que ele havia dado a eles. Em vez de trabalhar com Python, uma das linguagens de programação de nível básico mais populares, os alunos agora estariam usando Rust, uma linguagem que era mais nova, mais poderosa e muito mais difícil de aprender.

Gift, um desenvolvedor de software com 25 anos de experiência, tinha acabado de aprender Rust. Mas ele estava confiante de que seus alunos ficariam bem com a troca de última hora. Isso porque cada um deles também ganharia um novo companheiro especial: uma ferramenta de IA chamada Copilot, um autocompletar turboalimentado para código de computador, construído sobre os últimos modelos de linguagem grande da OpenAI, GPT-3.5 e GPT-4 .

O Copilot é feito pelo GitHub, uma empresa que administra uma plataforma de desenvolvimento de software online usada por mais de 100 milhões de programadores. A ferramenta monitora cada tecla que você pressiona, prevê o que você está tentando fazer na hora e oferece um fluxo ininterrupto de trechos de código que você pode usar para fazer isso. Gift, que tinha sido informado sobre o Copilot por alguém que ele conhecia na empresa controladora do GitHub, a Microsoft, viu seu potencial imediatamente.

“Não teria como aprender Rust tão rápido sem o Copilot”, ele diz. “Eu basicamente tinha um assistente superinteligente ao meu lado que podia responder minhas perguntas enquanto eu tentava subir de nível. Era bem óbvio para mim que deveríamos começar a usá-lo em sala de aula.”

Gift não está sozinho. Pergunte a uma sala de estudantes de ciência da computação ou programadores se eles usam o Copilot, e muitos agora levantam a mão. Todas as pessoas entrevistadas para este artigo disseram que eles próprios usaram o Copilot — mesmo aqueles que apontaram problemas com a ferramenta.

Assim como o ChatGPT com educação, o Copilot está revolucionando uma profissão inteira ao dar às pessoas novas maneiras de executar tarefas antigas. Empacotado como um plug-in pago para o software Visual Studio da Microsoft (um tipo de multiferramenta padrão da indústria para escrever, depurar e implantar código), o Copilot é a versão mais sofisticada dessa tecnologia. Mas não é a única ferramenta disponível para codificadores. Em agosto, a Meta lançou um modelo gratuito de geração de código chamado Code Llama, baseado no Llama 2, a resposta da Meta ao GPT-4. No mesmo mês, a Stability AI — a empresa por trás do modelo de criação de imagens Stable Diffusion — lançou o StableCode. E, claro, há o ChatGPT, que a OpenAI lançou desde o início como um chatbot que pode ajudar a escrever e depurar código .

“É a primeira vez que modelos de machine learning foram realmente úteis para muitas pessoas”, diz Gabriel Synnaeve, que liderou a equipe por trás do Code Llama na Meta. “Não é só nerd — é realmente útil.”

Com a Microsoft e o Google prestes a agitar modelos generativos semelhantes em softwares de escritório usados ​​por bilhões ao redor do mundo (a Microsoft começou a usar o Copilot como uma marca no Office 365), vale a pena perguntar exatamente o que essas ferramentas fazem pelos programadores. Como elas estão mudando os fundamentos de um trabalho de décadas? Elas ajudarão os programadores a fazer mais e melhores softwares? Ou eles ficarão atolados em brigas legais sobre propriedade intelectual e direitos autorais? 

Na superfície, escrever código envolve digitar declarações e instruções em alguma linguagem de programação em um arquivo de texto. Isso então é traduzido em código de máquina que um computador pode executar — um nível acima dos 0s e 1s do binário. Na prática, os programadores também gastam muito tempo pesquisando no Google, procurando soluções alternativas para problemas comuns ou folheando fóruns online para maneiras mais rápidas de escrever um algoritmo. Os pedaços existentes de código pré-escrito são então reaproveitados, e o novo software geralmente se reúne como uma colagem…

Veja o artigo completo no site MIT Technology Review


Mais desse tópico: