Cómo usar chatgpt para escribir código, y mi principal truco para depurar lo que genera

Publicado el:

spot_img
- Advertisment -spot_img

Uno de los descubrimientos más intrigantes sobre ChatGPT es que puede escribir un código bastante bueno. Probé esto por primera vez en 2023 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 simple.

Entonces, ¿cómo puede usar ChatGPT para escribir código como parte de su práctica de codificación diaria? Aquí hay un resumen rápido:

- Advertisement -[wpcode id="699"]
  1. ChatGPT puede producir código útil e inutilizable. Para obtener los mejores resultados, proporcione indicaciones claras y detalladas.
  2. ChatGPT se destaca para ayudar con tareas o rutinas de codificación específicas, en lugar de construir aplicaciones completas desde cero.
  3. Use ChatGPT para encontrar y elegir las bibliotecas de codificación correctas para fines específicos, y participe en una discusión interactiva para reducir sus opciones.
  4. Tenga cuidado sobre quién posee el código generado por IA y siempre verifique la confiabilidad del código. No confíe ciegamente en la salida generada.
  5. Trate las interacciones con ChatGPT como una conversación. Refina sus preguntas en función de las respuestas de la IA para acercarse a la producción deseada.
  6. Los usuarios de nivel de pago obtienen acceso a algunas características adicionales para un soporte de codificación más completo, incluido el análisis de investigación profunda y la codificación de instalación completa de Codex.

Ahora, exploremos ChatGPT con una profundidad considerablemente más.

¿Qué tipos de codificación pueden hacer bien el chatgpt?

Hay dos hechos importantes sobre el chatgpt y la codificación. Primero, la IA puede escribir un código útil.

El segundo es que la IA puede perderse por completo, caer en una madriguera de conejo, perseguir la cola y producir basura inutilizable.

Encontré este hecho de la manera difícil. Después de que terminé el complemento de WordPress para mi esposa, decidí ver qué tan lejos podía llegar chatgpt.

- Advertisement -[wpcode id="699"]

Escribí un mensaje muy cuidadoso para una aplicación Mac, que incluye descripciones detalladas de elementos de interfaz de usuario, interacciones, lo que se proporcionaría en la configuración, cómo funcionarían y más. Luego alimenté el aviso a Chatgpt.

ChatGPT respondió con una avalancha de texto y código. Luego detuvo el código medio. Cuando le pedí a la IA que continuara, vomitó aún más código y texto. Solicité continuar después de continuar, y arrojó más y más código. Sin embargo, ninguno de los resultados fue usable. La IA no identificó a dónde debía ir el código, cómo construir el proyecto y, cuando miré cuidadosamente el código producido, dejó de lado las principales operaciones que solicité, dejando en descripciones de texto simples que indican «El programa Logic Goes aquí».

Después de las pruebas repetidas, quedó claro que si le pide a ChatGPT que entregue una aplicación completa, la herramienta fallará. Un corolario de esta observación es que si no sabe nada sobre la codificación y desea que ChatGPT cree algo, fallará.

Donde ChatGPT tiene éxito, y lo hace muy bien, es ayudar a alguien que ya sabe cómo codificar para construir rutinas específicas y realizar tareas. No solicite 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 pegarlo en su proyecto, la herramienta funcionará bastante bien. La nueva función Codex para niveles pagos podría ampliarse en esto, pero incluso OpenAI dice que Codex es mejor para el mantenimiento y el soporte en lugar de hacer toda la escritura original.

Además, recuerda que mientras chatgpt aparecer Para tener una gran cantidad de conocimiento específico de dominio (y a menudo lo hace), carece sabiduría. Como tal, la herramienta puede escribir código, pero no podrá escribir código que contenga los matices para problemas específicos o complejos que requieren una experiencia profunda.

Leer  Por qué la mayoría de los proyectos de IA flopan, y cómo su negocio puede superar las probabilidades

He trabajado mucho con ChatGPT mientras intento escribir y depurar código, y algunas de las sugerencias inanidas que la IA ha hecho han sido asombrosamente estúpidas e inútiles. Pero también ha demostrado ser útil, por lo que sigo usándolo. Solo necesita poder diferenciar entre los dos.

Use el chatgpt para las técnicas de demostración, escriba algoritmos pequeños y produce subrutinas. Incluso puede obtener ChatGPT para ayudarlo a desglosar un proyecto más grande en trozos y luego puede pedirlo para ayudarlo a codificar esos fragmentos.

- Advertisement -[wpcode id="699"]

