Resumen

Encontrar errores en código ajeno o mejorar consultas que no escribiste puede consumir horas valiosas de trabajo. La realidad es que herramientas de inteligencia artificial como GitHub Copilot y ChatGPT permiten acelerar ese proceso de forma notable, tanto para optimizar rendimiento como para detectar y corregir bugs en SQL, Python y otros lenguajes.

¿Cómo mejorar consultas SQL con inteligencia artificial?

Una de las formas más directas de optimizar bases de datos es mediante la creación de índices. En el ejemplo presentado [01:05], se parte de una query que realiza un INNER JOIN entre las tablas Customer y Orders, agrupa por Company Name y filtra por fecha. Al pedirle a Copilot que sugiera índices, propone dos muy acertados:

  • Crear un índice en Orders sobre la columna Order Date, porque es el campo usado en el filtro.
  • Crear un índice en Customer sobre Customer ID, ya que es la columna involucrada en el join.

Estas sugerencias tienen sentido lógico: los índices reducen el tiempo de búsqueda en las columnas más consultadas. Copilot no solo optimiza la sintaxis, sino que entiende la estructura lógica de la consulta para proponer mejoras de rendimiento.

¿Qué significa mejorar la sintaxis y el performance de una query?

En otro ejemplo [02:35], se tiene una subconsulta que busca productos con nombre "chai" dentro de Order Details. La consulta funciona, pero su sintaxis no es eficiente. Al solicitar mejoras con Ctrl + Enter, Copilot ofrece varias alternativas:

  • Usar EXISTS en lugar de una igualdad directa, lo cual consume menos recursos.
  • Reemplazar la subconsulta por un JOIN directo entre las tablas, filtrando después sobre la tabla de productos.

La segunda opción resulta más limpia y eficiente. El resultado es idéntico, pero el motor de base de datos lo ejecuta con mejor rendimiento.

¿Cómo detectar errores de sintaxis en SQL automáticamente?

Un caso práctico de corrección de errores [04:00] involucra una consulta con funciones de grupo (SUM, COUNT) donde falta incluir todas las columnas no agregadas en el GROUP BY. Copilot identifica el problema y agrega las columnas faltantes. Los modelos LLM son capaces de entender la intención detrás de una query y detectar errores de sintaxis de manera precisa.

¿Cómo corregir errores en Python usando Copilot y ChatGPT?

El mismo principio aplica para lenguajes como Python, PHP, JavaScript o R. En el ejemplo mostrado [05:15], se trabaja con un código de programación orientada a objetos que incluye la clase Persona y la clase Estudiante con herencia. El código presenta errores comunes:

  • Las variables de instancia no usan self, lo cual impide que la clase haga referencia correcta a sus atributos.
  • Copilot, mediante la opción Quick Fix, detecta cada error y propone reemplazar nombre por self.nombre y grado por self.grado.

Este es un error frecuente al instanciar clases en Python: confundir la variable de entrada del constructor con el atributo del objeto. Tras aceptar las correcciones, el código ejecuta correctamente [07:05].

¿Cuándo conviene usar ChatGPT en lugar de Copilot?

En un segundo ejemplo con Python [07:25], una función calcula el promedio de notas y determina si el estudiante aprueba o reprueba. El código contiene múltiples errores:

  • for notas on notas debe ser for notas in notas.
  • Faltan los dos puntos (:) al final de if, for y definiciones de funciones.
  • Al concatenar texto con variables numéricas, es necesario convertirlas a string con str().

Al llevar el código a ChatGPT 3.5 [08:10], basta con indicar: "Eres un experto en Python, ayúdame a detectar y corregir los errores". El modelo tiene suficiente contexto técnico y semántico para comprender la intención del código sin necesidad de explicaciones adicionales. Devuelve el código corregido con comentarios claros sobre cada cambio.

¿Qué es el pair programming con inteligencia artificial?

Todo este flujo de trabajo tiene un nombre: pair programming [10:05]. Tradicionalmente, esta técnica consiste en programar junto a otro desarrollador que revisa y evalúa el código en tiempo real. Con la llegada de herramientas de IA, ese "par evaluador" ya no necesita ser una persona, sino un modelo de lenguaje que analiza, sugiere y corrige.

El pair programming con IA está creciendo constantemente y funciona para:

  • Optimizar rendimiento de consultas y código.
  • Detectar bugs de sintaxis y lógica.
  • Mejorar legibilidad y buenas prácticas.

¿Cómo planeas incorporar estas herramientas en tu flujo de trabajo diario? Comparte tu experiencia en los comentarios.