Resumen

Encontrar errores en código ajeno o mejorar consultas que no escribiste puede consumir horas valiosas de trabajo. La buena noticia 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 reparar bugs en distintos lenguajes de programación.

¿Cómo optimizar consultas SQL con inteligencia artificial?

Una de las formas más prácticas de mejorar el rendimiento de una base de datos es mediante la creación de índices. En el ejemplo mostrado [01:10], se parte de una query con un INNER JOIN entre las tablas customer y orders, un agrupamiento por company name y un filtrado por fecha. Al pedirle a Copilot que sugiera índices, propone:

  • Crear un índice por order_date, ya que es la columna utilizada en el filtro.
  • Crear un índice en customer_id, porque es la columna que conecta ambas tablas a través del join.

Estas sugerencias coinciden con las mejores prácticas de optimización en bases de datos relacionales.

¿Qué diferencia hay entre una subconsulta y un join para mejorar el rendimiento?

En otro ejemplo [03:00], se tiene una consulta que busca productos con nombre "Chai" usando una subconsulta con igualdad directa. Al solicitar mejoras, Copilot ofrece varias alternativas. La más eficiente reemplaza la subconsulta por un JOIN entre order_details y products, filtrando directamente sobre la tabla de productos. El resultado es idéntico, pero el rendimiento mejora considerablemente.

También se menciona que usar EXISTS consume menos recursos que una igualdad directa contra una subconsulta, lo cual es otra técnica válida de optimización.

¿Cómo detecta la IA errores de sintaxis en SQL?

Un error frecuente en SQL ocurre cuando no se incluyen en el GROUP BY todas las columnas que no son funciones de grupo [04:08]. Al ejecutar una consulta con este problema, el motor de base de datos lanza un error. Copilot identifica la causa y agrega automáticamente las columnas faltantes al GROUP BY, corrigiendo la consulta de inmediato.

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

El mismo enfoque aplica para lenguajes como Python, JavaScript, PHP o Rust. En el ejemplo presentado [05:30], se trabaja con un código orientado a objetos que define una clase Persona y una clase Estudiante que hereda de ella. El código contiene un error muy común: usar el nombre del parámetro de entrada directamente en lugar de self.nombre o self.grado dentro de la clase.

  • Copilot detecta estos errores y ofrece un quick fix.
  • Agrega self a las referencias internas de la clase.
  • Tras la corrección, el código ejecuta correctamente: "Mi nombre es Juan, tengo veinte años, estoy en grado tercero".

Este tipo de error, donde se confunde la variable de entrada con el atributo de instancia, es uno de los más frecuentes al trabajar con clases en Python.

¿Se puede usar ChatGPT como alternativa para depurar código?

Sí. En el siguiente ejemplo [07:22], se tiene una función que calcula el promedio de notas, pero con múltiples errores de sintaxis y lógica. En lugar de Copilot, se utiliza ChatGPT 3.5 con un prompt claro: "Eres un experto en Python. Ayúdame a detectar y corregir los errores".

ChatGPT identifica las correcciones necesarias:

  • Cambiar on por in en el ciclo for.
  • Agregar los dos puntos obligatorios después de if, for y definiciones de función.
  • Convertir variables numéricas a texto con str() antes de concatenar.

El código corregido se ejecuta sin problemas y devuelve el resultado esperado: promedio de 72, aprobado.

¿Qué es el pair programming con inteligencia artificial?

Todo lo anterior se enmarca dentro de un concepto llamado pair programming [09:30], que tradicionalmente consiste en programar junto a otra persona que revisa y evalúa el código en tiempo real. La diferencia es que ahora el "par evaluador" es una inteligencia artificial. Esta técnica está creciendo rápidamente y permite que cualquier miembro de un equipo, ya sea desarrollador o científico de datos, pueda mejorar la calidad de su código de forma más ágil.

¿Ya probaste alguna de estas herramientas para optimizar o depurar tu código? Comparte en los comentarios cómo planeas incorporar el pair programming con IA en tu flujo de trabajo.