Nueva investigación de GitHub Copilot encuentra «presión a la baja sobre la calidad del código»

Una nueva investigación de GitClear sugiere que GitHub Copilot y asistentes de programación con IA similares se correlacionan con más rotación, código duplicado y menor adherencia a prácticas como DRY, lo que plantea preocupaciones sobre la calidad del código a largo plazo. Los comentaristas describen estas herramientas como muy eficaces para boilerplate, tests y “empezar”, pero señalan que a menudo producen soluciones sutilmente incorrectas o ingenuas que son difíciles de depurar, especialmente para desarrolladores menos experimentados. Otros cuestionan la metodología del estudio y sostienen que el verdadero problema es cómo los equipos usan estas herramientas y qué optimizan, advirtiendo que los incentivos hacia la velocidad y las líneas de código pueden amplificar los inconvenientes.

Impacto percibido en la calidad del código y la rotación

  • Muchos comentaristas dicen que Copilot/LLMs aumentan el código “más o menos aceptable”, el copy-paste y la rotación, a menudo violando DRY y creando deuda técnica futura.
  • Varios describen incidentes reales en los que un uso intensivo de IA llevó a código de producción frágil, reescrituras de último momento y trabajo de apagafuegos.
  • Otros argumentan que una menor calidad puede ser aceptable cuando la tarea en sí es simple o de vida corta, y que no toda rotación es “defectuosa”; puede reflejar una experimentación más barata.

Metodología y límites del estudio

  • La investigación enlazada se ve como interesante pero metodológicamente débil: infiere correlaciones a partir de métricas de repos sin saber directamente qué código fue generado por IA.
  • Algunos señalan que la regresión usó muy pocos puntos de datos y no controló otros factores (p. ej., contratación/despidos por COVID, cambios en la economía tecnológica).
  • Incluso lectores simpáticos subrayan que no puede demostrar causalidad, solo que 2023 parece diferente de años anteriores.

Cómo usan los desarrolladores las herramientas de IA

  • Usos “buenos” populares: boilerplate, configuraciones tediosas, refactors repetitivos, tests, docstrings, mensajes de commit, SQL simple, especificaciones OpenAPI, autocompletado de una sola línea.
  • Varios tratan a los LLMs como un “patito de goma inteligente” o una mejor búsqueda: hacen preguntas, verifican documentación y APIs, afinan diseños.
  • Muchos encuentran Copilot malo para lógica compleja, arquitectura más profunda o SQL no trivial; revisar su salida puede costar más que escribir el código uno mismo.

Aprendizaje, juniors y deriva de habilidades

  • Hay una fuerte preocupación de que los juniors “pulsen tab” en lugar de aprender, volviéndose dependientes de la IA e incapaces de juzgar la calidad del código.
  • Otros replican que los LLMs pueden ser tutores potentes, si ya sabes lo suficiente para criticar las respuestas y usarlas para aclarar conceptos.

Productividad, incentivos y artesanía

  • Algunos reportan ganancias claras de productividad y aceptan felizmente código algo peor a cambio de resultados más rápidos; otros cancelan suscripciones porque depurar la salida de la IA cuesta más.
  • Varios lo relacionan con tendencias más amplias: presión por mayor rendimiento con salarios estancados, gestión que mide LOC/velocidad, y un cambio de programación estilo “artesano” a estilo “obrero”.
  • Surgen debates sobre DRY/SOLID y las abstracciones: algunos culpan al exceso de DRY y a los patrones por la complejidad; otros sostienen que siguen siendo esenciales para el mantenimiento, especialmente cuando la IA hace barato generar grandes cantidades de código.

Preocupaciones y analogías más amplias

  • Se hacen comparaciones con calculadoras, correctores ortográficos, Internet e incluso la escritura misma: cada nueva herramienta una vez fue vista como algo que haría a la gente “más tonta”.
  • Algunos temen una erosión a largo plazo de la habilidad humana sin asistencia y un bucle de retroalimentación en el que el código generado por IA degrade los futuros datos de entrenamiento.
  • Otros ven la IA como algo temprano, sobrevalorado, pero en última instancia solo otra herramienta cuyo impacto neto dependerá de cómo los humanos adapten los flujos de trabajo, las pruebas y los incentivos.