Resumen

Corregir errores y mejorar el rendimiento del código son tareas que consumen una parte significativa del tiempo de cualquier desarrollador, científico de datos o profesional que trabaje con código. La gran ventaja actual es que herramientas como GitHub Copilot y ChatGPT permiten acelerar estos procesos de forma notable, tanto para optimizar consultas SQL como para depurar código en Python u otros lenguajes.

¿Cómo puede la IA optimizar consultas SQL?

Una de las formas más efectivas de mejorar el rendimiento de una base de datos es mediante la creación de índices. En el ejemplo mostrado [1:10], se parte de una query que consulta la tabla Customer con un INNER JOIN a Orders, agrupando por Company Name y filtrando por fecha. Al pedirle a Copilot que sugiera índices, este recomienda:

  • Crear un índice sobre la columna Order Date, ya que es el campo utilizado en el filtro.
  • Crear un índice sobre Customer ID en la tabla Customer, porque es la columna que conecta ambas tablas mediante el JOIN.

Estas sugerencias tienen sentido técnico y coinciden con las mejores prácticas de optimización en bases de datos relacionales [1:55].

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

En otro caso práctico [2:20], se tiene una consulta que obtiene registros de Order Details usando una subconsulta con igualdad directa contra la tabla Products. Al solicitar una mejora, Copilot propone dos alternativas:

  • Usar EXISTS, que consume menos recursos que la igualdad directa.
  • Reemplazar la subconsulta por un JOIN entre Order Details y Products, filtrando después sobre la tabla de productos.

La segunda opción resulta más eficiente y legible [3:18]. El resultado es idéntico, pero el plan de ejecución mejora considerablemente.

¿Puede la IA detectar errores en consultas SQL?

Sí. En un tercer ejemplo [3:55], una consulta con funciones de grupo falla porque no todas las columnas están incluidas en la cláusula GROUP BY. Copilot identifica el problema y agrega las columnas faltantes automáticamente. Los modelos LLM (Large Language Models) son capaces de entender la intención detrás de una query y detectar errores de sintaxis con precisión [4:30].

¿Cómo corregir errores de Python con GitHub Copilot?

El siguiente escenario involucra un código en Python con clases y herencia [5:00]. Se define una clase Persona con atributos de nombre y edad, y una clase Estudiante que hereda de ella. El error más frecuente aquí es olvidar usar self para referenciar las variables de instancia dentro de la clase.

  • Al usar la opción Quick Fix de Copilot, la herramienta detecta que nombre debe ser self.nombre.
  • Lo mismo ocurre con grado, que se corrige a self.grado [6:05].

Este tipo de error es muy común al instanciar objetos: se utiliza el nombre del parámetro de entrada en lugar de la referencia con self, lo que impide que el objeto acceda correctamente a sus propios atributos.

¿Cómo usar ChatGPT para depurar código en Python?

En un ejemplo adicional [7:00], se tiene una función que calcula el promedio de notas. El código contiene múltiples errores de sintaxis:

  • Uso de on en lugar de in dentro del ciclo for.
  • Falta de dos puntos al final de las sentencias if, for y definiciones de función.
  • Ausencia de conversión de variables numéricas a texto al momento de concatenar con strings.

Al llevar el código a ChatGPT (versión 3.5 es suficiente para este nivel de complejidad), basta con indicar: "Eres un experto en Python. Ayúdame a detectar y corregir los errores" [7:30]. El modelo devuelve el código corregido con comentarios explicativos sobre cada cambio. Al reemplazar el código en Visual Studio Code, el programa funciona correctamente y calcula el promedio sin problemas [8:40].

El concepto detrás de todo esto se llama pair programming con inteligencia artificial [9:00]. Se trata de una técnica donde el programador trabaja junto a un modelo de IA como evaluador y asistente, en lugar de hacerlo con otra persona del equipo. Esta práctica está creciendo rápidamente y aplica a múltiples lenguajes: Python, JavaScript, PHP, Rust, SQL y más.

¿Ya has probado alguna de estas herramientas para optimizar o depurar tu código? Comparte tu experiencia en los comentarios.