Código ChatGPT: ¿Es la IA realmente buena escribiendo código?

5 min read


Este artículo es parte de nuestra serie exclusiva IEEE Journal Watch en asociación con IEEE Xplore. Los programadores han pasado décadas escribiendo código para modelos de IA y ahora se utiliza la IA para codificarlos. Pero, ¿cómo se comparan los generadores de códigos de IA con los programadores humanos? Un estudio publicado en la edición de junio de IEEE Transactions on Software Engineering evaluó el código generado por ChatGPT de OpenAI en términos de funcionalidad, complejidad y seguridad. Los resultados muestran que ChatGPT tiene mucho éxito en la producción de código funcional. Tiene tasas de éxito que van desde tan solo el 0,66 por ciento hasta el 89 por ciento, dependiendo de la dificultad de la tarea. lenguaje de programación y otros factores Otro número Aunque en algunos casos los generadores de IA pueden generar mejor código que los humanos. Pero el análisis también reveló algunos problemas de seguridad con el código generado por IA. Yutian Tang es un profesor de la Universidad de Glasgow que participó en el estudio. Señaló que la generación de código mediante IA puede ofrecer ciertas ventajas en términos de aumentar la productividad y automatizar las tareas de desarrollo de software. Pero es importante comprender las fortalezas y limitaciones de estos modelos. “Con un análisis exhaustivo Podemos revelar algunos problemas y limitaciones potenciales al crear código en ChatGPT… [and] “Mejorar las técnicas de construcción”, explica Tang, para explorar estas limitaciones con más detalle. Su equipo buscó probar GPT-3.5 para abordar 728 problemas de codificación de la plataforma de prueba LeetCode en cinco lenguajes de programación: C, C++, Java, JavaScript y Python “¿Por qué ChatGPT es posible hacerlo mejor con los problemas algorítmicos anteriores a 2021? es decir, los que se ven comúnmente en el conjunto de datos de entrenamiento”. —Yutian Tang, Universidad de Glasgow En general, ChatGPT es bastante bueno para resolver problemas en una variedad de lenguajes de codificación. Esto es especialmente cierto cuando se intenta resolver problemas de codificación que existían en LeetCode antes de 2021. ChatGPT, por ejemplo, pudo producir código simple y moderadamente utilizable. y problemas serios con tasas de éxito de aproximadamente 89, 71 y 40 por ciento, respectivamente. Cuando se trata de problemas algorítmicos después de 2021, la capacidad de ChatGPT para generar código funcionalmente correcto se verá afectada. A veces no comprende el significado de la pregunta. Por ejemplo, la capacidad de ChatGPT para generar código de función para problemas de codificación «fáciles» disminuyó del 89 por ciento al 52 por ciento después de 2021, y su capacidad para generar código de función para problemas «fáciles» disminuyó del 89 por ciento al 52 por ciento después de 2021. «Difícil» También cayó del 40 por ciento al 0,66 por ciento después de este tiempo. «Una suposición razonable de por qué ChatGPT será mejor para resolver problemas algorítmicos antes de 2021 es que estos problemas se ven más comúnmente en el conjunto de datos de entrenamiento», dijo Tang. A medida que la codificación ha evolucionado, ChatGPT no ha encontrado nuevos problemas ni soluciones. Carece de habilidades humanas de pensamiento crítico y sólo puede resolver problemas que ha encontrado antes. Esto podría explicar por qué es mucho mejor para resolver problemas de codificación antiguos que los más nuevos. «ChatGPT puede generar código incorrecto porque no comprende la semántica de los problemas algorítmicos». Yutian Tang, Universidad de Glasgow. Curiosamente, ChatGPT pudo producir código con al menos un 50 por ciento menos de tiempo de ejecución y sobrecarga de memoria que las soluciones humanas para el mismo problema de LeetCode. Los investigadores también exploraron la capacidad de ChatGPT para depurar. Comentarios de LeetCode Seleccionaron al azar 50 situaciones de cifrado en las que ChatGPT generó un cifrado incorrecto en primer lugar. Porque no entiendo el contenido ni el problema, aunque ChatGPT hace un buen trabajo solucionando el error de compilación. Pero generalmente no son muy buenos para depurar sus propios errores. “ChatGPT puede generar código incorrecto porque no comprende el significado de los problemas algorítmicos. Por lo tanto, los datos de respuesta de error simple Esto no es suficiente”, explicó Tang. Los investigadores también descubrieron que el código generado por ChatGPT tenía una serie de vulnerabilidades, como la falta de pruebas nulas, pero la mayoría de estas vulnerabilidades se solucionaban fácilmente. Los resultados también mostraron que el código creado en C era el más complejo, seguido de C++ y Python, que eran similares en complejidad al código escrito por humanos, dijo Tangs, basándose en estos resultados. Es importante que los desarrolladores que utilizan ChatGPT proporcionen información adicional para ayudar a ChatGPT a comprender mejor los problemas o evitar vulnerabilidades. «Por ejemplo: Cuando se encuentran problemas de programación más complejos Los desarrolladores pueden proporcionar tanto conocimiento relevante como sea posible e informar inmediatamente a ChatGPT sobre cualquier vulnerabilidad a tener en cuenta”, dijo Tang desde su sitio web Artículos relacionados en la web.

You May Also Like

More From Author

+ There are no comments

Add yours