Mucha gente ha proclamado que ChatGPT puede escribir nuestros ensayos, pintar nuestros cuadros y responder nuestras consultas de búsqueda. ¿Pero también puede codificar?
Una de las mayores afirmaciones de la exageración que rodea a ChatGPT es que puede ser una herramienta de programación eficaz. La idea es la siguiente: describe lo que quiere en lenguaje natural; el chatbot genera un código que hace precisamente eso. Pero, ¿qué tan bueno es ChatGPT para hacer esto?
¿Qué mejor manera de averiguarlo que poniéndolo a prueba? Le pedimos a ChatGPT que creara una aplicación web simple desde cero. Este es el resultado de nuestra prueba y los pasos que puede seguir para crear un sitio web desde cero con ChatGPT.
Paso 1: Generación del Blueprint para su aplicación web
Al igual que lo haría al crear una aplicación web con cualquier herramienta, necesitaría diseñar el plano de lo que desea que se vea su aplicación y los pasos que necesitará para construirla antes de permitir que ChatGPT ejecute la espectáculo.
Para nuestra primera tarea, le pedimos a ChatGPT que desarrollara un plan para una aplicación de chat simple. Para hacer esto, describimos los requisitos para nuestra aplicación web y luego le pedimos al chatbot que detallara un plan para desarrollar la aplicación.
Después de usar el mensaje anterior, este es el resultado que obtuvimos:
Necesitaría tener habilitado el complemento "Show Me" en su cuenta de ChatGPT para generar un diagrama de flujo como el nuestro arriba. Puede instalar y usar los complementos de ChatGPT en tan solo unos pasos, aunque necesitarás una suscripción premium.
Sin el complemento, obtendrá un plano basado en texto o un diagrama de flujo de arte ASCII. Eso todavía está bien. Incluso sin el complemento, ChatGPT aún debería proporcionar un modelo claro de la aplicación como el ejemplo a continuación.
Paso 2: dividir el proyecto en módulos más pequeños
Ahora que tenemos el panorama completo, le pedimos ayuda a ChatGPT para dividir la aplicación en componentes más pequeños que podemos desarrollar por separado y luego integrar para formar la aplicación web completa. ChatGPT sugirió dividirlo en tres componentes:
- Módulo de registro
- Módulo de inicio de sesión
- Módulo de chat
Teníamos otras ideas, pero el objetivo aquí es dejar que ChatGPT tome las decisiones.
1. Creación del componente de registro
Saltamos directamente a la construcción del componente de registro. Le pedimos a ChatGPT que dibujara un algoritmo apropiado. Aquí intervinimos especificando que solo necesitábamos el nombre de usuario, el correo electrónico y el avatar del usuario para registrarse. Aquí está el aviso:
Y aquí está el resultado:
A continuación, solicitamos a ChatGPT que creara el componente de registro.
Aunque no incluimos el campo de contraseña como parte del proceso de registro, ChatGPT tomó la decisión correcta al incluirlo en el código HTML generado. Copiamos el código sin ninguna modificación y así es como se ve en un navegador.
A continuación, solicitamos a ChatGPT que generara el script de registro de PHP. Al principio, solicitamos "Escriba un código PHP para la lógica del lado del servidor para manejar el envío del formulario". Aunque el script generado funcionó bien, tenía muchas vulnerabilidades.
No hubo hash de contraseñas, ni manejo de errores, y era propenso a la inyección de SQL: ChatGPT solo hizo lo mínimo. Arreglar esto fue relativamente fácil. Simplemente le pedimos a ChatGPT que "identifique todo lo que está mal con el código que acaba de generar, y luego use los puntos identificados para optimizar el código". Con eso, nuestro script de registro PHP estaba listo para ir.
La redacción de su aviso es importante. Debe ser muy claro y específico con lo que necesita que haga ChatGPT. Cuando simplemente le pedimos que "solucionara el problema con este código", no solucionó la mayor parte de lo que esperábamos que solucionara. Para obtener más orientación sobre cómo escribir indicaciones de ChatGPT, aquí están algunos lugares para aprender a escribir indicaciones efectivas.
A continuación, le pedimos a ChatGPT que "Escriba un código SQL para crear una base de datos para los datos capturados en el script PHP.Aquí está el código SQL resultante:
Y aquí está la tabla creada al ejecutar el SQL:
Con la base de datos configurada, probamos nuestro primer registro y funcionó sin errores.
2. Creación del componente de inicio de sesión
Con el componente de registro fuera del camino, tomamos el componente de inicio de sesión. Sorprendentemente, fue el más fácil de construir a pesar de la lógica adicional de gestión de sesiones.
Aquí está la página de inicio de sesión generada. Una característica clave es que utiliza las mismas opciones de color que la página de registro.
Después de crear un archivo "server.login.php" según las instrucciones de ChatGPT y agregar el script PHP generado, hicimos nuestro primer inicio de sesión exitoso sin modificaciones ni depuración.
3. Creación del componente de chat
Construir el componente de chat fue la parte final, y probablemente la más difícil, de nuestro pequeño experimento. Al principio, simplemente le pedimos a ChatGPT que escribiera el código para el componente de chat. No hace falta decir que fue un fracaso colosal. Para componentes más complejos de cualquier cosa que desee crear, deberá dividirlo en componentes más pequeños y abordarlos uno tras otro.
Le pedimos a ChatGPT sugerencias sobre cómo dividir el componente de chat y sugirió que creáramos tres páginas:
- Chat.php
- Enviar-mensajes.php
- Buscar-mensajes.php
Cuando ChatGPT sugiere un nombre de archivo, usar un nombre diferente en su proyecto puede causar inadvertidamente problemas ya que el chatbot hará referencia al mismo nombre en todo el código que crea a lo largo del proyecto. Nos enteramos de la manera difícil. No cometas el mismo error.
Crear la página Chat.php
Para empezar, le dimos a ChatGPT instrucciones detalladas sobre cómo queríamos que se viera la interfaz de chat.
Después de ejecutar el código HTML generado, teníamos una interfaz de chat sin un cuadro de entrada de mensajes. Para solucionar esto, simplemente solicitamos a ChatGPT que "reescriba el código para incluir un cuadro de entrada de mensaje y un botón de envío.Así es como se ve el código generado en un navegador en la segunda prueba.
Siempre que el código generado no dé los resultados deseados u omita un componente importante, simplemente solicite a ChatGPT que reescriba el último código. Dígale que incluya el componente o que haga lo que no se haya hecho en el código inicial. Aquí están algunos consejos sobre cómo usar ChatGPT para programar.
Creación de la página "send-messages.php" y "Fetch-messages"
Satisfechos con la interfaz, procedimos a construir el script para manejar la lógica de chat. Para poder enviar y recuperar mensajes de la base de datos, ChatGPT destacó correctamente que necesitaremos una tabla de "mensajes". Le pedimos al chatbot que creara un SQL para la tabla de mensajes.
Después de generar un código SQL, le pedimos al chatbot que generara un script PHP para manejar la lógica de mensajería.
ChatGPT generó el script para las páginas "send-messages.php" y "fetch-messages.php". Al ejecutar ambos scripts, finalmente tuvimos nuestro primer error (que fue extrañamente satisfactorio). Llegar tan lejos en el proyecto sin depurar una sola línea de código parecía demasiado bueno para ser verdad, a pesar de su relativa simplicidad.
Resulta que el error fue causado por ChatGPT al introducir una verificación de una variable de sesión no declarada ($_SESSION['id_usuario']) en nuestro script. Sospechamos que esto fue el resultado de tomarse un descanso bastante largo del proyecto, lo que provocó que ChatGPT olvidara algunos de los contextos y nombres de las variables utilizadas en el proyecto.
Cuando use ChatGPT para crear una aplicación, asegúrese de usar el mismo hilo de chat e intente completar los componentes relacionados lo antes posible. Usar un nuevo hilo de chat o tomar un descanso prolongado puede generar inconsistencias. ChatGPT tiende a olvidar algunos detalles del proyecto actual (por ejemplo, la combinación de colores) si se toma largos descansos entre las sesiones de codificación.
Dicho esto, solucionamos el error e implementamos el código. Nos registramos, iniciamos sesión y probamos la función de chat. Si bien pudimos enviar mensajes de un usuario registrado a otro, el color y la disposición de las burbujas de mensajes estaban un poco mal. Sin embargo, para una aplicación que tardó una hora y 23 minutos en completarse, no la juzgaremos con demasiada dureza.
ChatGPT: un excelente asistente de codificación
ChatGPT es claramente un poderoso asistente de codificación. Que el chatbot pueda generar un código impresionante a partir de instrucciones simples, y a veces no tan claras, es un testimonio de su destreza de codificación.
Claro, todavía tiene muchos defectos. El problema con una ventana de contexto limitada y su capacidad para unir la lógica de múltiples componentes construidos de forma independiente es un problema importante. Sin embargo, el chatbot puede ayudarlo a crear aplicaciones web bastante complejas rápidamente si conoce el camino.