Con eso en mente, veamos algunos pasos específicos para cómo ChatGPT puede ayudarlo a escribir código.

Cómo usar chatgpt para escribir código

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

Imagine que está pagando a un programador humano para que haga 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 que pague es más probable que haga preguntas o entregue algo completamente no relacionado con lo que desea?

Aquí hay un ejemplo. Digamos que quiero poder resumir cualquier página web. Quiero alimentar a la IA este artículo y recuperar un resumen bien considerado y apropiado. Como mi entrada, especificaré una URL de la página web. Como mi salida, es un bloque de texto con un resumen.

Mostrar más

Continuando con el ejemplo anterior, una forma de extraer datos de la página web de la vieja escuela fue encontrar el texto entre las etiquetas de párrafo HTML.

Sin embargo, con el aumento de las herramientas de IA, puede usar una biblioteca AI para hacer un extracto inteligente y un resumen. Uno de los lugares ChatGPT sobresale (y también es un área que puede verificar fácilmente para evitar su patrón de comportamiento autorizado, pero y durante todo, es encontrar bibliotecas y recursos.

OpenAI (The Maker of ChatGPT) vende acceso de API a sus LLM para hacer exactamente lo que queremos. Pero en el caso de este ejemplo, supongamos que no queremos pagar las tarifas de transacción.

Entonces, veamos interactuar con ChatGPT para descubrir cómo usar una herramienta de este tipo, de forma gratuita, con un proyecto que se ejecuta en PHP.

Mostrar más

Comencé con un aviso para obtener información sobre qué bibliotecas proporcionarían la funcionalidad deseada. Una biblioteca (para aquellos que leen que no son programadores) es un cuerpo de código que un programador puede acceder que hace mucho para el trabajo pesado para un propósito específico. Una gran parte de la programación moderna es encontrar y elegir las bibliotecas correctas, por lo que este es un buen punto de partida.

En este caso, estoy mirando bloques de código escritos por otras personas que resumirán el texto. Aquí está mi primer aviso:

Describa diez bibliotecas de IA de código abierto diferentes (y los idiomas con los que trabajan) que puedo usar para generar un resumen del contenido principal principal de cualquier página web, ignorando cualquier anuncio o material integrado.

Este aviso me dio exactamente lo que quería, incluida una mención de las ofertas de OpenAi. Creo que OpenAI haría muy bien aquí, pero para este proyecto hipotético, no quiero presupuestar las tarifas de API. Así que reduciré la pregunta:

¿Alguno de estos es gratis?

ChatGPT cubrió sus apuestas con su respuesta: «Sí, las diez bibliotecas de IA son de código abierto y de forma gratuita. Sin embargo, algunos de ellos pueden tener límites de uso o requerir el pago de acceso a características o recursos adicionales». Entonces, según esa respuesta, 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 esta es una conversación. No tengo que volver a ascender la pregunta original, solo estoy perforando lo que podría si tuviera un experto a mi lado. Esta vez, ChatGPT me dio ocho opciones de biblioteca, pero ninguno mencionó el idioma PHP que planeaba usar para codificar. Así que aquí está el siguiente aviso:

De esas ocho bibliotecas, ¿puedo usar alguna con PHP?

Devolvió tres bibliotecas, pero no estaba seguro de lo que cada uno hizo. Entonces hice 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 la página web, ¿qué biblioteca funcionaría mejor?

La respuesta fue clara y prometedora: «Sumy está específicamente diseñada para el resumen de texto, que es la tarea de crear un resumen que captura la información más importante de un texto». Entonces era hora de ver qué estaba involucrado en el uso de Sumy con PHP. Hice mi última pregunta para esta parte del proyecto:

¿Puedes explicar cómo usar Sumy de PHP?

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

Leer  Las mejores ofertas tempranas de Amazon Prime Day 2025: nuestras más de 75 ventas favoritas este octubre

Es posible que ese enfoque no parezca programación, pero le aseguro que sí. La programación no es solo que explote líneas de código en una página. La programación es descubrir cómo integrar todos los diversos recursos y sistemas, y cómo hablar con todos los 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 la IA de Géminis de Google podría ayudar de manera similar. Gemini dio 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 sus respuestas. Tanto Google Gemini como Copilot de Microsoft han mejorado radicalmente en los últimos años. Al principio, ellos (para ser educados) apestaban. Ahora están muy bien. Gemini tiene a Jules, que compite contra el Codex de ChatGPT. Todavía no he podido probar Codex, pero Jules es impresionante como diablos. Estas son las llamadas herramientas «agentes» que se ejecutan como agentes detrás de escena, generalmente modificando repositorios de GitHub.

La codificación es la siguiente.

Ok, hagamos una pausa aquí. Este artículo se titula «Cómo usar ChatGPT para escribir código». Y lo hará. Pero lo que somos en realidad Hacer es pedirle a Chatgpt que escriba ejemplo código.

Aquí, las cosas han cambiado en los últimos meses. Anteriormente escribí esto: a menos que esté escribiendo una función pequeña (como el clasificador de línea/Randomizer Chatgpt escribió para mi esposa), ChatGPT no puede escribir su código final. Primero, tendrás que mantenerlo. ChatGPT es terrible para modificar el 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 encontré anteriormente, incluso si su aviso es prácticamente idéntico, ChatGPT puede cambiar inesperadamente lo que le da.

Este sigue siendo el caso de ChatGPT básico: ChatGPT no puede mantener su código o incluso modificarlo.

Mostrar más

Esa limitación significa que debes hacer el trabajo de látigo tú mismo. Como sabemos, el primer borrador de una pieza de código rara vez es el código final. Entonces, incluso si espera que ChatGPT genere un código final, sería un punto de partida, y uno en el que debe llevarlo a su finalización, integrarlo en su proyecto más grande, probarlo, refinarlo, depurarlo, etc.

Leer  Operai lanza AgentKit para ayudar a los desarrolladores a construir y enviar agentes de IA

Pero ahora está Codex, y todo su propósito es mantener un código ya existente. Codex tiene muchas limitaciones, incluido no recordar nada entre las instrucciones individuales. También vive en un contexto completamente diferente del resto de sus interacciones ChatGPT, por lo que es casi como si estuviera usando dos herramientas completamente diferentes y no relacionadas. Pero Codex puede mantener. Así que eso es nuevo.

Pero incluso si no usa Codex, eso no significa que el código de ejemplo no tenga valor, lejos de él. Veamos un aviso que escribí según el proyecto que describí anteriormente. Aquí está la primera parte:

Escriba una función PHP llamada SUMPRAZE_ARTICLE.

Como entrada, Summarize_ARTICL se 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 estoy diciendo a la IA la entrada y proporcionando dos sitios como muestras para ayudar a ChatGPT a comprender el estilo del artículo. Honestamente, no estoy seguro de que ChatGPT no ignorara esa orientación. A continuación, le diré cómo hacer la mayor parte del trabajo:

Inside Summarize_article, recupere el contenido de la página web en la URL proporcionada. Usando la biblioteca Sumy desde dentro de PHP y cualquier otra biblioteca necesaria, extraiga el cuerpo principal del artículo, ignorando cualquier anuncio o material incrustado, y resumirlo a aproximadamente 50 palabras. Asegúrese de que el resumen consista en oraciones completas. Puede ir por encima de las 50 palabras para terminar la última oración, si es necesario.

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

También especificé 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 completa el procesamiento, el código resume_article para que devuelva el resumen en texto sin formato.

El código resultante es bastante simple. ChatGPT llamó a otra biblioteca (ganso) para recuperar el contenido del artículo. Luego pasó ese resumen a Sumy con un límite de 50 palabras y devolvió el resultado. 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:

Un punto de nota interesante: cuando intenté originalmente esta prueba a principios de 2023, ChatGPT creó una llamada de muestra a la rutina que escribió, utilizando una URL desde después de 2021. En ese momento, en marzo de 2023, el conjunto de datos de ChatGPT solo fue a 2021. Ahora, la base de conocimiento de ChatGPT se extiende hasta finales de junio de 2024 y puede buscar la Web. Pero mi punto es que ChatGPT inventó un enlace de muestra que no podría saber:

https://www.reuters.com/business/retail-consumer/teslas-musk-says-fremont-california-factory-may-be-sold-chortage-bites-2022-03-18/

Revisé esa URL contra el sitio de Reuters y la máquina Wayback, y no existe. Nunca asuma que ChatGPT es preciso. Siempre verifique todo lo que te da.

Te mostré algunas formas en que ChatGPT comete errores o alucinados. Todos los programadores cometen errores, incluso los AI.

Pero puede hacer varias cosas para ayudar a refinar su código, depurar problemas y anticipar errores que podrían surgir. Mi nuevo truco habilitado para AI favorito es alimentar el código a una sesión de chatgpt diferente (o un chatbot completamente diferente) y preguntar: «¿Qué pasa con este código?»

Mostrar más

spot_img

Relacionada

Leave a Reply

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

spot_img