Como ingeniero de software, experimenté con ChatGPT, un modelo de lenguaje conversacional que tiene como objetivo generar texto similar al humano. Como muchos de nosotros, tenía curiosidad acerca de si la IA podría realizar mi trabajo y potencialmente superar mis habilidades. Con una experiencia en análisis de datos e ingeniería de software de dos años, noté que ChatGPT ha sido entrenado en un conjunto de datos masivo de 570 GB de información, según lo informado por BBC Science Focus. Esto plantea la cuestión de si ChatGPT o yo mismo podemos escribir un mejor código SQL.
En este artículo mediano, vamos a jugar un juego usando dos desafíos LeetCode SQL: uno fácil y otro de dificultad media. Para comenzar, proporcionaré mis propias soluciones para cada desafío antes de enviarlas a ChatGPT para ver cómo funciona. Luego compararemos los resultados y veremos qué solución es la más efectiva. Se proporcionarán enlaces a cada desafío para que los lectores también puedan intentar superar las soluciones de ChatGPT. ¡Que empiecen los juegos!
Este desafío se llama Cliente que realiza el mayor número de pedidos.
Aquí está la consulta que escribí:
SELECT customer_number
FROM orders
GROUP BY customer_number
ORDER BY COUNT(order_number) DESC
LIMIT 1;
Pasó con un tiempo de ejecución correcto:
Ahora veamos cómo se comporta ChatGPT en este caso.
Esto es lo que respondió ChatGPT:
pero vamos a ver cómo se comporta.
Curiosamente, ChatGPT en realidad me superó en esta tarea, logrando un resultado increíblemente bueno que se ubica en el 99% superior. Si bien estoy impresionado con el rendimiento de ChatGPT, también tengo curiosidad por saber cómo puedo mejorar mi propia consulta. A pesar de no lograr el mismo nivel de éxito que ChatGPT, todavía estoy satisfecho con mi resultado.
El próximo desafío se llama Tree Node.
La consulta que escribí fue esta:
SELECT id,
CASE
WHEN p_id IS NULL THEN 'Root'
WHEN id IN (SELECT DISTINCT p_id FROM Tree) THEN 'Inner'
ELSE 'Leaf'
END AS type
FROM Tree;
¡Y pasó!
Mi consulta obtuvo un resultado promedio:
ChatGPT cometió un error al no manejar nodos que son tanto raíz como hoja cuando se le dio la tarea sin ejemplos. El código proporcionado necesita ser arreglado:
SELECT id,
CASE
WHEN p_id IS NULL THEN 'Root'
WHEN id NOT IN (SELECT DISTINCT p_id FROM Tree) THEN 'Leaf'
ELSE 'Inner'
END AS type
FROM Tree;
Así que decidí darle una pista a ChatGPT y este es el resultado:
Y fue capaz de marcar:
y nuevamente ChatGPT me superó en esta tarea, logrando un resultado increíblemente bueno que se ubica en el 95% superior. Esto es una locura !!!!
¡Eso lo resume todo!
Según los resultados de los desafíos presentados en el artículo, parece que ChatGPT puede escribir mejor código SQL que un ingeniero de software. En el primer desafío, la solución de ChatGPT superó a la solución del ingeniero al lograr una clasificación en el 99 % superior. En el segundo desafío, ChatGPT inicialmente cometió un error, pero con una pista del ingeniero, pudo lograr una clasificación en el 95 % superior. Vale la pena señalar que ChatGPT ha sido entrenado en un conjunto de datos masivo de 570 GB de información, lo que podría explicar su capacidad para desempeñarse bien en estas tareas. Sin embargo, el ingeniero aún tenía información valiosa que ofrecer y pudo brindar una solución correcta en cada desafío, aunque con calificaciones más bajas. En general, parece que ChatGPT puede ser una herramienta valiosa para la programación de SQL, pero debe usarse junto con la experiencia humana y no como un reemplazo.
[post_relacionado id=»1497″]