A inteligência artificial vem apresentando melhorias significativas quando a tarefa é gerar código. No entanto, apesar da tecnologia permitir que o trabalho de programação possa ser automatizado por meio de modelos de linguagem, isso não significa que os resultados são totalmente confiáveis. 

Alguns exemplos de modelos pré-treinados incluem o Codex, da OpenAI; o programa de linguagem natural BERT, do Google; e o projeto de geração de código da DeepMind. No caso do Codex, lançado em agosto do ano passado, ele está disponível através da ferramenta Copilot do GitHub, que é propriedade da Microsoft. 

Com o intuito de garantir a qualidade do trabalho realizado por esses modelos de linguagem, pesquisadores da Microsoft criaram uma ferramenta chamada Jigsaw

Ela é capaz de melhorar o desempenho desses modelos utilizando o que os pesquisadores descrevem como técnicas de pós-processamento que compreendem a sintaxe e semântica dos programas, além de analisar o feedback de usuários para aprimorar o desempenho futuro.

De acordo com a Microsoft, a nova ferramenta foi desenvolvida para sintetizar código para o Python Pandas API utilizando inputs multimodais. O Pandas é uma biblioteca de manipulação e análise de dados para profissionais que trabalham com a linguagem de programação Python

Controle de qualidade

Cada modelo de linguagem apresenta suas particularidades. O Codex, por exemplo, permite que os desenvolvedores utilizem uma descrição no idioma inglês para um pedaço de código. A partir disso, o modelo consegue sintetizar o código pretendido em linguagens como Python ou JavaScript

Linguagem de programação.
O modelo consegue sintetizar o código pretendido em linguagens como Python ou JavaScript.

O recurso promete facilitar e acelerar o trabalho que seria feito manualmente por um humano. Mas, por outro lado, a tecnologia ainda não foi aperfeiçoada o suficiente para que o resultado final seja isento de erros; o código pode estar incorreto ou apresentar falhas ao rodar ou ser compilado. Isso significa que os desenvolvedores precisam verificar o que foi produzido pela máquina antes de utilizá-lo.

A Microsoft argumenta que o Projeto Jigsaw surge como uma forma de automatizar esse trabalho de controle de qualidade. O objetivo final seria aumentar a produtividade dos desenvolvedores que utilizam modelos de linguagem como o Codex para a síntese de código. 

A expectativa da gigante de tecnologia é que a ferramenta possa automatizar por completo todo o processo de análise para garantir que o código compile, de envio de mensagens de erro, e que ainda seja capaz de testar se o código produz os resultados esperados pelo desenvolvedor. 

Conforme explicam os pesquisadores, o Jigsaw interpreta uma descrição em inglês do código pretendido como o input e compara com o output associado, fornecendo uma análise sobre a qualidade do código Python que foi gerado. 

Maior precisão

O projeto foi descrito em um artigo intitulado “Jigsaw: Large Language Models meet Program Synthesis”, que analisa especificamente a abordagem com Python Pandas.

Os testes mostraram que o Jigsaw é capaz de criar o output correto em 30% das vezes. Neste sistema, a linguagem natural e outros parâmetros são pré-processados, alimentado no Codex e GPT-3 e, por fim, o output é enviado para a análise e edição humana.

O feedback fornecido por humanos é enviado novamente aos mecanismos de pré e pós-processamento para que eles sejam aprimorados. Caso o código apresente alguma falha, a ferramenta repete o processo de correção durante a etapa de pós-processamento. 

Segundo a equipe de pesquisadores, o Jigsaw aumenta a precisão de outputs em mais de 60%. Por meio do feedback de usuários, os resultados são ainda mais otimistas – a precisão aumenta em mais de 80%.

Você também pode gostar