Los agentes de inteligencia artificial (IA) están transformando la ingeniería de datos al automatizar la creación de transformaciones, pipelines, flujos de orquestación, pruebas de validación e incluso configuraciones de infraestructura a partir de indicaciones o prompts. Este avance permite un desarrollo mucho más ágil y rápido en la gestión de datos.
No obstante, las plataformas de datos empresariales tradicionalmente operan en sistemas fragmentados, propiedad de diferentes equipos y basados en tecnologías diversas. A medida que estos sistemas evolucionan de forma independiente, las organizaciones enfrentan problemas crecientes de lógica empresarial inconsistente, implementaciones duplicadas, análisis complejo del impacto en sistemas posteriores y dependencias ocultas dentro de la plataforma.
El fenómeno conocido como «vibe coding» —la programación basada en el contexto inmediato y las conversaciones informales con agentes de IA— puede agravar estos problemas, ya que gran parte del contexto operativo, decisiones arquitectónicas y conocimiento empresarial se dispersan en indicaciones, charlas, código generado y flujos disconexos, en lugar de integrarse dentro del propio sistema.
Frente a ello, el desarrollo guiado por especificaciones (SDD, por sus siglas en inglés) emerge como un enfoque que convierte toda esta información en especificaciones ejecutables y versionadas, que se incorporan como memoria operativa persistente tanto para humanos como para agentes de IA. Así, los sistemas pueden evolucionar de forma consistente entre diferentes lanzamientos, equipos y flujos de trabajo asistidos por IA.
Limitaciones del «vibe coding» para la ingeniería de datos
El «vibe coding» es sumamente eficiente para generar implementaciones aisladas rápidamente, pero las indicaciones utilizadas son temporales y específicas del momento, capturando solo las suposiciones y contexto de un instante concreto. En la práctica, hacer que sistemas generados por IA funcionen requiere mucha más información continua: decisiones arquitectónicas, reglas de negocio, supuestos de esquemas, dependencias, restricciones operativas, historial de depuración y guía de implementación forman el verdadero conocimiento operativo en estos proyectos.
Sin embargo, en el «vibe coding», esta información suele quedar dispersa en prompts, conversaciones, tickets, documentación fragmentada y código generado desconectado de la plataforma. Esto representa un problema grave en ingeniería de datos empresariales, donde las plataformas suelen estar formadas por múltiples sistemas interconectados y heterogéneos: pipelines de ingesta, almacenes de datos, herramientas de orquestación, capas semánticas, APIs, dashboards y sistemas de machine learning.
Al hundirse el contexto y la lógica dentro de prompts y códigos efímeros, se pierde visibilidad sobre la intención arquitectónica, dependencias posteriores, supuestos de validación, comportamiento operacional y el contexto empresarial original. Con el tiempo, el sistema en sí ya no contiene el razonamiento completo sobre su construcción, quedando este conocimiento crucial fuera de la plataforma y restringido al juicio humano o conversaciones dispersas.
Esta situación dificulta mantener la eficiencia de ingeniería a largo plazo, pues, aunque el «vibe coding» acelera la creación puntual de implementaciones, el ciclo completo de desarrollo sigue dependiendo fuertemente de la coordinación humana, validaciones y conjeturas sobre decisiones previas. Además, los prompts no están diseñados para evolucionar, versionarse ni reutilizarse sistemáticamente dentro de procesos continuos de integración y despliegue.
El desarrollo guiado por especificaciones como memoria persistente
El SDD propone construir sistemas a partir de especificaciones ejecutables, que van más allá de la documentación tradicional. Estas especificaciones definen contratos operativos que impulsan la generación de código, validaciones, pruebas, orquestación y despliegues.
Esta metodología extiende conceptos como Infrastructure-as-Code o GitOps al desarrollo asistido por IA, combinando definiciones declarativas de sistemas—contexto, esquemas, dependencias, reglas y requisitos operativos—con instrucciones detalladas de implementación y evolución para agentes de IA. Al almacenar estas especificaciones como contratos versionados integrados en flujos CI/CD, el sistema gana capacidad para evolucionar, garantizar coherencia y gobernabilidad a lo largo del tiempo.
Estas especificaciones se organizan en varias capas, comenzando por una «constitución» que abarca principios y restricciones generales del proyecto —estándares tecnológicos, normas de nombrado, políticas arquitectónicas y de gobernanza— y se extienden a niveles más específicos:
- Especificaciones de esquemas que garantizan compatibilidad estructural
- Especificaciones de transformaciones que definen la lógica empresarial
- Especificaciones de validación que establecen reglas de calidad
- Especificaciones de orquestación que describen el comportamiento de ejecución
- Especificaciones semánticas que definen términos y conceptos compartidos
- Especificaciones de flujos de trabajo para agentes de IA que contienen instrucciones reutilizables para generación de código
Por ejemplo, una especificación simplificada de pipeline puede describir las fuentes de datos, estrategias de transformación, destino y validaciones requeridas, que luego sirven para generar automáticamente código python, modelos DBT o flujos Airflow de manera estandarizada y coherente en toda la plataforma.
Estas especificaciones se actualizan iterativamente mediante herramientas asistidas por IA, facilitando la colaboración, adaptación y mejora continúa sin perder el contexto esencial ni dispersarse en múltiples fuentes fragmentadas.
Por qué SDD encaja especialmente bien en la ingeniería de datos
Si bien el SDD podría aplicarse en diferentes ramas del software, la ingeniería de datos se beneficia especialmente por la complejidad y fragmentación propias de las plataformas de datos modernas. Estas abarcan numerosas tecnologías y capas: sistemas transaccionales, frameworks de ingesta, plataformas de streaming, almacenes de datos, sistemas de orquestación, capas semánticas, APIs y proyectos de machine learning, todos interconectados y con alto impacto cruzado.
Algunas áreas y equipos gestionan componentes muy específicos, pero los cambios en un espacio pueden afectar en cascada múltiples consumidores aguas abajo, dificultando el análisis de impacto y la gestión coordinada. En especial, modificaciones aparentemente menores en esquemas o reglas de negocio pueden romper pipelines, dashboards, APIs o modelos ML de forma silenciosa.
SDD mitiga esta fragilidad al introducir contratos operativos compartidos y versionados que capturan relaciones, dependencias, reglas y patrones estandarizados. Los agentes de IA pueden generar y modificar implementaciones a partir de estos contratos con mayor coherencia, visibilidad y robustez, favoreciendo una evolución incremental controlada y trazable.
Además, la ingeniería de datos no solo busca velocidad sino estabilidad, escalabilidad, mantenimiento, confiabilidad operativa y control de costes. Esto implica un gran diseño previo: arquitecturas, definiciones de esquemas, patrones de transformación, orquestación, validación y estrategias de almacenamiento y compatibilidad. Una vez fijados estos patrones, la mayor parte del trabajo es repetitivo y muy apto para automatización mediante especificaciones y agentes de IA.
Por ejemplo, tras definir un patrón de ingesta y transformación para datos de clientes desde Salesforce, incorporar una nueva tabla solo requeriría añadir una definición en las especificaciones, generándose automáticamente el resto siguiendo el patrón estandarizado.
Transformando el rol del ingeniero de datos y la gestión en plataformas con IA
El SDD introduce un nivel superior de automatización, reduce la fragmentación e incrementa la trazabilidad y coordinación entre entornos distribuidos. Esquemas, reglas de negocio, lógica de transformación, validación, orquestación y dependencias quedan explícitamente definidas en especificaciones reutilizables. Esto permite que la generación y evolución de implementaciones sea mucho más consistente.
Aunque la IA asume gran parte de la generación, el juicio humano sigue siendo esencial para definir lógica empresarial, diseñar arquitecturas, validar y coordinar la evolución del sistema globalmente. El papel tradicional del ingeniero de datos evoluciona de escribir código repetitivo a diseñar y mantener especificaciones detalladas, gestionar patrones operativos, reglas de calidad y coordinar el contexto empresarial.
Este cambio puede también reducir el aislamiento tradicional entre equipos especializados, ya que la implementación se estandariza y se basa en contratos operativos compartidos, facilitando la colaboración transversal y evitando silos fijos.
En definitiva, el desarrollo guiado por especificaciones plantea un modelo más centrado en especificaciones y sistemas, donde el ingeniero aporta intención, arquitectura y coordinación de negocio, y la IA asume la ejecución, pruebas y generación operativa a gran escala.
Shuhua Xu es ingeniero líder en datos.