Si la programación con IA está reduciendo la calidad de tu código, no estás gestionando bien la calidad
La programación asistida por IA divide a los ingenieros, que la ven o bien como un potente impulso de productividad o como una vía rápida hacia un “slop” inmantenible que abruma a los revisores. Muchos sostienen que la calidad del código depende en última instancia del proceso y del juicio humanos —especificaciones rigurosas, pruebas, revisiones y guardrails claros para los agentes—, mientras que otros responden que, en equipos reales con mala gestión, la IA solo amplifica los malos hábitos existentes y la deuda técnica. Debajo del debate hay una preocupación más amplia: que las organizaciones estén persiguiendo velocidad y volumen de código sin la cultura, los incentivos o las salvaguardas necesarios para mantener la fiabilidad de los sistemas con el tiempo.
Impacto en la calidad del código
- Fuerte división: algunos dicen que la IA puede producir código tan bueno o mejor que el suyo; otros insisten en que el código de IA es inherentemente más chapucero o no mantenible.
- Los críticos argumentan que muchos desarrolladores no pueden juzgar de forma fiable el “buen” código, especialmente la arquitectura, así que sobreestiman la calidad de la IA.
- Los defensores afirman que los modelos recientes, usados correctamente, producen código de alta calidad, especialmente para detalles, refactors y modernización de sistemas heredados.
- Varios señalan que la IA sobre todo amplifica las prácticas existentes: los buenos ingenieros mejoran algo; los mediocres producen 10 veces más código malo.
Proceso, guardrails y pruebas
- Muchos comentarios subrayan que la calidad viene de prácticas clásicas: especificaciones claras, criterios de aceptación, revisión de código, linting, tipado, comprobaciones de complejidad y pruebas sólidas.
- Las instrucciones positivas y prescriptivas (“busca siempre helpers antes de escribir uno”) funcionan mejor que reglas del tipo “nunca hagas X”.
- Se informa que los “audit passes” posteriores a la implementación por parte de agentes para encontrar duplicados, problemas de nombres y violaciones de estilo son eficaces.
- Gran énfasis en las pruebas: unitarias, basadas en propiedades/fuzzing, pruebas diferenciales, golden masters, cobertura. Algunos sostienen que el porcentaje de cobertura por sí solo es un mal indicador de calidad.
Productividad frente a carga de revisión
- Las ganancias reportadas van desde modestas hasta “10x” en trabajo individual desde cero; en equipos, mejoras del 50–100% se consideran más realistas.
- Otros dicen que la IA no ahorra mucho tiempo una vez que se incluyen la revisión seria y el rediseño.
- La carga de revisión es un gran punto de dolor: la IA permite PR enormes que los humanos no pueden entender del todo, especialmente en organizaciones grandes y en código abierto.
Gestión, incentivos y responsabilidad
- Muchos sostienen que la IA no está “destruyendo codebases” por sí sola; los humanos y los procesos de gestión deciden qué se fusiona.
- Otros replican que las expectativas de velocidad poco realistas hacen imposible una revisión exhaustiva, forzando en la práctica un uso de baja calidad de la IA.
- Hay debate sobre si es justo culpar a los usuarios por “usar mal la herramienta” en lugar de exigir mejores valores predeterminados y un comportamiento más seguro por parte de las herramientas.
Uso agéntico y recursivo
- Los flujos de trabajo recursivos y agénticos (IA modificando repetidamente su propia salida) se consideran especialmente arriesgados, tendiendo hacia un “random walk” de espagueti sin una guía humana estricta.
- Algunos creen que las técnicas actuales de prompting/guardrails son insuficientes para dejar que los agentes funcionen sin supervisión en sistemas complejos y no triviales.
Actitudes y oficio
- Un tema recurrente: cuidar el código como oficio frente a “solo es un trabajo”.
- Quienes tratan la IA como un asistente y mantienen estándares altos reportan mejores resultados que quienes hacen “vibe coding” y envían lo que pase los controles mínimos.