domingo, 20 de octubre de 2024

Code Copilot vs Chatbots - ¿Cómo de bueno es ChatGPT para aprender un nuevo lenguaje? IX

Este artículo es el noveno de una series acerca de  De cómo aprender python con ChatGPT, en el enlace previo, puedes empezar por el primer artículo.



Code Copilot vs Chatbots

Al comparar los resultados con el chatbot, se observa una mejora significativa en el uso de Code Copilot. Si usamos el prompt:

¿Podrías hacer una revisión de código como si fueras un programador experto?

Es cierto que, si mejoramos el prompt solicitando sugerencias específicas, es probable que obtengamos resultados similares. Pero, ¿en qué se diferencia el chatbot de esta herramienta? El chatbot es una herramienta generalista, más versátil, mientras que Code Copilot está diseñado específicamente para desarrolladores. El primero ha sido entrenado con todo tipo de textos provenientes de webs, ensayos académicos, libros, entre otros, para poder entablar conversaciones sobre cualquier tema. Por otro lado, Code Copilot ha sido entrenado con código de proyectos públicos subidos a GitHub y con manuales de programación. Además, sus modelos han sido ajustados (fine-tuning) con retroalimentación de desarrolladores experimentados.

Existe otra versión de Copilot que se distribuye como plugin para IDEs, como por ejemplo Visual Studio Code. El flujo de trabajo de esta versión es muy distinto a lo que estamos haciendo en esta serie de artículos. A medida que el desarrollador escribe dentro de un archivo .py, la herramienta ofrece sugerencias de autocompletado, incluso de funciones completas. Esta funcionalidad no es nueva; recuerdo que hace más de quince años los IDEs ya incorporaban ayudas similares. La diferencia es que ahora detrás están los Modelos de Lenguaje de Gran Escala (LLM), lo que sugiere que las recomendaciones sean más ricas y no tan mecánicas. ¿Serán estas sugerencias más acertadas?

Una de las críticas más importantes que ha recibido Copilot es que ha sido entrenado con código de GitHub, pero este código no necesariamente es de calidad. A menudo encontramos código deficiente en GitHub, lo cual es comprensible en algunos casos. Por ejemplo, si estás creando una prueba de concepto, solo quieres verificar algo rápidamente, y es natural que no dediques mucho tiempo a perfeccionar el código. Es posible que sea un código que no compartas con nadie y que probablemente no volverás a usar, por lo que no lo vas a mantener.

En cualquier caso, esta versión de la herramienta está fuera del alcance de este artículo, ya que es de pago y no ofrece nada novedoso en comparación con lo que hemos analizado.

No hay comentarios: