Es indiscutible que el mercado del low-code está evolucionando rápidamente. Con la llegada de la IA y, en particular, del vibe coding, muchos sectores que podrían ser objetivo de enfoques low-code muestran ahora más interés por crear directamente sus aplicaciones dialogando con un LLM. Hasta el punto de que algunos afirman que el low-code ha muerto, y varias grandes empresas comerciales del sector se han reinventado bajo etiquetas como “agentic enterprise development” y lemas similares.

Nosotros creemos que la IA y el desarrollo low-code pueden complementarse. La figura que acompaña esta entrada pretende mostrar las distintas vías para combinarlos:

  • Desarrollo low-code tradicional. La parte superior, “low-code development”, ilustra el enfoque actual en el que los usuarios emplean una herramienta low-code, como BESSER, para modelar sus aplicaciones y después eligen un generador de código basado en reglas para crear el software modelado en su plataforma de destino. El resultado es completamente determinista y el código puede ser de gran calidad, ya que los generadores podrían incorporar “buenas prácticas” en las plantillas, dando lugar a código seguro, sin sesgos, energéticamente eficiente, etc. Ciertamente, no es que los generadores de código actuales incluyan estas buenas prácticas ya pero digamos que es una posibilidad que existe y que nosotros estamos estudiando ahora mismo.
  • Vibe modeling. Las plataformas low-code pueden incorporar agentes para ayudar a las personas a modelar, como hacemos en BESSER. A esto lo llamamos “vibe modeling” y permite acelerar el proceso de modelado, al tiempo que da a los usuarios la posibilidad de verificar y validar los modelos antes de generar el código con el mismo generador basado en reglas de antes. Este escenario combina la flexibilidad de la IA con el determinismo de la generación de código basada en reglas.
  • Vibe-driven engineering completo (vibe modeling + vibe coding). Algunos proyectos pueden requerir un enfoque más flexible en el que incluso el código sea generado por IA para cubrir situaciones no previstas (una plataforma no contemplada por el generador, la necesidad de generar código que quede fuera del alcance del generador, la incorporación de funcionalidades difíciles de modelar, por ejemplo, aspectos visuales de estilo, etc.).

El elemento clave de nuestra propuesta, y lo que nos diferencia de otros enfoques full vibe coding, es que mantenemos los modelos como elemento central. Estos modelos pueden crearse manualmente o “vibearse”, pero siguen siendo explícitos y pueden revisarse y validarse antes de pasar al vibe coding. Además, los modelos forman parte de la entrada del proceso de vibe coding (una especie de “spec-driven development”, término utilizado por la comunidad del vibe coding) para maximizar las probabilidades de obtener un código de salida que cumpla con la intención original del usuario. Asimismo, los modelos siguen siendo una herramienta útil de documentación y comunicación en cualquier vía de desarrollo. Por eso decimos que se puede adoptar un enfoque vibe-driven, pero seguirá siendo un enfoque basado en modelos.

Estamos trabajando para dar soporte a todos estos caminos en BESSER, incluida la experiencia completa de desarrollo vibe-driven y basada en modelos. Internamente, como hemos explicado antes, a partir de un input inicial del usuario en lenguaje natural describiendo la aplicación que quiere construir, primero generaríamos los modelos correspondientes a esa petición. Los usuarios podrían, opcionalmente, abrir y validar esos modelos en la interfaz “estándar” de low-code y volver a subirlos. O simplemente aceptarlos. De una forma u otra, esto desencadenaría la generación del código completo de la aplicación siguiendo la vía spec-driven, con los modelos como entrada. Esto llevaría la abstracción un paso más allá, haciendo que la ingeniería dirigida por modelos sea accesible para usuarios que no tienen ningún conocimiento de conceptos de modelado, y convirtiendo BESSER en una herramienta en la que una simple conversación basta para pasar de una idea a una aplicación desplegada, manteniendo al mismo tiempo cierto “grounding” y fiabilidad en el código generado gracias a:

  1. los modelos utilizados como entrada precisa y semiformal,
  2. el uso de skills para indicar al agente de vibe coding que utilice, cuando sea posible, los generadores de código deterministas disponibles en BESSER.