ChatGPT es un modelo de lenguaje desarrollado por OpenAI que se ha utilizado en una variedad de aplicaciones: desde la generación de texto hasta la traducción automática. En el mundo del desarrollo ChatGPT se ha utilizado para automatizar tareas y generar código y documentación precisa.
En este artículo discutiremos los beneficios, riesgos y ejemplos de uso de ChatGPT en el mundo del desarrollo.
Beneficios
- Automatización de tareas: ChatGPT puede ayudar a automatizar tareas tediosas y repetitivas en el desarrollo de software, como la generación de código y documentación. Esto puede aumentar la eficiencia y productividad de los desarrolladores.
- Generación de código preciso: El uso de ChatGPT puede ayudar a generar código preciso y estructurado, ya que el modelo ha sido entrenado en una gran cantidad de código existente. Esto puede ahorrar tiempo y esfuerzo a los desarrolladores.
- Mejora de la documentación: ChatGPT puede ser utilizado para generar documentación precisa y detallada para el código, lo que puede mejorar la comprensión y el mantenimiento del mismo.
Riesgos
- Código no seguro: Si no se utiliza de manera responsable, ChatGPT puede generar código no seguro o inestable, lo que puede tener consecuencias graves en un entorno de producción.
- Imprecisión: El uso de ChatGPT puede generar código o documentación imprecisa, especialmente si el modelo no está entrenado en un conjunto de datos específico.
- Falta de comprensión: El uso de ChatGPT puede dar lugar a una falta de comprensión por parte de los desarrolladores sobre cómo se generó el código o la documentación, lo que puede dificultar el mantenimiento del mismo.
El uso de ChatGPT puede generar código o documentación imprecisa, especialmente si el modelo no está entrenado en un conjunto de datos específico.
Ejemplos de uso
- Generación de código automatizado a partir de un conjunto de especificaciones: ChatGPT puede ser entrenado en un conjunto de especificaciones y utilizado para generar código automatizado.
- Generación de documentación automatizada: ChatGPT puede ser utilizado para generar documentación automatizada para el código existente, lo que puede ahorrar tiempo y esfuerzo a los desarrolladores.
- Completado de código: ChatGPT puede ser utilizado para completar fragmentos de código, lo que puede aumentar la velocidad y la eficiencia de los desarrolladores.
- Generación de scripts: ChatGPT puede ser utilizado para generar scripts automatizados para tareas específicas, como la creación de backups o la automatización de pruebas.
Conclusión
En conclusión, ChatGPT es una herramienta valiosa en el mundo del desarrollo, ya que puede ayudar a automatizar tareas, generar código preciso y mejorar la documentación. Sin embargo, es importante ser conscientes de los riesgos potenciales, como el código no seguro o la falta de comprensión, y utilizar ChatGPT de manera responsable. Con el uso adecuado, ChatGPT puede ser una herramienta poderosa para mejorar la eficiencia y productividad en el mundo del desarrollo.
ChatGPT explicando ChatGPT
En general la mayoría de textos e imágenes se han generado sin necesidad de repreguntar demasiado, pero por ejemplo en la sección de “ejemplos de uso”, en particular el del completado de código, hubo que ponerle varias entradas hasta que dió una respuesta convincente.
Lo único que se ha modificado del texto generado por ChatGPT ha sido eliminar “ChatGPT en el mundo del desarrollo” de los títulos de sección ya que tiende a repetir en exceso el contexto de lo que se le ha preguntado y quedaba demasiado evidente.
A continuación mostramos las peticiones que han sido necesarias para crear parte del contenido de este post. Click para ampliar.
Y aquí el proceso para crear la imagen de portada:
Tomas falsas
A continuación vamos a poner algunos ejemplos de las respuestas que no han pasado el corte y no se han añadido al post, para que veamos también los casos en los que no lo hace tan bien.
Documentación
Si no somos lo suficientemente específicos a la hora de hacer las preguntas puede que las respuestas no sean lo que esperamos:
Autocompletado de código
Antes del ejemplo que aparece en post probamos una consulta un poco más difícil. Ya que acabamos de generar un método para consultar al API de GitHub de manera bastante convincente probamos a ver si solo con indicar el título de una función pidiendo que saque un mensaje de commit de Gitlab podía hacer el mismo trabajo de consultar la API y meterlo en una función:
Y aquí ChatGPT se inventa sin miramientos el endpoint de Gitlab al que habría que atacar hasta el punto de ponerle un .json como si estuviéramos tratando de recuperar un fichero del repositorio o algo así. Dejando claro con esta consulta que si queremos respuestas correctas es mejor preguntarle las cosas poco a poco y de la manera más completa posible para no darle margen a la interpretación.
Límites de la generación de imágenes
Para evitar un uso inapropiado de los generadores de imágenes por IA, estos generalmente no dibujan bien textos ni caras, es algo que sucede en general con cualquier aspecto que requiera mucho detalle pero es especialmente dramático con los dos mencionados. Hasta ahí sería comprensible. El problema está cuando la IA cree que lo que el usuario le está pidiendo en realidad son textos y caras, aunque este no se lo diga específicamente, porque los pinta igualmente con resultados dignos de estudio:
Con zoom todo se aprecia mejor (click para ampliar):
Creo que no hace falta añadir nada más.
Conclusiones 2
ChatGPT se ha demostrado bastante capaz incluso en tareas que no son estrictamente las suyas (conversar) como es la generación de código, con el añadido de que con cada respuesta nos explica lo que considera que hace el código propuesto haciendo más fácil la validación de sus respuestas.
Hay que tener en cuenta además que sus respuestas serán mejores cuanto más concretas y detalladas sean nuestras preguntas. Por ejemplo, será mucho más fácil que nos responda correctamente a cuál es el endpoint para hacer lo que sea en un API o que como podemos logarnos contra ella que pedirle que nos construya una clase completa que tenga varios métodos para distintas llamadas autenticadas.
Una vez dicho esto hay que ser muy cuidadosos con lo que copiamos de sus respuestas puesto que, como hemos podido ver, si no sabe algo no tiene el más mínimo problema en inventarselo, y lo que es peor, sus respuestas inventadas son igual de convincentes que las correctas, por lo que siempre tendrá que haber una persona con suficiente experiencia detrás para evitar introducir errores de bulto


