Cómo usar ChatGPT para escribir código

imagen1.pngUno de los descubrimientos más intrigantes de ChatGPT es que puede escribir un código bastante bueno. Probé esto en febrero cuando le pedí que escribiera un complemento de WordPress que mi esposa pudiera usar en su sitio web. Hizo un buen trabajo, pero fue un proyecto muy simple.

Cómo usar ChatGPT para escribir: CV| Fórmulas de Excel | Ensayos | Cartas de presentación

¿Cómo puede usar ChatGPT para escribir código como parte de su práctica diaria de codificación? Eso es lo que vamos a explorar aquí.

¿Qué tipos de codificación puede hacer bien ChatGPT?

Hay dos hechos importantes sobre ChatGPT y la codificación. La primera es que puede, de hecho, escribir código útil. La segunda es que puede perderse por completo, caer por la madriguera del conejo, perseguir su propia cola y producir basura absolutamente inservible.

Descubrí esto de la manera difícil. Después de terminar el complemento de WordPress, decidí ver hasta dónde podía llegar ChatGPT. Escribí un aviso muy cuidadoso para una aplicación de Mac, incluidas descripciones detalladas de los elementos de la interfaz de usuario, las interacciones, lo que se proporcionaría en la configuración, cómo funcionaría, etc. Luego lo envié a ChatGPT.

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 después de continuar y descargó más y más código. Pero... nada de eso era utilizable . 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 simple 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 construya algo, fallará.

Donde ChatGPT tiene éxito, y lo hace muy bien, es en ayudar a alguien que ya sabe codificar para crear rutinas específicas y realizar tareas específicas. No pidas una aplicación que se ejecute en la barra de menú. Pero si le pide a ChatGPT una rutina para colocar un menú en la barra de menú y luego lo pega en su proyecto, funcionará bastante bien.

También: Cómo usar ChatGPT para crear una aplicación

Además, tenga en cuenta que, si bien ChatGPT parece tener una enorme cantidad de conocimiento específico del dominio (y a menudo lo tiene), carece de sabiduría . Como tal, puede escribir código, pero no podrá escribir código que contenga los matices para problemas muy específicos o complejos que requieren una experiencia profunda para comprender.

Use ChatGPT para demostrar técnicas, escribir pequeños algoritmos y producir subrutinas. Incluso puede obtener ChatGPT para ayudarlo a dividir un proyecto más grande en partes, y luego puede pedirle que lo ayude a codificar esas partes.

Entonces, con eso en mente, veamos algunos pasos específicos sobre cómo usar ChatGPT para escribir código.

Cómo ChatGPT puede ayudarte a escribir código

1. Reduzca y afine su solicitud

Este primer paso es decidir qué le vas a pedir a ChatGPT, pero aún no le vas a preguntar nada. Decida qué quiere que haga su función o rutina, o qué quiere aprender para incorporar en su código. Decida los parámetros que va a pasar a su código y lo que quiere obtener. Y luego mira cómo vas a describirlo.

Imagina que le estás pagando a un programador humano para que haga esto. ¿Le estás dando a esa persona suficiente información para que pueda trabajar en tu tarea? ¿O eres demasiado vago y es más probable que la persona a la que le pagas haga preguntas o entregue algo que no tiene nada que ver con lo que quieres?

Aquí hay un ejemplo. Digamos que quiero poder resumir cualquier página web. Quiero alimentarlo con algo como este artículo y recibir un breve resumen que esté bien considerado y sea apropiado. Como entrada, especificaré una URL de página web. Como mi salida, es un bloque de texto con un resumen.

2. Usa ChatGPT para explorar bibliotecas y recursos

Continuando con el ejemplo anterior, una forma muy antigua de extraer datos de páginas web era encontrar el texto entre las etiquetas de párrafo HTML.

Pero con el auge de las herramientas de IA, tiene más sentido usar una biblioteca de IA para hacer un extracto y resumen inteligente. Uno de los lugares en los que ChatGPT sobresale (y también es un área que puede verificar fácilmente para evitar su patrón de comportamiento autoritario pero incorrecto) es encontrar bibliotecas y recursos.

