Las capacidades de los chatbots de IA están creciendo rápidamente. Pero, ¿pueden codificar todavía y cuál es mejor en la tarea?
Cuando Google lanzó Bard, su respuesta a ChatGPT de OpenAI, le faltaba una función que era bastante popular entre los usuarios de ChatGPT: la capacidad de escribir código. Sin embargo, siguiendo la demanda popular, Google le dio a Bard una oportunidad, permitiéndole escribir código en docenas de lenguajes de programación.
Desde entonces, Google ha expresado lo bien que Bard puede escribir y depurar el código, pero ¿cómo se compara con el fenomenal ChatGPT? Vamos a averiguar.
ChatGPT frente a Bardo: soporte de idiomas
Oficialmente, Bard de Google puede trabajar con alrededor de 20 lenguajes de programación. Estos consisten principalmente en los populares como Typescript, Python, C ++, Go, Java, JavaScript y PHP. Todavía puede manejar opciones menos populares como Perl y Scala, pero no es necesariamente tan eficiente.
ChatGPT, por otro lado, no tiene una lista oficial de idiomas admitidos. El chatbot puede manejar la mayor parte de lo que Bard puede manejar y docenas más. ChatGPT puede escribir, depurar y explicar el código en los lenguajes de programación más nuevos y populares y
lenguajes heredados menos populares como Fortran, Pascal, BÁSICO y COBOL.Sin embargo, el apoyo no significa necesariamente competencia. Probamos algunas tareas simples en lenguajes selectos como PHP, JavaScript, BASIC y C++. Tanto Bard como ChatGPT pudieron cumplir con los lenguajes de programación populares, pero solo ChatGPT pudo encadenar de manera convincente programas en lenguajes más antiguos. Entonces, en términos de soporte de idiomas, le damos la victoria a ChatGPT.
ChatGPT frente a Bard: precisión y calidad del código
Supongamos que le pide a ChatGPT o Bard que genere un fragmento de código que haga algo, y escupe docenas de líneas de código en segundos. Fácil, ¿verdad? Pero, ¿con qué frecuencia funcionará ese código? Digamos que el código funciona; ¿Qué tan bueno es ese código?
Para comparar la precisión y la calidad del código generado por los dos chatbots de IA, les dimos a ambos algunas tareas de codificación para completar. Le pedimos a Bard y ChatGPT que generaran una aplicación de lista de tareas simple usando HTML, CSS y JavaScript. Después de copiar y pegar y ver el código generado en un navegador, la aplicación de ChatGPT se veía así:
Usando la versión de ChatGPT, puede agregar una nueva tarea, eliminar una tarea o marcar una tarea como completa. Bard de Google también pudo generar una aplicación de lista de tareas pendientes funcional. Sin embargo, solo puede agregar una tarea, sin posibilidad de eliminarla o marcarla como completa. La interfaz de Bard también parecía menos atractiva; esto es lo que parecía:
Repetimos la prueba, esta vez pidiendo a ambos chatbots que recrearan tarjetas de línea de tiempo de Twitter. Aquí está el resultado de ChatGPT:
Y esto es lo que produjo Bard de Google:
Ambos resultados tienen sus pros y sus contras. Habríamos optado por los resultados de Bard si tuviera los botones Me gusta, Retuitear y Comentar. Sin embargo, curiosamente los dejó fuera, por lo que le dejaremos decidir cuál es mejor. Por supuesto, la calidad del código no se trata solo de la estética de lo que produce.
Al analizar el código generado por ambos chatbots, el de Bard parecía estar más orientado a objetos, mientras que el de ChatGPT era más procedimental. Nuestra elección de lenguaje de programación podría influir en esto, pero ChatGPT parecía escribir un código más limpio cuando era necesario. También tiende a generar soluciones más completas, lo que normalmente conduce a más líneas de código.
En cuanto a la calidad del código generado, otorgamos esta ronda a ChatGPT.
ChatGPT frente a Bard: Depuración y detección de errores
Los errores y las fallas son como rompecabezas que a los programadores les encanta odiar. Te volverán loco, pero arreglarlos es bastante satisfactorio. Entonces, cuando encuentre errores en su código, ¿Debería llamar a Bard o ChatGPT para obtener ayuda?? Para decidir, le dimos a ambos chatbots de IA dos problemas de depuración para resolver.
En primer lugar, solicitamos a ambos chatbots que resolvieran un error lógico en un código PHP. Los errores lógicos son notoriamente más difíciles de detectar porque el código que los contiene no se ve mal, simplemente no hace lo que el programador pretendía.
El código de esta captura de pantalla se ejecuta, pero no funciona. ¿Puedes detectar el error lógico? Le pedimos ayuda a Bard de Google y, lamentablemente, el chatbot no pudo detectar el error lógico en el código. Curiosamente, Bard de Google generalmente tiene tres intentos de borrador para resolver un problema, revisamos los tres borradores y todos estaban equivocados.
Luego le pedimos ayuda a ChatGPT e inmediatamente detectó el error lógico.
El script PHP no tenía ningún error de sintaxis, pero la lógica en el es impar() la función estaba al revés. Para ver si un número es impar, normalmente verificaría si tiene un resto después de dividir por 2. Si lo hace, es un número impar.
Si bien Bard no estuvo cerca de identificar este error, ChatGPT lo detectó en el primer intento. Probamos cuatro errores lógicos más y Bard solo pudo detectar el error en una instancia, mientras que ChatGPT entregó constantemente. Después de cambiar a código con errores de sintaxis, Bard de Google pudo mantenerse al día, identificándolos en casi todas las muestras presentadas.
Bard de Google es relativamente bueno en la depuración, pero le daremos esta victoria a ChatGPT una vez más.
ChatGPT frente a Bardo: Conciencia del contexto
Uno de los mayores desafíos con el uso de chatbots de IA para la codificación es su conocimiento del contexto relativamente limitado. Le pides al chatbot que escriba un código, luego algo más... a lo largo de la línea, se olvida por completo de que lo siguiente que está construyendo es parte del mismo proyecto.
Por ejemplo, supongamos que está creando una aplicación web con un chatbot de IA. Le dices que escriba código para tu página HTML de registro e inicio de sesión, y lo hace perfectamente. Y luego, a medida que continúa construyendo, le pide al chatbot que genere un script del lado del servidor para manejar la lógica de inicio de sesión. Esta es una tarea simple, pero debido a la conciencia limitada del contexto, podría terminar generando un script de inicio de sesión con nuevas variables y convenciones de nomenclatura que no coinciden con el resto del código.
Entonces, ¿qué chatbot es mejor para retener la conciencia del contexto? A ambas herramientas les dimos la misma tarea de programación: una aplicación de chat que sabemos que ChatGPT ya puede construir.
Desafortunadamente, Bard simplemente no pudo completar la aplicación porque perdió la pista del contexto del proyecto después de que estuvo inactivo durante algún tiempo. A pesar de estar sujeto a las mismas condiciones, ChatGPT completó la aplicación. Una vez más, en términos de conocimiento del contexto, se lo damos a ChatGPT.
ChatGPT frente a Bardo: resolución de problemas
En este punto, el Bard de Google tiene muchas carencias. Pero, ¿puede finalmente obtener una victoria? Probemos sus habilidades para resolver problemas. A veces simplemente tiene un problema, pero no está seguro de cómo representarlo programáticamente, y mucho menos cómo resolverlo.
Situaciones como esta son cuando los chatbots de IA como Bard y ChatGPT pueden ser muy útiles. Pero, ¿qué chatbot tiene mejores habilidades para resolver problemas? Les pedimos a ambos que "escriba un código JavaScript que cuente cuántas veces aparece una palabra en particular en un texto."
Bard respondió con un código de trabajo, aunque falla cuando los signos de puntuación están cerca de una palabra o la palabra aparece en diferentes casos.
Lanzamos el mismo problema en ChatGPT y este es el resultado:
El código de ChatGPT adopta un enfoque más sólido y preciso para contar las ocurrencias de palabras en un texto. Considera los límites de las palabras y la distinción entre mayúsculas y minúsculas, maneja la puntuación correctamente y brinda resultados más confiables. Una vez más, en términos de resolución de problemas, se lo damos a ChatGPT.
Dado que Google Bard ha perdido bastante en todas las métricas que usamos para la comparación, decidimos darle una oportunidad de redención. Le preguntamos al chatbot"¿Cuál es mejor en la codificación? ¿ChatGPT o Google Bard?"
Si bien estuvo de acuerdo en que ChatGPT era más creativo, Bard dijo que era más probable que su competidor cometiera errores. y que ChatGPT produjo un código que era menos eficiente, no estaba bien estructurado y, en general, era menos confiable. ¡Tenemos que estar en desacuerdo!
ChatGPT está en una liga propia
Bard de Google ha disfrutado de mucha publicidad, por lo que puede ser una sorpresa ver cuánto le falta en comparación con ChatGPT. Si bien ChatGPT claramente tuvo una ventaja inicial, podría pensar que los recursos masivos de Google lo ayudarían a erosionar esa ventaja.
A pesar de estos resultados, no sería prudente descartar a Bard como una ayuda para la programación. Aunque no es tan poderoso como ChatGPT, Bard aún tiene un impacto significativo y está evolucionando a un ritmo rápido. Dados los recursos de Google, el surgimiento de Bard como un digno rival seguramente sea cuestión de tiempo.