As capacidades dos chatbots de IA estão crescendo rapidamente. Mas eles já podem codificar e qual é o melhor para a tarefa?
Quando o Google lançou o Bard, sua resposta ao ChatGPT da OpenAI, faltava um recurso bastante popular entre os usuários do ChatGPT: a capacidade de escrever código. No entanto, seguindo a demanda popular, o Google deu uma injeção de ânimo em Bard, permitindo-lhe escrever código em dezenas de linguagens de programação.
Desde então, o Google tem falado sobre o quão bem Bard pode escrever e depurar código, mas como ele se compara ao fenomenal ChatGPT? Vamos descobrir.
ChatGPT vs. Bardo: Suporte a idiomas
Oficialmente, o Bard do Google pode trabalhar com cerca de 20 linguagens de programação. Estes consistem principalmente em populares como Typescript, Python, C++, Go, Java, JavaScript e PHP. Ele ainda pode lidar com opções menos populares como Perl e Scala, mas não é necessariamente tão eficiente.
O ChatGPT, por outro lado, não possui uma lista oficial de idiomas suportados. O chatbot pode lidar com a maior parte do que Bard pode lidar e dezenas de outros. O ChatGPT pode escrever, depurar e explicar o código nas linguagens de programação mais recentes e populares e
linguagens legadas menos populares como Fortran, Pascal, BASIC e COBOL.No entanto, suporte não significa necessariamente proficiência. Testamos algumas tarefas simples em linguagens selecionadas como PHP, JavaScript, BASIC e C++. Tanto o Bard quanto o ChatGPT foram capazes de fornecer as linguagens de programação populares, mas apenas o ChatGPT foi capaz de reunir programas em linguagens mais antigas de maneira convincente. Portanto, em termos de suporte a idiomas, damos a vitória ao ChatGPT.
ChatGPT vs. Bardo: Precisão e Qualidade de Código
Digamos que você peça ao ChatGPT ou ao Bard para gerar um trecho de código que faça algo e ele gere dezenas de linhas de código em segundos. Fácil, certo? Mas com que frequência esse código funcionará? Digamos que o código funcione; quão bom é esse código?
Para comparar a precisão e a qualidade do código gerado pelos dois chatbots de IA, demos a ambos algumas tarefas de codificação para serem concluídas. Pedimos ao Bard e ao ChatGPT para gerar um aplicativo simples de lista de tarefas usando HTML, CSS e JavaScript. Depois de copiar e colar e visualizar o código gerado em um navegador, o aplicativo do ChatGPT ficou assim:
Usando a versão do ChatGPT, você pode adicionar uma nova tarefa, excluir uma tarefa ou marcar uma tarefa como concluída. O Bard do Google também foi capaz de gerar um aplicativo funcional de lista de tarefas. No entanto, você só pode adicionar uma tarefa, sem meios de excluí-la ou marcá-la como concluída. A interface de Bard também parecia menos atraente; aqui está o que parecia:
Repetimos o teste, desta vez pedindo aos dois chatbots para recriar os cartões da linha do tempo do Twitter. Aqui está o resultado do ChatGPT:
E aqui está o que Bard, do Google, produziu:
Ambos os resultados têm seus prós e contras. Teríamos seguido os resultados de Bard se tivesse os botões de curtir, retuitar e comentar. No entanto, estranhamente os deixou de fora, então vamos deixar você decidir qual é o melhor. Claro, a qualidade do código não é apenas sobre a estética do que ele produz.
Ao analisar o código gerado por ambos os chatbots, o de Bard parecia ser mais orientado a objetos, enquanto o de ChatGPT era mais procedural. Nossa escolha de linguagem de programação pode influenciar isso, mas o ChatGPT parecia escrever um código mais limpo quando necessário. Também tende a gerar soluções mais completas, geralmente levando a mais linhas de código.
Em termos de qualidade do código gerado, premiamos esta ronda ao ChatGPT.
ChatGPT vs. Bard: Depuração e Detecção de Erros
Erros e bugs são como quebra-cabeças que os programadores adoram odiar. Eles vão deixá-lo louco, mas consertá-los é bastante satisfatório. Então, quando você encontrar bugs em seu código, você deve ligar para Bard ou ChatGPT para obter ajuda? Para decidir, demos a ambos os chatbots de IA dois problemas de depuração para resolver.
Em primeiro lugar, solicitamos aos dois chatbots que resolvessem um erro lógico em um código PHP. Os erros lógicos são notoriamente mais difíceis de detectar porque o código que os contém não parece errado, apenas não faz o que o programador pretendia.
O código nesta captura de tela é executado, mas não funciona. Você consegue identificar o erro lógico? Pedimos ajuda ao Bard do Google e, infelizmente, o chatbot não conseguiu identificar o erro lógico no código. Curiosamente, o Bard do Google normalmente tem três tentativas de rascunho para resolver um problema, verificamos todos os três rascunhos e todos estavam errados.
Em seguida, pedimos ajuda ao ChatGPT e ele imediatamente detectou o erro lógico.
O script PHP não tinha nenhum erro de sintaxe, mas a lógica no é estranho() a função estava atrasada. Para ver se um número é ímpar, você normalmente verifica se há resto após a divisão por 2. Se isso acontecer, é um número ímpar.
Enquanto Bard não estava nem perto de identificar esse bug, o ChatGPT o detectou na primeira tentativa. Tentamos mais quatro erros lógicos e Bard só conseguiu identificar o erro em uma instância enquanto o ChatGPT era entregue de forma consistente. Depois de mudar para códigos com erros de sintaxe, Bard, do Google, conseguiu acompanhar, identificando-os em quase todas as amostras apresentadas.
O Bard do Google é relativamente bom em depuração, mas daremos essa vitória ao ChatGPT mais uma vez.
ChatGPT vs. Bardo: Consciência do Contexto
Um dos maiores desafios com o uso de chatbots de IA para codificação é sua consciência de contexto relativamente limitada. Você pede ao chatbot para escrever algum código, depois um pouco mais... ao longo da linha, ele esquece completamente que a próxima coisa que está construindo faz parte do mesmo projeto.
Por exemplo, digamos que você esteja criando um aplicativo da web com um chatbot de IA. Você diz a ele para escrever o código para sua página HTML de registro e login, e ele o faz perfeitamente. E então, conforme você continua construindo, você pede ao chatbot para gerar um script do lado do servidor para lidar com a lógica de login. Essa é uma tarefa simples, mas devido ao conhecimento limitado do contexto, pode acabar gerando um script de login com novas variáveis e convenções de nomenclatura que não correspondem ao restante do código.
Então, qual chatbot é melhor para reter a percepção do contexto? Demos a ambas as ferramentas a mesma tarefa de programação: um aplicativo de bate-papo que sabemos que o ChatGPT já pode criar.
Infelizmente, Bard simplesmente não conseguiu concluir o aplicativo porque perdeu o controle do contexto do projeto depois de ficar ocioso por algum tempo. Apesar de estar sujeito às mesmas condições, o ChatGPT completou a app. Mais uma vez, em termos de consciência de contexto, damos ao ChatGPT.
ChatGPT vs. Bardo: Resolução de Problemas
Neste ponto, o Bard do Google está faltando de várias maneiras. Mas pode finalmente marcar uma vitória? Vamos testar suas habilidades de resolução de problemas. Às vezes, você apenas tem um problema, mas não tem certeza de como representá-lo programaticamente, muito menos de como resolvê-lo.
Situações como essa são quando chatbots de IA como Bard e ChatGPT podem ser bastante úteis. Mas qual chatbot tem melhores habilidades de resolução de problemas? Pedimos a ambos que "escreva um código JavaScript que conte quantas vezes uma determinada palavra aparece em um texto."
Bard respondeu com código de trabalho, embora falhe quando os sinais de pontuação estão próximos de uma palavra ou a palavra aparece em diferentes casos.
Lançamos o mesmo problema no ChatGPT e aqui está o resultado:
O código do ChatGPT adota uma abordagem mais robusta e precisa para contar ocorrências de palavras em um texto. Ele considera os limites das palavras e a diferenciação entre maiúsculas e minúsculas, manipulando a pontuação adequadamente e fornecendo resultados mais confiáveis. Mais uma vez, em termos de resolução de problemas, damos-lhe ao ChatGPT.
Como o Google Bard perdeu praticamente todas as métricas que usamos para comparação, decidimos dar uma chance de redenção. Pedimos ao chatbot "Qual é melhor em codificação? ChatGPT ou Google Bard?"
Embora concordasse que o ChatGPT era mais criativo, a Bard disse que seu concorrente era mais propenso a cometer erros e que o ChatGPT produziu um código menos eficiente, mal estruturado e geralmente menos confiável. Temos que discordar!
ChatGPT está em uma liga própria
O Bard do Google tem desfrutado de muito hype, então pode ser uma surpresa ver o quanto falta em comparação com o ChatGPT. Embora o ChatGPT tenha claramente uma vantagem inicial, você pode pensar que os recursos maciços do Google ajudariam a diminuir essa vantagem.
Apesar desses resultados, seria imprudente descartar o Bard como um auxiliar de programação. Embora não seja tão poderoso quanto o ChatGPT, o Bard ainda tem um impacto significativo e está evoluindo em um ritmo acelerado. Dados os recursos do Google, o surgimento de Bard como um rival digno é certamente uma questão de tempo.