David Gewirtz/
Uno de los descubrimientos más intrigantes sobre ChatGPT es que puede escribir código bastante bueno. Lo probé en febrero cuando le pedí que escribiera un complemento de WordPress que mi esposa pudiera usar en su sitio web. ChatGPT hizo un buen trabajo, pero fue un proyecto muy simple.
Cómo utilizar ChatGPT para escribir: Currículums | Fórmulas de Excel | Ensayos | Cartas de presentación
Entonces, ¿cómo puedes usar ChatGPT para escribir código como parte de tu práctica diaria de codificación? Aquí hay un resumen rápido:
ChatGPT puede producir código tanto útil como inutilizable. Para obtener mejores resultados, proporcione indicaciones claras y detalladas. ChatGPT se destaca por ayudar con tareas o rutinas de codificación específicas, en lugar de crear aplicaciones completas desde cero. Utilice ChatGPT para buscar y elegir las bibliotecas de codificación adecuadas para propósitos específicos y participar en una discusión interactiva para reduzca las opciones. Tenga cuidado con la propiedad del código generado por IA y verifique siempre la confiabilidad del código. No confíe ciegamente en el resultado generado. Trate las interacciones con ChatGPT como una conversación. Refina tus preguntas en función de las respuestas de la IA para acercarte al resultado deseado.
Ahora, exploremos ChatGPT con mucha más profundidad.
¿Qué tipos de codificación puede hacer bien ChatGPT?
Hay dos hechos importantes sobre ChatGPT y la codificación. La primera es que la IA puede, de hecho, escribir código útil.
La segunda es que puede perderse por completo, caer por la madriguera de un conejo, perseguir su propia cola y producir basura inutilizable.
Descubrí esto de la manera más difícil. Después de terminar el complemento de WordPress, decidí ver hasta dónde podía llegar ChatGPT.
Escribí un mensaje muy cuidadoso para una aplicación Mac, que incluía descripciones detalladas de los elementos de la interfaz de usuario, las interacciones, lo que se proporcionaría en la configuración, cómo funcionarían, etc. Luego, envié el mensaje a ChatGPT.
También: Bien, entonces ChatGPT acaba de depurar mi código. Verdadero
ChatGPT respondió con una avalancha de texto y código. Luego, se detuvo a mitad del código. Cuando le pedí que continuara, vomitó aún más código y texto. Solicité continuar tras continuar y descartó más y más código. Pero… nada de eso fue usable. No identificó dónde debería ir el código, cómo construir el proyecto y, cuando miré detenidamente el código producido, omitió las operaciones principales que solicité, dejando descripciones de texto simples que decían “la lógica del programa va aquí”. .
Después de un montón de pruebas repetidas, me quedó claro que si le pides a ChatGPT que entregue una aplicación completa, fallará. Un corolario de esta observación es que si no sabes nada sobre codificación y quieres que ChatGPT te construya algo, fallará.
Donde ChatGPT tiene éxito, y lo hace muy bien, es en ayudar a alguien que ya sabe codificar a crear rutinas específicas y realizar tareas específicas. No solicite una aplicación que se ejecute en la barra de menú. Pero si le pides a ChatGPT una rutina para poner un menú en la barra de menú y luego lo pegas en tu proyecto, la herramienta funcionará bastante bien.
También: Cómo usar ChatGPT para crear una aplicación
Además, tenga en cuenta que mientras ChatGPT aparece Para tener una enorme cantidad de conocimiento específico del dominio (y a menudo lo tiene), carece de sabiduría. Como tal, es posible que la herramienta pueda escribir código, pero no podrá escribir código que contenga los matices de problemas muy específicos o complejos que requieren una experiencia profunda para comprenderlos.
Utilice ChatGPT para demostrar técnicas, escribir pequeños algoritmos y producir subrutinas. Incluso puedes conseguir que ChatGPT te ayude a dividir un proyecto más grande en partes, y luego puedes pedirle que te ayude a codificar esas partes.
Entonces, con eso en mente, veamos algunos pasos específicos sobre cómo ChatGPT puede ayudarlo a escribir código.
Cómo usar ChatGPT para escribir código
Este primer paso es decidir qué le vas a pedir a ChatGPT, pero no preguntarle nada todavía. Decide qué quieres que haga tu función o rutina, o qué quieres aprender para incorporarlo a tu código. Decide los parámetros que vas a pasar a tu código y lo que quieres obtener. Y luego mira cómo lo vas a describir.
También: Cómo escribir mejores mensajes de ChatGPT
Imagine que le está pagando a un programador humano para que realice esta tarea. ¿Le está dando a esa persona suficiente información para poder trabajar en su tarea? ¿O es demasiado vago y es más probable que la persona a la que le paga le haga preguntas o le entregue algo que no tiene ninguna relación con lo que usted desea?
He aquí un ejemplo. Digamos que quiero poder resumir cualquier página web. Quiero darle algo como este artículo y recibir un breve resumen que esté bien pensado y sea apropiado. Como entrada, especificaré la URL de una página web. Como resultado, es un bloque de texto con un resumen.
Siguiendo con el ejemplo anterior, una forma muy antigua de extraer datos de una página web era buscar el texto entre las etiquetas de párrafo HTML.
Pero con el auge de las herramientas de inteligencia artificial, tiene más sentido utilizar una biblioteca de inteligencia artificial para realizar un extracto y un resumen inteligente. Uno de los aspectos en los que ChatGPT sobresale (y también es un área que puedes verificar fácilmente para evitar su patrón de comportamiento autoritario pero incorrecto) es en la búsqueda de bibliotecas y recursos.
También: Cómo hacer que ChatGPT proporcione fuentes y citas
OpenAI (el fabricante de ChatGPT) vende acceso API a los motores GPT-3 y GPT-4 que harán exactamente lo que queremos. Pero en el caso de este ejemplo, supongamos que no queremos pagar tarifas de transacción.
Entonces, veamos cómo interactuar con ChatGPT para descubrir cómo usar dicha herramienta, de forma gratuita, con un proyecto que se ejecuta en PHP.
Comencé con un mensaje diseñado para obtener información sobre qué bibliotecas proporcionarían la funcionalidad que quería. Una biblioteca (para aquellos de ustedes que leen y que no son programadores) es un cuerpo de código al que puede acceder un programador y que hace gran parte del trabajo pesado para un propósito específico. Una gran parte de la programación moderna consiste en encontrar y elegir las bibliotecas adecuadas, por lo que este es un buen punto de partida.
En este caso, estoy viendo bloques de código escritos por otras personas que resumirán el texto. Aquí está mi primer mensaje:
Describe diez bibliotecas de inteligencia artificial de código abierto diferentes (y los lenguajes con los que funcionan) que puedo usar para generar un resumen de los contenidos principales de cualquier página web, ignorando cualquier anuncio o material integrado.
Este mensaje me dio exactamente lo que quería, incluida una mención de las ofertas de OpenAI. Creo que OpenAI funcionaría muy bien aquí, pero para este proyecto hipotético, no quiero presupuestar las tarifas de API. Entonces. Reduciré la pregunta:
¿Alguno de estos es gratuito?
ChatGPT cubrió sus apuestas con su respuesta. Esto es lo que dice: “Sí, las diez bibliotecas de IA son de código abierto y de uso gratuito. Sin embargo, algunas de ellas pueden tener límites de uso o requerir pago para acceder a funciones o recursos adicionales”. Entonces, en base a eso, aclaré mi consulta:
¿Cuál de estas bibliotecas no tiene límites de uso y no requiere ningún pago o licencia adicional?
Observe cómo esto es en gran medida una conversación. No tengo que volver a hacer la pregunta original. Simplemente estoy profundizando de la misma manera que lo haría si tuviera un experto a mano y buscara una aclaración. En este caso, ChatGPT me dio ocho opciones de biblioteca, pero ninguna de ellas mencionó el lenguaje PHP en el que planeaba codificar. Entonces, aquí está el siguiente mensaje:
De esas 8 bibliotecas, ¿puedo usar alguna con PHP?
Devolvió tres bibliotecas, pero no estaba seguro de lo que hacía cada una. Entonces, otra pregunta:
¿Cuál es la diferencia entre Sumy, Gensim y NLTK?
Todavía no estaba seguro, así que aclaré mi plan de uso y luego pregunté:
Si quiero crear resúmenes de artículos de noticias de páginas web, ¿qué biblioteca funcionaría mejor?
La respuesta que obtuve fue clara y prometedora: “Sumy está diseñado específicamente para el resumen de texto, que es la tarea de crear un resumen que capture la información más importante de un fragmento de texto”. Entonces, ahora era el momento de ver qué implicaba el uso de Sumy con PHP. Hice mi última pregunta para esta parte del proyecto:
¿Puedes explicar cómo usar Sumy desde PHP?
Siéntete libre de seguir el juego en tu computadora y pegar estas indicaciones en tu instancia de ChatGPT. Observe que, en el paso uno, decidí en qué módulo del programa iba a recibir ayuda. Luego, en este paso, tuve una conversación con ChatGPT para decidir qué biblioteca usar y cómo integrarla en mi proyecto.
También: Los mejores chatbots con IA
Puede que no parezca programación, pero te aseguro que lo es. Programar no es simplemente colocar líneas de código en una página. Programar es descubrir cómo integrar todos los diversos recursos y sistemas, y cómo comunicarse con los distintos componentes de su solución. Aquí, ChatGPT me ayudó a hacer ese análisis de integración.
Por cierto, tenía curiosidad por saber si Gemini AI (anteriormente Bard) de Google podría ayudar de la misma manera. Gemini en realidad no puede escribir código, pero brindó información adicional sobre el aspecto de planificación de la programación a través de las respuestas de ChatGPT. Por lo tanto, no dude en utilizar varias herramientas para triangular las respuestas que desee. Aquí está esa historia: Gemini vs. ChatGPT: ¿Puede Gemini ayudarte a codificar? Desde que escribí ese artículo, Google agregó algunas capacidades de codificación a Gemini, pero no son tan buenas. Puedes leer sobre esto aquí: Probé las nuevas habilidades de codificación de Google Gemini. No salió bien.
La codificación es lo siguiente.
Bien, hagamos una pausa aquí. Este artículo se titula “Cómo utilizar ChatGPT para escribir código”. Y lo hará. Pero lo que somos en realidad hacer es pedirle a ChatGPT que escriba ejemplo código.
También: ¿Qué es GPT-4? Aquí tienes todo lo que necesitas saber
Seamos claros: a menos que estés escribiendo una función muy pequeña (como el clasificador/aleatorizador de líneas que ChatGPT escribió para mi esposa), ChatGPT no podrá escribir tu código final. Primero, tendrás que mantenerlo. ChatGPT es terrible modificando código ya escrito. Terrible, es decir, no lo hace. Entonces, para obtener un código nuevo, debes pedirle a ChatGPT que genere algo nuevo. Como descubrí anteriormente, incluso si su mensaje es prácticamente idéntico, ChatGPT puede cambiar lo que le ofrece de maneras muy inesperadas.
Entonces, en resumen: ChatGPT no puede mantener su código, ni siquiera modificarlo.
Esa limitación significa que tienes que hacerlo tú mismo. Como sabemos, el primer borrador de un código rara vez es el código final. Entonces, incluso si esperara que ChatGPT generara el código final, realmente sería un punto de partida, uno en el que necesita completarlo, integrarlo en su proyecto más grande, probarlo, perfeccionarlo, depurarlo, etc. en.
También: Le pedí a ChatGPT que escribiera un episodio corto de Star Trek. En realidad tuvo éxito
Pero eso no significa que el código de ejemplo no tenga valor, ni mucho menos. Echemos un vistazo a un mensaje que escribí basado en el proyecto que describí anteriormente. Aquí está la primera parte:
Escriba una función PHP llamada resume_article.
Como entrada, a resume_article se le pasará una URL a un artículo en un sitio relacionado con noticias como .com o Reuters.com.
Le estoy diciendo a ChatGPT el lenguaje de programación que debería utilizar. También le estoy dando la entrada pero, mientras lo hago, proporciono dos sitios como ejemplos para ayudar a ChatGPT a comprender el estilo del artículo. Honestamente, no estoy seguro de que ChatGPT no haya ignorado esa pequeña guía. A continuación, le diré cómo hacer la mayor parte del trabajo:
Dentro de resume_article, recupere el contenido de la página web en la URL proporcionada. Utilizando la biblioteca Sumy desde PHP y cualquier otra biblioteca necesaria, extraiga el cuerpo principal del artículo, ignorando cualquier anuncio o material incrustado, y resúmalo en aproximadamente 50 palabras. Asegúrese de que el resumen consta de oraciones completas. Puedes superar las 50 palabras para terminar la última frase, si es necesario.
Esto es muy similar a cómo le daría instrucciones a un empleado. Me gustaría que esa persona supiera que…