Code2UML: Agentic LLMs with context engineering for scalable software visualization
Este artículo presenta Code2UML, un sistema de LLM agente que incorpora una capa de ingeniería de contexto determinista, la cual permite la generación automatizada escalable y de alta calidad de diagramas UML a partir de repositorios de código fuente a gran escala, manteniendo un rendimiento estable a través de diversos tamaños de proyecto y lenguajes de programación.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina que tienes una biblioteca masiva de libros (una base de código de software) y quieres crear un mapa simple (un diagrama UML) que muestre cómo se conectan las salas, dónde están las salidas y cómo se mueve la gente entre ellas.
El problema es que la biblioteca es tan enorme que, si intentas describir todo el conjunto a un solo experto (una IA) de una vez, se abruma, empieza a inventar cosas o simplemente se detiene a mitad de camino. Este es el problema del "límite de contexto" que aborda el artículo.
Los autores, Code2U, construyeron un equipo inteligente de asistentes de IA para resolverlo. En lugar de pedirle a una sola IA gigante que lo haga todo, crearon una jerarquía de cinco agentes especializados (piensa en ellos como una cuadrilla de construcción con trabajos específicos) y un sistema de compresión de datos ingenioso.
Así es como funciona su sistema, desglosado en conceptos simples:
1. El filtro de "Ingeniería de Contexto" (El Bibliotecario)
Antes de que el equipo de IA siquiera mire el código, una herramienta especial actúa como un bibliotecario súper rápido.
- El Problema: La biblioteca completa de código es demasiado grande para caber en la "memoria de trabajo" de la IA (su ventana de contexto).
- La Solución: Esta herramienta no usa IA para decidir qué guardar. En su lugar, utiliza reglas estrictas y preescritas (lógica determinista) para escanear rápidamente el código y crear una "instantánea" personalizada para el mapa específico que quieres dibujar.
- La Analogía: Imagina que necesitas un mapa del sistema de metro de una ciudad. El bibliotecario no le pregunta a la IA: "¿Qué es importante?". En su lugar, el bibliotecario desecha instantáneamente todos los nombres de las calles, las direcciones de los edificios y los detalles de los parques, guardando solo las estaciones y las vías del metro. Esta instantánea es diminuta, cabe perfectamente en la memoria de la IA y ocurre en milisegundos sin necesitar ningún poder cerebral de IA.
2. La cuadrilla de cinco agentes
Una vez que el bibliotecario crea la instantánea correcta, un equipo de cinco agentes de IA especializados toma el relevo. Trabajan juntos como un mecanismo bien aceitado:
- El Planificador (El Arquitecto): Mira la instantánea y decide: "Bien, necesitamos dividir este gran proyecto en trozos más pequeños. Hagamos tres mapas separados para los diferentes departamentos".
- El Analizador (El Detective): Para cada trozo, este agente lee los archivos específicos y resume las interacciones clave (quién habla con quién). Ignora el ruido y se centra en la señal.
- El Agente de Diagramas (El Artista): Este agente toma el resumen y realmente dibuja el mapa (escribiendo el código para el diagrama).
- El Corrector (El Editor): El artista podría cometer pequeños errores (como un error tipográfico en la leyenda del mapa). Este agente lee el mapa terminado, lo verifica contra las reglas y corrige cualquier error instantáneamente.
- El Analizador de Dependencias (El Gerente de Cadena de Suministro): Este agente mira fuera del código principal para ver qué herramientas o bibliotecas externas utiliza el proyecto, asegurando que el mapa incluya esas conexiones también.
3. Los Resultados: ¿Qué Encontraron?
El equipo probó este sistema en 12 proyectos de software de código abierto diferentes (desde aplicaciones pequeñas hasta sistemas masivos) escritos en cuatro lenguajes diferentes (Java, Python, JavaScript, PHP). Intentaron generar 7 tipos diferentes de mapas (como diagramas de clases, diagramas de flujo y mapas de implementación).
Esto es lo que sucedió:
- Alta Precisión: Los mapas fueron casi siempre sintácticamente correctos (aproximadamente el 91.5% fueron perfectos de inmediato; para algunos tipos como los mapas de "Componente" y "Implementación", fue del 100%).
- Resúmenes Inteligentes: El sistema no intentó listar cada pieza individual de código (lo que haría el mapa ilegible). En su lugar, se centró en las partes más importantes. Capturó aproximadamente el 31% de las entidades de código, pero esas eran las correctas.
- Consistencia: Funcionó igual de bien en un proyecto pequeño con 30 líneas de código que en un proyecto gigante con más de 4.500 líneas. La calidad no disminuyó a medida que el proyecto se hacía más grande.
- Sin Alucinaciones: Los mapas rara vez inventaron conexiones falsas entre partes del código. Si el mapa decía que dos cosas estaban conectadas, realmente lo estaban.
4. Por Qué Esto Importa
El artículo argumenta que los intentos anteriores de usar IA para esto fallaron porque intentaron alimentar la base de código completa a la IA de una sola vez.
- La Vieja Forma: "Aquí está toda la biblioteca, por favor dibuja un mapa". (Resultado: La IA se confunde y comete errores).
- La Forma Code2U: "Aquí tienes una instantánea diminuta y perfectamente filtrada de solo lo que necesitas para este mapa específico. Ahora, por favor, dibújala". (Resultado: Un mapa limpio, preciso y válido).
Resumen
El artículo presenta un sistema que automatiza la creación de planos de software. Tiene éxito al no intentar ser un genio "de talla única", sino al actuar como un equipo especializado que primero comprime los datos inteligentemente y luego colabora para dibujar diagramas precisos y válidos. Demuestra que puedes generar mapas de software de alta calidad para bases de código masivas sin que la IA se abrume.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.