ChatGPT é bom para gerar códigos, mas com uma condição

Estudo mostra que chatbot se sai melhor ao tentar resolver problemas que ele provavelmente conhece. Modelo de linguagem pode não entender pedidos inéditos.

Giovanni Santa Rosa
Por
ChatGPT
GPT-3.5, responsável pelas respostas do ChatGPT, foi treinado com dados coletados até 2021 (Imagem: Vitor Pádua / Tecnoblog)

Um estudo mostrou que o ChatGPT consegue uma boa taxa de sucesso ao tentar resolver problemas de código da plataforma de testes LeetCode. No entanto, o desempenho cai nas questões publicadas depois de 2021, chegando a apenas 0,66% de respostas corretas em alguns casos.

Esta divisão fica clara nos números: nos problemas do LeetCode considerados fáceis, o ChatGPT produziu códigos funcionais em 89% dos casos anteriores a 2021 e 52% dos casos posteriores. Nas questões difíceis, a queda é gritante, passando de 40% pré-2021 para 0,66% pós-2021.

Código
ChatGPT pode ser usado, mas desenvolvedor tem que saber lidar com limitações (imagem: Emerson Alecrim / Tecnoblog)

Uma possível explicação para isso está no treinamento do GPT-3.5, modelo de linguagem responsável por fornecer as respostas do ChatGPT: apenas dados coletados até 2021 foram usados nesta fase de desenvolvimento.

Como resultado, é possível que o modelo tenha “aprendido” a dar respostas somente para aqueles problemas. O chatbot tem dificuldades até mesmo para entender os problemas incluídos no LeetCode após 2021, explica Yutian Tang, pesquisador da Universidade de Glasgow (Escócia) e um dos responsáveis pelo estudo.

ChatGPT sabe programar, mas tem limitações

Os responsáveis pela pesquisa também pediram para o ChatGPT corrigir seus próprios erros, escolhendo 50 cenários aleatoriamente. A falta de capacidade de compreensão foi uma das principais limitações da inteligência artificial.

O chatbot foi bem ao consertar erros de compilação, mas não tão bem quando precisava reparar problemas que ele mesmo tinha causado. Novamente, isso aponta que a IA generativa pode entender errado o que foi pedido e, sem ter como partir do pressuposto correto, não encontrar o problema.

Os pesquisadores também encontraram vulnerabilidades nos códigos gerados pelo ChatGPT, mas não era difícil encontrá-las e corrigi-las.

Mesmo assim, o robô tem seus méritos. Segundo os pesquisadores, o ChatGPT gerava códigos com tempo de execução e sobrecarga de memória menores que a maioria das soluções humanas para os problemas do LeetCode.

Por isso, os cientistas não descartam o uso da IA generativa para programar, desde que os desenvolvedores entendam as limitações da ferramenta. “Ao encontrar problemas de programação mais complexos, os desenvolvedores podem fornecer o máximo de conhecimento relevante e alertar o ChatGPT sobre possíveis vulnerabilidades”, recomenda Tang.

Com informações: IEEE Spectrum

Relacionados