Gemini Pro 2.5: Um assistente de programação impressionante e um forte concorrente ao ChatGPT

Como parte das minhas avaliações de codificação de IA, realizo uma série padronizada de quatro testes de programação em cada IA. Esses testes visam determinar o quão bem uma IA pode auxiliar na programação, o que é bastante útil, especialmente se você depende da IA para gerar código. A última coisa que você deseja é que uma IA aidera a introduzir mais bugs em seu trabalho, não é mesmo?

Recentemente, um leitor me questionou sobre por que continuo utilizando os mesmos testes. Ele argumentou que as IAs poderiam se sair melhor se fossem apresentadas desafios diferentes. Essa é uma pergunta válida, mas a minha resposta também é justa. Esses testes são super simples. Estou utilizando PHP e JavaScript, que não são exatamente linguagens complexas, e estou executando algumas consultas de script nas IAs. Ao manter os mesmos testes, conseguimos comparar o desempenho diretamente. Um teste pede para escrever um plugin simples do WordPress, outro para reescrever uma função de string, um terceiro oferece ajuda para encontrar um bug que eu havia dificuldade em localizar, e o último utiliza algumas ferramentas de programação para recuperar dados do Chrome. Mas é como ensinar alguém a dirigir; se não consegue sair da garagem, você não vai deixá-lo solto em um carro rápido em uma estrada movimentada.

Até o momento, apenas o modelo GPT-4 (e versões superiores) do ChatGPT conseguiu passar em todos os testes. Sim, o Perplexity Pro também completou todos os testes, mas isso se deu porque ele roda na série LLM do GPT-4. Curiosamente, o Microsoft Copilot, que também utiliza o LLM do ChatGPT, não conseguiu passar em nenhum dos testes.

O modelo Gemini do Google não se destacou muito mais. Quando testei o Bard (nome inicial do Gemini), ele falhou na maioria dos testes (duas vezes). No ano passado, quando testei o Gemini Advanced, que custa $20 ao mês, ele falhou em três dos quatro testes. Agora, o Google apresentou o Gemini Pro 2.5, que chamou nossa atenção no ZDNET por ser disponibilizado gratuitamente para todos. Sem taxa adicional de $20 por mês. Embora o Google tenha esclarecido que o acesso gratuito estaria sujeito a limites de taxa, não imaginei que seria bloqueado após apenas duas solicitações, que foi exatamente o que ocorreu durante os meus testes.

É possível que o Gemini Pro 2.5 não esteja contando o número de solicitações para limitação, mas sim baseando seu estreitamento no escopo do trabalho solicitado. Minhas duas primeiras solicitações pediram ao Gemini Pro 2.5 que escrevesse um plugin completo para o WordPress e corrigisse um código, então talvez eu tenha esgotado os limites mais rapidamente do que você faria se apenas fizesse uma pergunta simples. Mesmo assim, levei alguns dias para realizar esses testes e, para minha grande surpresa, valeu muito a pena esperar.

Teste 1: Escrever um plugin simples para WordPress

Uau. Isso é definitivamente um contraste enorme em relação a como o Bard falhou duas vezes e o Gemini Advanced não teve sucesso em fevereiro de 2024. Simplificando, o Gemini Pro 2.5 passou neste teste logo de cara. O desafio era desenvolver um plugin simples para WordPress que proporcionasse uma interface amigável. Ele randomiza as linhas de entrada e distribui (sem remover) duplicados, tais que não ficam lado a lado.

Na última vez, o Gemini Advanced não elaborou uma interface de painel de gerenciamento, mas exigiu um shortcode que deveria ser inserido no texto de uma página pública. O Gemini Advanced conseguiu criar uma interface básica, mas na época, clicar no botão não resultou em nenhuma ação. Fiz algumas solicitações alternativas, e mesmo assim, falhou. Mas desta vez, o Gemini Pro 2.5 me apresentou uma interface sólida, e o código realmente funcionou como deveria.

O que me chamou a atenção, além da interface bem apresentada, foi a escolha do ícone para o plugin. A maioria das IAs ignora essa escolha e a interface simplesmente assume o padrão atribuído pelo WordPress. Mas o Gemini Pro 2.5 selecionou claramente um ícone da coleção de Dashicons do WordPress. Mais que isso, o ícone era perfeitamente adequado para a randomização das linhas no plugin.

