Los ingenieros de software se encuentran cada vez más en una posición en la que entregan código que no escribieron y que no comprenden del todo. Ali Hamie, un ingeniero en Meta, destacó este cambio en una publicación reciente, describiendo la experiencia de trabajar con código generado por IA como si fuera una 'caja negra'. El núcleo de la tensión reside en la velocidad de la IA: debido a que los modelos pueden generar miles de líneas de código en segundos, la práctica tradicional de verificación línea por línea se convierte en un cuello de botella que puede destruir la misma velocidad que la IA pretende proporcionar. Esto crea un dilema en el que los ingenieros deben elegir entre ralentizar el proceso para auditar cada detalle o dar el 'visto bueno' a bloques de código para mantener el impulso.

Un encabezado de una publicación en LinkedIn sobre la entrega de código con IA y la pérdida de la comprensión del código.
La publicación de Ali Hamie destaca la creciente tensión entre la velocidad impulsada por la IA y la pérdida de la comprensión profunda del código.www.linkedin.com

La imagen representa la fuente del dilema de la 'caja negra' descrito por Ali Hamie con respecto al código generado por IA.

Para gestionar este cambio, algunos desarrolladores abogan por un movimiento hacia la ingeniería 'arquitectónica'. En lugar de dejar que un modelo de IA diseñe el sistema completo, algunos sugieren crear primero una jerarquía estricta de abstracciones y actores —decidiendo a un nivel alto cómo interactúan los componentes— y luego utilizar la IA para llenar las brechas de implementación. Este enfoque permite al ingeniero mantener un mapa mental de las responsabilidades del sistema incluso si no está familiarizado íntimamente con cada puerta lógica interna. Otros argumentan que el papel del ingeniero está evolucionando por defecto hacia el de un 'Ingeniero Principal': el humano proporciona el diseño y las restricciones, mientras que la IA actúa como un desarrollador junior que implementa los detalles. En este paradigma, la responsabilidad principal cambia de escribir código a diseñar sistemas y verificar los resultados mediante pruebas rigurosas.

Sin embargo, esta transición introduce riesgos significativos con respecto a la estabilidad a largo plazo y la retención de habilidades. Los críticos de la tendencia del 'vibe coding' —entregar código basado en una intención de alto nivel sin una verificación profunda— advierten de un 'déficit de responsabilidad'. Si un sistema falla bajo una carga máxima a las 3:00 AM, un modelo probabilístico no puede asumir la responsabilidad; el humano que lo entregó debe ser capaz de depurarlo. También existe la preocupación por la 'pérdida de habilidades', donde una nueva generación de ingenieros podría perder la capacidad de realizar revisiones de código profundas porque carecen de la base de construir desde principios fundamentales. Para mitigar estos riesgos, muchos profesionales enfatizan un modelo de 'confiar pero verificar', donde el enfoque se desplaza hacia conjuntos de pruebas exhaustivos, puertas automatizadas y el uso de la IA específicamente para visualizar y explicar los sistemas que ayuda a construir, asegurando que la 'caja negra' permanezca lo suficientemente transparente como para ser gestionada de forma segura.