LUN, 8 / JUL / 2024

ChatGPT tiene problemas para resolver nuevos problemas de programación

Un reciente estudio revela la dificultad que tiene la IA para seguir la evolución de las prácticas de los programadores. En muchos casos no ha logrado comprender la naturaleza de los desafíos más sencillos.

Un reciente estudio ha evaluado la calidad del código generado por ChatGPT. Los resultados han sido extremadamente desiguales, con niveles de éxito menores al 1% en algunos casos y del 89% en otros. Yutian Tang, uno de los investigadores, ha señalado que la generación de código a través de IA ofrece ventajas en términos de productividad. Pero es importante notar las limitaciones de los modelos. En análisis realizado tiene este objetivo.

Es importante notar que la versión de ChatGPT evaluada es la 3.5. Algunos usuarios han señalado que las versiones posteriores son mejores al programar. Pero hay cualidades que son propias de la forma en que trabajan las IA. El trabajo fue publicado en el número de junio de la IEEE Xplore, el sitio web del Instituto de Ingeniería Eléctrica y Electrónica.

Método

Los investigadores le presentaron a la IA unos 728 problemas de algoritmos. Incluyeron en ellos 5 lenguajes (C, C++, Java, Python y JavScript). También presentaron 18 categorías de debilidades comunes y 54 escenarios de código para la generación de código. En la evaluación de los resultados obtenidos se consideraron tres aspectos claves: corrección, complejidad y seguridad.

Un aspecto que se tuvo en consideración es la capacidad de ChatGPT para facilitar la generación de código en procesos de varias instancias. Lo que incluía por ejemplo el diálogo con los usuarios.

Resultados

ChatGPT demostró ser muy buena a la hora de resolver los problemas en los diferentes lenguajes. Fue especialmente eficiente con aquellos que aparecían en la plataforma LeetCode antes de 2021. En esos casos obtuvo un 89% de acierto para los problemas fáciles, un 71% para los de mediana dificultad y un 40% para los más difíciles.

Sin embargo, cuando se le presentaron problemas posteriores a 2021 su habilidad para generar código funcional cayó marcadamente. Obtuvo un 52% en los problemas fáciles. Y en el caso de los más difíciles cayó al 0,66%. En muchos casos, explica Tang, la IA no comprende las preguntas.

El problema de la falta de pensamiento crítico

Tang apunta que es lógico pensar que la diferencia está en que los problemas previos a 2021 aparecen de forma frecuente en las bases de dato de entrenamiento. A medida que las prácticas evolucionan, aparecen nuevos problemas y soluciones. ChatGPT, careciendo de la capacidad de pensar de forma crítica, no sabe como responder.

Como consecuencia la IA puede producir código incorrecto.

Corrigiendo errores

Los investigadores también probaron la capacidad de ChatGPT para corregir sus propios errores luego de obtener una devolución de LeetCode. Lo que descubrieron es que la IA tenía grandes problemas para esta tarea.  Concluyeron que cuando la IA no entiende la naturaleza del problema, la información que se le ofrece como feedback resulta insuficiente.

Es probable que el rendimiento de las IA mejore cuando los usuarios humanos también tengan mayor práctica y puedan facilitar consignas con mayor detalle y anticipando las dificultades de la IA. También es muy probable que por un buen tiempo las empresas tengan que contratar más programadores para corregir los problemas generados por las IA. Aunque suene casi a un chiste.

Otros detalles

ChatGPT, cuando acierta, genera un código que es generalmente superior en eficiencia al que ofrecen los seres humanos. Sin embargo, tiende a producir muchas vulnerabilidades. En términos de complejidad, lo producido con Python fue similar al código que producen los seres humanos. C++ fue más complejo y C fue el más complejo de todos.

¡Comparte esta noticia!