Não só o Gemini Pro 2.5 teve sucesso neste teste, como também ganhou um “uau” pela escolha do ícone. Não pedi por isso, e foi exatamente o que eu precisava. O código estava completamente inline (o JavaScript e HTML estavam embutidos no PHP) e muito bem documentado. Além disso, o Gemini Pro 2.5 documentou cada segmento principal do código com um texto explicativo separado.

Teste 2: Reescrever uma função de string

No segundo teste, pedi que o Gemini Pro 2.5 reescrevesse um código de processamento de strings que lidava com dólares e centavos. Meu código teste inicial permitia apenas números inteiros (dólares apenas), mas o objetivo era permitir tanto dólares quanto centavos. Esse é um teste que o ChatGPT conseguiu realizar corretamente. O Bard inicialmente falhou, mas eventualmente acertou. Depois, em fevereiro de 2024, o Google Advanced falhou no teste de processamento de strings de uma maneira sutil e perigosa. O código gerado pelo Gemini Advanced não permitia entradas não decimais. Em outras palavras, 1.00 era aceito, mas 1 não. Também não aceitava 20. Além disso, decidiu limitar os números a dois dígitos antes do ponto decimal, ao invés de depois, demonstrando uma falta de compreensão do conceito de dólares e centavos. Ele falhou se você inserisse 100.50, mas aceitou 99.50.

Esse é um problema bastante simples, do tipo que você oferece a estudantes de programação do primeiro ano. Pior ainda, a falha do Gemini Advanced foi do tipo que pode não ser fácil de detectar para um programador humano, então se você confiasse no código do Gemini Advanced e presumisse que funcionasse, poderia acabar enfrentando uma avalanche de relatórios de bugs mais tarde.

Ao repetir o teste com o Gemini Pro 2.5, os resultados foram diferentes. O código verifica corretamente os tipos de entrada, remove espaços em branco, ajusta a expressão regular para permitir zeros à esquerda, entradas apenas decimais e falha em entradas negativas. Além disso, comenta de forma abrangente o código da expressão regular e oferece um conjunto completo de exemplos de teste, tanto válidos quanto inválidos (e devidamente enumerados).

Se houve algo, o código gerado pelo Gemini Pro 2.5 foi um pouco exageradamente rigoroso. Ele não permitiu a inclusão de vírgulas de agrupamento (como em $1.245,22) e também não aceitava símbolos de moeda à frente. Mas como meu prompt não solicitou isso e o uso de vírgulas ou símbolos de moeda retorna um erro controlado e não uma falha, considero isso aceitável. Até agora, o Gemini Pro 2.5 está 2 de 2. Este é um segundo sucesso.

Teste 3: Encontrar um bug

Em algum momento de minha jornada na programação, eu estava lutando com um bug. Meu código deveria funcionar, mas não funcionava. A questão não era imediatamente óbvia, mas quando perguntei ao ChatGPT, ele apontou que eu estava olhando no lugar errado. Eu estava investigando o número de parâmetros que estavam sendo passados, o que parecia ser a resposta correta para o erro que estava recebendo. Ao invés disso, eu precisava alterar o código em algo chamado "hook".

Tanto o Bard quanto o Meta seguiram pelo mesmo caminho equivocado e infrutífero que eu na época, perdendo os detalhes de como o sistema realmente funcionava. Como mencionei, o ChatGPT conseguiu entender. No entanto, em fevereiro de 2024, o Gemini Advanced nem sequer se deu ao trabalho de errar. Ele apenas sugeriu que eu olhasse "provavelmente em outro lugar no plugin ou no WordPress" para encontrar o erro.

Não preciso dizer que o Gemini Advanced, naquele momento, provou ser inútil. Mas agora, com o Gemini Pro 2.5, eu realmente não sei, e não saberei até amanhã. Aparentemente, eu esgotei meu limite de uso gratuito do Gemini Pro 2.5 com minhas duas primeiras perguntas.

Então, voltei no dia seguinte. O cachorro teve uma boa caminhada, o sol realmente apareceu (é Oregon, então isso é raro), e o Gemini Pro 2.5 estava novamente permitindo que eu inserisse solicitações. Fiz a solicitação para meu terceiro teste. Não só ele passou no teste e encontrou o bug algo oculto, como também apontou onde no código eu deveria corrigir. Literalmente. Ele me desenhou um mapa, com uma seta e tudo.