OpenAI (el creador 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 que fue diseñado para obtener información sobre qué bibliotecas proporcionarían la funcionalidad que quería. Una biblioteca (para aquellos de ustedes que no son programadores que están leyendo) es un cuerpo de código al que un programador puede acceder y que hace gran parte del trabajo pesado para un propósito específico. Una gran parte de la programación moderna es encontrar y elegir las bibliotecas adecuadas. Así 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 aviso:

Describir diez bibliotecas de IA de código abierto diferentes (y los lenguajes con los que funcionan) que puedo usar para generar un resumen de los principales contenidos básicos de cualquier página web, ignorando cualquier anuncio o material incrustado.

Esto 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 la API. Así que reduciré la pregunta.

¿Alguno de estos es gratis?

ChatGPT cubrió sus apuestas con su respuesta. Esto es lo que decía: "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áles de estas bibliotecas no tienen límites de uso y no requieren 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. Solo estoy profundizando de la misma manera que lo haría si tuviera un experto a mano y estuviera buscando una aclaración. En este caso, ChatGPT me dio ocho opciones de biblioteca, pero ninguna de ellas mencionó el lenguaje PHP en el que estaba planeando 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 usarlo con PHP. Hice mi última pregunta para esta parte del proyecto:

¿Puedes explicar cómo usar Sumy desde PHP?

Siéntase libre de jugar en su computadora y pegar estas indicaciones en su instancia de ChatGPT. Tenga en cuenta que, en el paso 1, decidí sobre qué módulo de programa recibiría ayuda. Luego, en este paso, tuve una conversación con ChatGPT para decidir qué biblioteca usar y cómo integrarla en mi proyecto.

Puede que no parezca programación, pero te aseguro que lo es. La programación no es simplemente enviar líneas de código a una página. La programación consiste en averiguar cómo integrar todos los diversos recursos y sistemas, y cómo comunicarse con todos los diversos 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 Bard de Google podría ayudar de la misma manera. Bard en realidad no puede escribir código, pero brindó algunas ideas adicionales sobre el aspecto de planificación de la programación sobre las respuestas de ChatGPT. Así que no dude en usar múltiples herramientas para triangular las respuestas que desea. Esta es la historia: Bard vs. ChatGPT: ¿Puede Bard ayudarlo a codificar? Desde que escribí ese artículo, Google agregó algunas capacidades de codificación a Bard, pero no son tan buenas. Puede leer sobre esto aquí: probé las nuevas habilidades de codificación de Google Bard. No salió bien.

La codificación es lo siguiente.

3. Pídele a ChatGPT que escriba un código de ejemplo

Bien, hagamos una pausa aquí. Este artículo se titula "Cómo usar ChatGPT para escribir código". ¡Y lo hará! Pero en realidad le estamos pidiendo a ChatGPT que escriba un código de ejemplo . Esperar. ¿Qué?

También: ¿ Qué es GPT-4? Aquí está todo lo que necesitas saber

Seamos claros. A menos que esté escribiendo una función muy pequeña (como el clasificador/aleatorizador de líneas que ChatGPT escribió para mi esposa), ChatGPT no podrá escribir su código final. Primero, tendrás que mantenerlo. ChatGPT es terrible para modificar código ya escrito. Terrible, como en, no lo hace. Entonces, para obtener un código nuevo, debe 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 brinda de formas muy inesperadas.

Entonces, en resumen: ChatGPT no puede mantener su código, ni siquiera modificarlo.

Eso 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 debe completarlo, integrarlo en su proyecto más grande, probarlo, refinarlo, depurarlo, etc. .

Además: 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. Lejos de ahi. Echemos un vistazo a un aviso que escribí basado en el proyecto que describí anteriormente. Aquí está la primera parte:

Escribe una función de 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 ZDNET.com o Reuters.com.

Le digo a ChatGPT el lenguaje de programación que debe usar. También le digo 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 summary_article, recupere el contenido de la página web en la URL proporcionada. Usando 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 se componga de oraciones completas. Puede ir más allá de las 50 palabras para terminar la última oración, si es necesario.

Esto es muy similar a cómo instruiría a un empleado. Me gustaría que esa persona supiera que no solo se limitó a Sumy. Si necesitaban otra herramienta, quería que la usaran.

También especifiqué un número aproximado de palabras para crear límites para lo que quería como resumen. Una versión posterior de la rutina podría tomar ese número como parámetro. Luego terminé diciendo lo que quería como resultado:

Una vez que se complete el procesamiento, codifique resume_article para que devuelva el resumen en texto sin formato.

El código resultante es bastante simple. ChatGPT llamó a otra biblioteca (Goose) para recuperar el contenido del artículo. Luego pasó eso a Summy con un límite de 50 palabras y luego devolvió el resultado. Eso es todo. Pero una vez que se escriben los conceptos básicos, es una mera cuestión de programación volver y agregar ajustes, personalizar lo que se pasa a las dos bibliotecas y entregar los resultados.imagen2.png

Un punto interesante de la nota. ChatGPT creó una llamada de muestra a la rutina que escribió, utilizando una URL posterior a 2021 (cuando finaliza el conjunto de datos de ChatGPT).

Verifiqué esa URL con el sitio de Reuters y Wayback Machine, y no existe. ChatGPT se lo acaba de inventar.

preguntas frecuentes

¿ChatGPT reemplaza a los programadores?

No ahora, o, al menos, todavía no. Programas de ChatGPT al nivel de un estudiante talentoso de programación de primer año, pero es perezoso (como ese estudiante de primer año). Podría reducir la necesidad de programadores de nivel de entrada, pero en su nivel actual, creo que facilitará la vida de los programadores de nivel de entrada (e incluso de los programadores con más experiencia) para escribir código y buscar información. Definitivamente es un ahorro de tiempo, pero hay pocos proyectos de programación que pueda hacer por sí solo, al menos ahora. ¿En 2030? Quién sabe.

¿Cómo obtengo respuestas de codificación en ChatGPT?

solo preguntalo Viste arriba cómo usé un diálogo de discusión interactivo para reducir las respuestas que quería. Cuando trabaje con ChatGPT, no espere que una sola pregunta haga todo el trabajo por arte de magia. Pero use ChatGPT como ayuda y recurso, y le dará mucha información muy útil. Por supuesto, pruebe esa información, porque, como dice John Schulman, cofundador de OpenAI, "nuestra mayor preocupación era la factualidad, porque al modelo le gusta inventar cosas".

Si uso ChatGPT para escribir mi código, ¿a quién pertenece?

Resulta que todavía no hay mucha jurisprudencia para responder definitivamente a esta pregunta. Los EE. UU., Canadá y el Reino Unido exigen que algo con derechos de autor haya sido creado por manos humanas, por lo que el código generado por una herramienta de inteligencia artificial puede no tener derechos de autor. También hay cuestiones de responsabilidad basadas en el origen del código de formación y cómo se utiliza el código resultante. ZDNET profundizó en este tema, habló con expertos legales y produjo los siguientes tres artículos. Si está preocupado por este problema (y si está usando IA para ayudar con el código, debería estarlo), le recomiendo que los lea.

  • ¿Quién es el dueño del código? Si la IA de ChatGPT ayuda a escribir su aplicación, ¿todavía le pertenece?
  • Si usa código generado por IA, ¿cuál es su exposición de responsabilidad?
  • Una pregunta espinosa: ¿Quién posee el código, las imágenes y las narrativas generadas por la IA?

¿Qué lenguajes de programación conoce ChatGPT?

La mayoría de ellos. Me desvié mucho intentando esto. Probé lenguajes modernos comunes, como PHP, Python, Java, Kotlin, Swift, C# y más. Pero luego hice que escribiera código en oscuros lenguajes de la era oscura como COBOL, Fortran, Forth, LISP, ALGOL, RPG (el generador de programas de informes, no el juego de rol) e incluso el lenguaje ensamblador IBM/360.

Como guinda del pastel, le di este aviso:

Escriba una secuencia que muestre 'Hola, mundo' en ascii con luces parpadeantes en el panel frontal de un PDP 8/e

El PDP 8/e fue mi primera computadora, y ChatGPT en realidad me dio instrucciones para activar un programa usando los interruptores del panel frontal. Estaba impresionado, alegre y ligeramente asustado.

¿Cuál es el resultado final? ChatGPT puede ser una herramienta muy útil. Simplemente no le atribuyas superpoderes. Todavía.

Artículos relacionados

Ver más >>

¡Desbloquea el poder de la IA con HIX.AI!