programa
Ayuda Código Géminis: Una guía con ejemplos
Últimamente ha habido un aumento en los modelos de código abierto y, cuando se trata de edición de código, jugadores como Cursor AI y GitHub Copilot permiten a los usuarios probar sus asistentes de código de IA de forma gratuita, pero rápidamente nos topamos con el muro de pago al utilizarlos para construir cualquier proyecto real.
Gemini Code Assist, el asistente de código de IA de Google, acaba de conseguir su propio y muy generoso nivel gratuito. Viene en forma de Visual Studio Code y extensiones JetBrains.
En este tutorial, aprenderemos a configurarlo en Visual Studio Code y a utilizarlo con varios ejemplos prácticos.
Desarrollar aplicaciones de IA
¿Qué son los Asistentes de Código de IA?
Los asistentes de código de IA utilizan la IA para ayudar a los desarrolladores a codificar de forma más eficiente, sugiriendo fragmentos de código, automatizando tareas repetitivas y proporcionando correcciones en tiempo real en entornos de codificación como Visual Studio Code. Esto permite a los desarrolladores dedicar menos tiempo a las tareas rutinarias y más al trabajo complejo y creativo.
Aunque los chatbots pueden ayudar en las tareas de codificación, su uso puede resultar engorroso, ya que requieren ir y venir entre el IDE y la plataforma de IA, lo que implica copiar y pegar mucho código.
Los asistentes de código de IA se integran directamente en el entorno de codificación. Esto les permite conocer nuestro contexto de codificación y evitar tener que proporcionar explícitamente fragmentos de código cuando hacemos preguntas. Esto también da a los asistentes de código la posibilidad de modificar directamente el código, haciendo mucho más rápida la integración de los cambios.
¿Cómo instalar el Asistente de Códigos Gemini?
En este tutorial, utilizaremos Gemini Code Assist junto con Visual Studio Code. Gemini Code Assist es una extensión de Visual Studio, por lo que podemos instalarla como lo haríamos con cualquier otra extensión:
- Haz clic en la pestaña extensiones del panel izquierdo.
- Escribe "gemini code assist" en la casilla de búsqueda.
- Pulsa el botón "Instalar".
Una vez instalado, aparecerá la pestaña Géminis en el panel izquierdo. Para empezar a utilizar el asistente de códigos, haz clic en la pestaña con el logotipo de Géminis e inicia sesión en tu cuenta de Google.
Probar el Asistente de Código Gemini
Para probar Gemini Code Assist, decidí analizar un conjunto de datos reciente de canciones de Spotify utilizando Python. El conjunto de datos que utilicé era de Kaggle y está disponible aquí.
Para empezar, crea una carpeta y extrae el archivo songs.csv
en esa carpeta. A continuación, abre la carpeta en Visual Studio Code. El plan es empezar sin código y que el Asistente de Código Gemini lo escriba todo por nosotros.
Cómo empezar
El primer mensaje que envié pedía crear una función Python que cargara los datos en un DataFrame pandas
.
Normalmente, el asistente de código funciona modificando el código existente y mostrándonos un diff con los nuevos cambios. Como en este caso todavía no hay código, podemos pedirle que cree un nuevo archivo con el código propuesto haciendo clic en el último botón de la esquina superior derecha del cierre del código en la ventana de chat.
A continuación, cambiamos el nombre del archivo a songs.py
.
Ejecutar el código
Podemos ejecutar el código utilizando el terminal integrado en Visual Studio Code con el comando
python songs.py
En este caso, obtenemos un error:
ModuleNotFoundError: No module named 'pandas'
Esto se debe a que el script songs.py
está intentando utilizar pandas
, que no está instalado. Esta es una oportunidad perfecta para comprobar si Gemini Code Assist conoce o no el terminal dentro de Visual Studio Code.
Le pedí que me explicara cómo solucionar el error en el terminal. Por desgracia, dio una respuesta genérica que mostraba que no tenía capacidad para acceder a la salida del terminal. La alternativa es copiar y pegar el texto del error en el chat de la IA, lo que es un poco más engorroso. Pero, efectivamente, al hacerlo obtenemos la respuesta correcta de que tenemos que ejecutar el comando pip install pandas
en el terminal.
Es una limitación desafortunada porque, como ingeniero de software, hacer preguntas sobre un error que veo en el terminal es uno de los casos más comunes en los que utilizo la IA.
Después de instalar pandas
, podemos ejecutar correctamente el código.
Hacer preguntas genéricas
Gemini Code Assist no se limita a cuestiones de codificación. También podemos hacer preguntas genéricas o relacionadas con los datos. Intentemos hacernos una idea de los datos que tenemos en el archivo songs.csv
pidiéndole que enumere todas las columnas:
En la respuesta, creó una función que enumera las columnas, pero también mostró una lista directamente en la respuesta:
A menudo, cuando utilizaba el Asistente de Código Gemini, parecía que le costaba distinguir cuando yo hacía una pregunta genérica que sólo requería una respuesta textual de cuando quería que escribiera código. Se trata de un problema menor porque podemos ignorar la parte del código, pero desordena bastante el chat.
Pedir nuevas funcionalidades
Por la respuesta anterior, vemos que hay una columna track_popularity
. Pidamos al Asistente de Código Géminis que implemente una nueva función que obtenga la canción más popular.
Cuando el Asistente de Código Gemini escribe código en la respuesta, la función no se integra automáticamente en nuestro código. Para ello, hacemos clic en el botón de doble flecha "Diff con archivo abierto". Asegúrate de que, antes de hacer clic, el archivo al que pertenecen los cambios es el archivo abierto actualmente en el editor; de lo contrario, los cambios se fusionarán en el archivo equivocado.
Tras pulsar el botón, se nos presenta un dif. A la izquierda vemos el estado actual del código y a la derecha el nuevo estado. Las líneas resaltadas en rojo representan las líneas que se suprimirán o cambiarán, mientras que las líneas resaltadas en amarillo son las adiciones o cambios.
Podemos fijarnos en la barra de desplazamiento de la derecha para localizar estos cambios. A menudo, varias ubicaciones del archivo requieren cambios, y es importante echar un vistazo a todas ellas antes de aceptar los cambios.
Al pasar el ratón sobre un cambio, vemos una flecha en el centro:
El icono me parece poco intuitivo, pero haciendo clic en esta flecha especificaremos que no queremos incluir ese cambio concreto. Después de decidir cuál queremos, podemos incorporar el nuevo código haciendo clic en el botón "Aceptar" de la parte superior.
Autocompletar
Hasta ahora, hemos estado interactuando con el Asistente de Código Gemini utilizando el chat de IA. Esto ya es un flujo de trabajo mucho mejor que tener que copiar y pegar código de un lado a otro entre una plataforma de IA y el editor de código, porque todo está integrado en la misma ventana y vemos el diff, lo que facilita ver los nuevos cambios. Sin embargo, eso no es todo lo que puede hacer Code Assist.
Mientras escribimos código, el asistente analizará lo que estamos escribiendo y proporcionará sugerencias de código que pueden integrarse con sólo pulsar un botón.
La columna track_popularity
del conjunto de datos almacena la popularidad de una pista. Escribamos una función que muestre la popularidad de las canciones de un artista determinado, ordenadas por su fecha de lanzamiento. Podemos utilizar track_album_release_date
para clasificar.
Mientrasescribimos la función, el Asistente de Código Gemini nos sugerirá autocompletaciones. Cuando empecemos a escribir la firma de la función, el Asistente de Código Gemini adivinará lo que queremos a partir del nombre de la función:
Para incorporar una sugerencia, basta con pulsar la tecla Tab del teclado. A continuación, queremos crear una copia del DataFrame que contenga sólo las canciones del artista dado:
A veces, la sugerencia de código no es lo que queremos. En este caso, todavía tenemos que escribir manualmente lo que queremos o, si se parece lo suficiente, aceptarlo y luego editarlo. En este ejemplo, el siguiente paso es convertir el track_album_release_date
en un formato de fecha. Sin embargo, por alguna razón, el Asistente de Código Gemini sólo quiere obtener el año de publicación, así que escribí la línea manualmente.
A continuación, quiero ordenar las canciones por fecha:
Por último, devuelvo las puntuaciones de popularidad:
Código específico de destino
Podemos dirigirnos a un código concreto seleccionándolo primero en el editor. Cuando se seleccione el código, se sugerirán algunas indicaciones automáticas, como "Explica esto" o "Genera pruebas unitarias".
Poder seleccionar un fragmento de código y preguntar qué hace o cómo funciona es muy útil cuando te introduces en una nueva base de código. He descubierto que éste suele ser el paso más difícil cuando se trabaja en un nuevo producto con una base de código existente.
También podemos pedirle que modifique el código con una consulta personalizada. Por ejemplo, podemos pedirle que mejore la función analyze_artist_popularity_over_time()
que acabamos de crear:
En este caso, mejoró la función añadiendo algunas comprobaciones para evitar errores.
Limitaciones del Plan gratuito
El plan gratuito de Gemini Code Assist para particulares tiene algunas limitaciones en comparación con los planes Estándar y Empresa:
- Personalización e integración limitadas: El plan gratuito no te permite conectar tus repositorios privados de código fuente para sugerencias de código personalizadas, lo que sí está disponible en el plan Empresa.
- Función de acceso: Ciertas funciones avanzadas de Gemini para Firebase y Apigee, así como la automatización avanzada asistida por IA en Integración de Aplicaciones, sólo están disponibles en los planes Estándar y Empresa.
- Seguridad y cumplimiento: El plan gratuito carece de funciones de seguridad y herramientas de gestión de nivel empresarial, así como de indemnización por IP, que sí se incluyen en las ofertas Estándar y Empresa.
- Límites operativos: El plan gratuito ofrece un límite diario de 6.000 solicitudes relacionadas con el código y 240 solicitudes de chat, lo que puede ser suficiente para un uso individual, pero podría ser limitante para proyectos de equipos más grandes.
- Funciones y asistencia para empresas: Las funciones de contexto empresarial para la creación de API y el análisis avanzado de la calidad de las aplicaciones no están disponibles en el plan gratuito.
Para más detalles, consulta el sitio web de Gemini Code Assist.
Mis impresiones sobre el código de ayuda Géminis
Creo que el Asistente de Código Géminis funciona bastante bien en general. En mi experiencia, su rendimiento es similar al de sus principales competidores, Cursor y Copilot. Es realmente impresionante para ser una herramienta gratuita. El nivel gratuito admite hasta 6.000 solicitudes relacionadas con el código y 240 solicitudes de chat al día. Esto debería ser más que suficiente para la mayoría de los programadores.
Otra característica interesante que no hemos cubierto aquí es su integración con GitHub. Gemini Code Assist para GitHub ayuda revisando las pull requests para encontrar errores y problemas de estilo y sugiriendo cambios y correcciones de código automáticamente. Esto permite a los desarrolladores centrarse más en escribir código. Si necesitan ayuda, los usuarios pueden pedírsela a Gemini dejando un comentario en su pull request.
Un problema que he encontrado es que parece luchar un poco con las solicitudes anteriores. A menudo me encontraba pidiendo algunos cambios y luego decidiendo ir en una dirección diferente. Sin embargo, en iteraciones posteriores, seguiría queriendo integrar esos cambios. Un ejemplo de ello fue la función que escribimos para mostrar la popularidad de una pista a lo largo del tiempo. Al principio, quería hacer un gráfico con estos datos y luego cambié de opinión. Sin embargo, el código para trazar esos datos seguía añadiéndose a futuras solicitudes no relacionadas, lo que resultaba un poco molesto.
Peligros de los auxiliares de codificación
Recientemente, he visto a más programadores expresar sus preocupaciones, como en este hilo de Redditsobre cómo el uso de asistentes de código como Cursor o Copilot les está haciendo olvidar poco a poco cómo escribir código.
No hay duda de que estas herramientas proporcionan increíbles aumentos de productividad, y no utilizarlas es ponernos en desventaja con respecto a nuestros compañeros. Sin embargo, creo que todo en la vida requiere un equilibrio, y cuando se trata de herramientas de codificación de IA, es fácil caer en la trampa de aceptar ciegamente el código que nos dan. Como mínimo, deberíamos dedicar tiempo a leer y comprender lo que genera.
Utilizar el completado de código también parece una mejor solución intermedia, porque al menos tenemos que empezar a escribir algo para ayudar a conservar la memoria muscular y evitar que los programadores dependan demasiado de las herramientas de IA. El completado de código también tiende a proporcionar trozos más pequeños de código, haciéndolo más fácil de digerir.
Conclusión
Las herramientas de IA siguen evolucionando, con costes cada vez menores y accesibilidad cada vez mayor. Gemini Code Assist ejemplifica esta tendencia ofreciendo gratuitamente una robusta herramienta de ayuda al código de IA.
Esta iniciativa de Google reduce la barrera de entrada para los desarrolladores, permitiendo que prácticamente cualquiera pueda utilizar la potente ayuda de la IA en sus tareas de codificación. Es especialmente encomiable que Gemini Code Assist ofrezca funciones que están a la par, o incluso compiten, con servicios de pago como Cursor y Copilot. Con hasta 6.000 solicitudes relacionadas con el código y 240 solicitudes de chat disponibles a diario, ofrece apoyo más que suficiente para desarrolladores individuales o pequeños proyectos.
Aprende IA con estos cursos
curso
Retrieval Augmented Generation (RAG) with LangChain
programa
Llama Fundamentals

blog
Cinco proyectos que puedes crear con modelos de IA generativa (con ejemplos)

blog
Cómo aprender Python desde cero en 2024: Guía del experto
tutorial
Tutorial de DeepSeek-Coder-V2: Ejemplos, instalación, puntos de referencia

Dimitri Didmanidze
8 min
tutorial
Configurar VSCode para Python: Guía completa
tutorial
Cursor AI: Una guía con 10 ejemplos prácticos

François Aubry
10 min
tutorial