Em comparação ao meu teste de fevereiro de 2024 com o Gemini Advanced, a diferença foi enorme. Enquanto o Gemini Advanced foi o mais inútil possível (sério, "provavelmente em outro lugar no plugin ou WordPress" é a sua resposta?), o Gemini Pro 2.5 estava preciso, correto, e útil.

Com três de quatro testes corretos, o Gemini Pro 2.5 deixa a categoria de "chatbots a evitar para ajuda em programação" e entra na metade superior da nossa lista de classificação. Mas ainda temos um teste a ser realizado. Vamos ver como o Gemini Pro 2.5 se sai.

Teste 4: Escrevendo um script

Este último teste não é tão complicado em termos de habilidade de programação. O que ele avalia é a capacidade da IA de transitar entre três ambientes diferentes, além de quão obscuros podem ser esses ambientes de programação.

Esse teste requer compreensão do modelo de objeto interno do Chrome, como escrever AppleScript (que é bem mais obscuro do que, digamos, Python) e como programar para o Keyboard Maestro, uma ferramenta de macros desenvolvida por uma única pessoa na Austrália. A rotina é desenhada para abrir guias do Chrome e configurar a guia atualmente ativa para aquela que a rotina utiliza como parâmetro. É uma exigência de codificação relativamente estreita, mas é justamente o tipo de coisa que poderia levar horas para ser resolvida manualmente, uma vez que depende de entender quais parâmetros passar para cada ambiente.

A maioria das IAs se sai bem na relação entre AppleScript e Chrome, mas mais da metade delas ignora os detalhes sobre como passar parâmetros para e do Keyboard Maestro, componente essencial da solução. E, bem, uau novamente. O Gemini Pro 2.5 realmente entendeu o Keyboard Maestro. Ele escreveu o código necessário para passar variáveis de um lado para o outro como deveria. Além disso, adicionou uma verificação de erro e notificação ao usuário (não solicitadas no prompt) caso a variável não pudesse ser configurada. Depois, em sua seção de explicações, ainda forneceu os passos necessários para configurar o Keyboard Maestro para funcionar nesse contexto.

E isso, senhoras e senhores, coloca o Gemini Pro 2.5 no seleto grupo dos vencedores.

Sabíamos que isso iria acontecer. Era apenas uma questão de tempo. O Google conta com muitas pessoas muito inteligentes. Na verdade, foi o Google que iniciou a explosão da IA generativa em 2017 com seu artigo de pesquisa "A Atenção é Tudo o Que Você Precisa".

Embora o Bard, o Gemini e até o Gemini Advanced tenham falhado miseravelmente em meus testes básicos de programação no passado, era uma questão de tempo até que a ferramenta de IA principal do Google alcançasse as ofertas da OpenAI. Esse momento chegou, pelo menos para os meus testes de programação. O Gemini Pro 2.5 é mais lento que o ChatGPT Plus. O ChatGPT Plus responde praticamente instantaneamente. Já o Gemini Pro 2.5 parece levar entre 15 segundos e um minuto.

Ainda assim, esperar alguns segundos por um resultado preciso e útil é muito mais valioso do que receber respostas erradas imediatamente. Em fevereiro, escrevi sobre o Google abrindo o Google Code Assist e tornando-o gratuito, com limites muito generosos. Eu disse que isso seria bom, mas apenas se o Google fosse capaz de gerar um código de qualidade. Com o Gemini Pro 2.5, isso agora é uma realidade.

A única ressalva, e que espero ser resolvida em alguns meses, é que o Gemini Pro 2.5 é classificado como "experimental". Não está claro quanto isso custaria, ou mesmo se você poderá fazer um upgrade para uma versão paga com menos limites. Mas não me preocupo. Volte em alguns meses, e estou certo de que tudo será resolvido. Agora que sabemos que o Gemini (pelo menos na versão Pro 2.5) pode fornecer assistência de codificação realmente boa, é bastante evidente que o Google está prestes a confrontar o ChatGPT de igual para igual.

Fique atento. Você sabe que estarei escrevendo mais sobre isso.

Você já testou o Gemini Pro 2.5? Como foi seu desempenho nas suas próprias tarefas de programação? Você acha que finalmente alcançou ou até superou o ChatGPT quando se trata de ajuda em programação? Quão importante é velocidade em comparação com precisão quando você conta com um assistente de IA para trabalho de desenvolvimento?

E se você realizou seus próprios testes, o Gemini Pro 2.5 te surpreendeu da maneira como surpreendeu aqui? Compartilhe suas experiências nos comentários abaixo.

Referência: ZDNET

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima