Ir al contenido
AppsSDAR

De código Visual Basic 6 a un diagrama BPMN con IA

7 min de lectura APIs y automatización

Muchas empresas dependen de un sistema escrito hace veinte años en Visual Basic 6 que nadie quiere tocar. La persona que lo programó ya no está, no hay documentación y cada cambio es un riesgo. Antes de modernizarlo hay que responder una pregunta básica: ¿qué proceso de negocio hace este código? SistModeler intenta responderla leyendo el código y dibujando el proceso en BPMN con ayuda de un modelo de lenguaje.

El flujo

  • Se sube el código fuente del módulo a analizar.
  • Un preprocesado limpia el ruido que no aporta al proceso.
  • El modelo de lenguaje extrae un grafo estructurado: tareas, decisiones, subprocesos y sus conexiones.
  • El grafo se valida con un esquema.
  • El navegador dibuja el diagrama BPMN a partir del grafo.

Qué modelo elegir: medir con un caso real

La tentación con una tarea de extracción es usar el modelo más barato. Comparé dos modelos con el mismo prompt sobre el mismo archivo real: un módulo de más de 21 mil líneas con lógica de negocio compleja. El modelo más capaz produjo un grafo de 57 nodos con 16 subprocesos y cubrió todas las condiciones de negocio identificadas. El modelo rápido produjo 20 nodos, ningún subproceso y cubrió poco más de la mitad de las condiciones.

Lo importante es que las dos salidas eran JSON válido y ambas pasaban la validación de esquema. El esquema confirma que la estructura es correcta, no que el contenido sea completo. Para saber cuál modelo sirve hay que comparar la salida contra lo que el código realmente hace, no contra el formato.

Menos ruido, menos costo

Estos sistemas tienen mucho código que no es lógica de negocio: funciones que arman reportes impresos o inicializan grillas de pantalla. Un preprocesado detecta esos bloques por sus patrones de nombre y los reemplaza por una línea que indica que ahí existe un reporte. Así el modelo sabe que el reporte existe sin leer cientos de líneas de coordenadas de impresión. En el archivo de prueba redujo la entrada en torno a un 5%, que en un análisis de este tamaño es dinero real.

No pagar dos veces el mismo análisis

  • Caché por contenido: se calcula un hash del archivo original. Si ese mismo archivo ya se analizó, se devuelve el resultado guardado sin llamar al modelo.
  • Caché del prompt de sistema: las instrucciones fijas se marcan para caché y no se cobran completas en cada llamada. El código, que cambia en cada análisis, no se beneficia.
  • Esfuerzo acotado: limitar el nivel de razonamiento del modelo redujo la latencia, que sin límite variaba entre uno y cuatro minutos, y también el costo, porque el razonamiento se factura como salida.

Detalles de la API que rompen en silencio

Con salidas tan largas, la respuesta debe pedirse en streaming. Y al leer el resultado hay que buscar el bloque de texto por su tipo, no tomar el primero: cuando el modelo razona, el primer bloque es el razonamiento y tomarlo como respuesta deja el resultado vacío. Además, algunos parámetros de muestreo que funcionaban con modelos anteriores fueron retirados en los nuevos y devuelven un error si se envían.

Lo que la IA no reemplaza

El diagrama es un punto de partida, no una verdad. Sirve para conversar con quienes usan el sistema, detectar qué partes nadie recordaba y decidir qué modernizar primero. Pero cada decisión importante del proceso debe confirmarse con alguien del negocio. El valor está en pasar de veinte mil líneas ilegibles a un dibujo que se puede discutir en una reunión.