Saltar al contenido principal
onext technology
IA Legacy 29 diciembre 2025 - 18 min de lectura

GenAI para comprender código legacy: de la experimentación al estándar práctico

Cómo la IA generativa está transformando la comprensión de sistemas heredados. Herramientas, casos reales, GraphRAG y la conexión natural con Spec-Driven Development.

Jordi Garcia
Tech Lead en onext
Visualización de código legacy siendo analizado por inteligencia artificial con grafos de conocimiento

La mayor parte de la atención a GenAI en desarrollo de software se ha centrado en la generación de código nuevo. Sin embargo, hay tanto o más valor en comprender código existente, particularmente en sistemas heredados grandes y complejos donde la documentación es escasa y los expertos son difíciles de encontrar.

Nuestra experiencia en múltiples proyectos demuestra que la comprensión asistida por GenAI de sistemas legacy es ahora un estándar práctico en lugar de un experimento. El impacto en productividad es consistente y sustancial.

Resumen ejecutivo

Herramientas como Cursor, Claude Code, Copilot, Windsurf, Cody y Swimm ayudan a los desarrolladores a descubrir reglas de negocio, resumir lógica e identificar dependencias en sistemas legacy. El caso de CodeConcise de Thoughtworks demuestra reducciones de 66% en tiempo de ingeniería inversa para 15 millones de líneas de COBOL.

El desafío del código legacy

La magnitud del problema

Según la encuesta de desarrolladores de Stack Overflow de 2024, el 62% de los desarrolladores citan la deuda técnica como su principal frustración. Un estudio de IDC revela que casi la mitad de las empresas gastan de más en infraestructura digital debido al mantenimiento de sistemas legacy.

Los números son contundentes:

  • $2.9 millones anuales por empresa en costos de mantenimiento legacy (SnapLogic)
  • 63% de developers dedican 30-120+ minutos diarios buscando respuestas sobre su código base (Stack Overflow, 65,000 participantes)
  • 60% del tiempo de desarrollo se gasta intentando entender código, no escribirlo

Por qué GenAI para código legacy

Los sistemas legacy frecuentemente carecen de documentación adecuada, o la documentación existente está desactualizada o es engañosa. Los expertos (SMEs) que entienden estos sistemas son escasos y a menudo están sobrecargados.

GenAI ofrece una solución escalable: puede analizar millones de líneas de código, extraer patrones, identificar dependencias y generar documentación comprensible. No reemplaza a los expertos humanos, pero reduce drásticamente su carga y democratiza el conocimiento.

Ecosistema de herramientas

IDEs y asistentes de código con IA

El mercado ha madurado rápidamente. Estas son las herramientas más relevantes para comprensión de código:

Herramienta Fortaleza principal Contexto
Cursor Fork VS Code con IA nativa. Lee todo el proyecto, árboles de importación, variables Claude 4 Sonnet/Opus
Claude Code Terminal CLI. Mapea estructura, triagea issues, genera PRs, ejecuta tests 200k tokens
Windsurf IDE AI-first con modo Cascade. Embeddings locales para búsqueda en lenguaje natural Codebase completo
GitHub Copilot Líder de mercado. 46% de código completado con ~30% aceptación Integración IDEs
Aider CLI open source para pair programming. Soporta múltiples modelos Edición directa

Plataformas especializadas en comprensión de código

Más allá de los IDEs, existen plataformas diseñadas específicamente para entender codebases grandes:

  • Sourcegraph Cody: Indexa todo el grafo del repositorio. Chat que abarca paquetes y referencias de símbolos. Contexto hasta 100,000 líneas. Reconocido por Gartner como Cool Vendor 2024.
  • Swimm: Plataforma de Application Understanding con análisis estático. Crea inventario vivo de programas, módulos y dependencias. Auto-sincronización de documentación con cambios de código.
  • Unblocked: Inteligencia de código contextual. Integra con GitHub, Slack, Jira, Confluence. Recaudó $20M en 2025 para ayudar a developers a entender el "por que" detrás del código.
  • PocketFlow Codebase Knowledge: Framework open source de 100 líneas. Genera tutoriales estructurados desde repositorios con diagramas Mermaid.

GraphRAG: el enfoque avanzado

Qué es GraphRAG para código

Una técnica particularmente prometedora es el enfoque de Retrieval-Augmented Generation (RAG) sobre un grafo de conocimiento del código. El grafo puede preservar información estructural sobre el codebase más allá de lo que un LLM podría derivar solo del texto.

Componentes clave de GraphRAG

  1. Parseo del codebase: Análisis sistemático usando Abstract Syntax Trees (AST) para extraer estructura semántica
  2. Enriquecimiento con LLM: Generación de descripciones, resúmenes funcionales y metadatos para cada entidad
  3. Construcción del Knowledge Graph: Almacenamiento en base de datos de grafos (Neo4j) con relaciones como calls, inherits, depends_on
  4. Consulta inteligente: RAG que recupera nodos relevantes y permite al LLM atravesar nodos vecinos para contexto adicional

Herramientas de GraphRAG

  • Code-Graph-RAG: Sistema RAG que analiza codebases multi-lenguaje usando Tree-sitter. Integración con MCP Server para Claude Code.
  • GitLab Knowledge Graph: Representaciones estructuradas y consultables de repositorios para potenciar GitLab Duo.
  • FalkorDB Code Graph: Visualización interactiva de como clases, métodos y módulos están interconectados.
  • GraphGen4Code: Toolkit de IBM/WALA para construir knowledge graphs con datos de StackOverflow integrados.

Caso de estudio: CodeConcise de Thoughtworks

Contexto del proyecto

Uno de los principales fabricantes automotrices desarrolló durante tres décadas un sistema para soportar procesos de negocio de ventas. El sistema:

  • Corre en mainframe
  • Comprende aproximadamente 15 millones de líneas de código COBOL
  • Usa IDMS - un stack tecnológico para el cual ingenieros cualificados son escasos

El objetivo era migrar a arquitectura de microservicios antes de fin de 2025 para evitar problemas de licenciamiento. Sin embargo, reescribir 15 millones de líneas es una tarea significativa, y el programa estaba retrasado. El cuello de botella principal: el proceso de ingeniería inversa.

La solución: CodeConcise

CodeConcise es un acelerador interno de Thoughtworks inspirado en el concepto de Code-as-Data, donde el código se trata y analiza de formas tradicionalmente reservadas para datos:

  • Pipeline de Ingesta: Parsea código en bosques de AST, los almacena en base de datos de grafos (Neo4j), y establece edges entre nodos
  • Pipeline de Comprension: Atraviesa el grafo usando algoritmos como DFS con backtracking para enriquecer con explicaciones generadas por LLM
  • Reducción de Ruido: Análisis granular que reduce contexto innecesario, mantiene el LLM enfocado y usa la ventana de contexto eficientemente
  • Interfaz Chatbot: RAG sobre Knowledge Graph enriquecido para responder preguntas que típicamente requeririan un SME

Resultados medibles

"Antes del PoC, la ingeniería inversa de 10,000 líneas de código típicamente tomaba 6 semanas. Con CodeConcise, estimamos reducción de dos tercios: de 6 semanas a 2 semanas por módulo."

Esto se traduce en ahorro potencial de 240 años-persona para todo el programa de modernización del mainframe.

— Thoughtworks Case Study, 2024

GenAI para modernización de mainframes

El desafío COBOL

Según Gartner, para 2027, las herramientas GenAI se usarán para explicar aplicaciones de negocio legacy y crear reemplazos apropiados, reduciendo costos de modernización en 70%.

Décadas de lógica de negocio codificada en COBOL hacen difícil extraer, documentar y traducir a lenguajes modernos. GenAI ofrece capacidades específicas:

  • Extracción de reglas de negocio: GenAI puede automáticamente extraer reglas, lógica y comportamiento del sistema analizando código legacy
  • Traducción de código: Escala traducción y refactoring de COBOL o PL/I a lenguajes modernos como Java, C++ o Python
  • Generación de documentación: Crea documentación técnica actualizada describiendo funcionalidad de cada componente
  • Análisis de dependencias: Mapea dependencias dentro del sistema para mayor confianza al hacer cambios
  • Validación de cutover: Soporta métodos de dual-run o shadow-traffic para verificar que sistemas modernizados funcionan como esperado

Impacto en productividad: la evidencia

Los estudios y benchmarks muestran mejoras consistentes:

Actividad Mejora Fuente
Documentación de código 50% más rápido McKinsey 2023
Escritura de código nuevo 50% más rápido McKinsey 2023
Refactoring de código 33% más rápido McKinsey 2023
Migración a lenguajes modernos 73% más rápido Slalom 2024
Ingeniería inversa (COBOL) 66% más rápido Thoughtworks 2024
Costos de modernización 70% reducción Gartner 2024 (proyeccion)

Según McKinsey, los desarrolladores que usan herramientas de IA son dos veces más propensos a reportar sentirse más felices, realizados y entrar regularmente en estado de "flow".

Mejores practicas para implementacion

Criterios de seleccion de herramientas

  • Tamaño del contexto: Para codebases grandes (>100K líneas), priorizar herramientas con ventanas de contexto amplias (200K+ tokens) o capacidades RAG robustas
  • Integración con ecosistema: Evaluar compatibilidad con IDEs existentes, sistemas de control de versiones y herramientas de documentación
  • Seguridad empresarial: Verificar certificaciones SOC 2, opciones de deployment on-premise y políticas de retención de datos
  • Soporte multi-lenguaje: Especialmente crítico para entornos legacy con COBOL, PL/I, o lenguajes menos comunes

Estrategia de adopción recomendada

  1. Evaluación inicial: Identificar sistemas legacy de mayor valor de negocio para modernización. Priorizar áreas donde GenAI puede entregar mayor ROI.
  2. Proof of Concept: Comenzar con un módulo representativo (5,000-10,000 líneas) para validar la efectividad antes de escalar.
  3. Construcción de Knowledge Graph: Para codebases >50K líneas, invertir en GraphRAG. El esfuerzo de setup escala con complejidad pero el retorno es sustancial.
  4. Integración con workflows: Conectar herramientas de comprensión con pipelines de documentación, testing y CI/CD existentes.
  5. Iteración continua: Refinar prompts, enriquecer contexto y actualizar knowledge graphs a medida que el código evoluciona.

Extracción de especificaciones desde código legacy

Una de las aplicaciones más valiosas de GenAI para código legacy es la extracción automatizada de especificaciones. Esto transforma sistemas "caja negra" en documentación estructurada que puede guiar proyectos de modernización con precisión.

Qué se puede extraer

  • Requisitos de bajo nivel: Documentación estructurada que Business Analysts pueden usar directamente para derivar specs. El caso de CodeConcise procesó 1,500 módulos COBOL generando documentación consumible por no-técnicos.
  • Reglas de negocio: Extracción automática de condiciones, validaciones y flujos de decisión. Frameworks como BREX combinados con LLMs pueden representar reglas en formato estructurado y ejecutable.
  • Contratos implícitos: Qué espera cada función como entrada, qué devuelve, qué efectos secundarios tiene, qué excepciones puede lanzar.
  • Mapas de capacidades: Descubrir qué hace el sistema a nivel funcional (no técnico). Útil para definir scope de modernización y priorizar por valor de negocio.
  • Dependencias y flujos de datos: Cómo se conectan los componentes, qué datos fluyen entre ellos, y cuáles son los puntos de integración críticos.

El flujo de extracción de specs

El proceso de extracción sigue una secuencia estructurada que combina análisis automatizado con validación humana:

1. INGESTA DEL CODIGO LEGACY
   - Parseo mediante AST
   - Construcción de Knowledge Graph con relaciones entre entidades

2. ENRIQUECIMIENTO CON GENAI
   - Generación de descripciones semánticas
   - Identificación de patrones de negocio
   - Extracción de reglas

3. GENERACION DE SPECS ESTRUCTURADAS
   - Transformación a formatos consumibles
   - User stories, criterios de aceptación
   - Diagramas de flujo abstractos

4. VALIDACION CON SMEs
   - Revisión por expertos de dominio
   - Confirmación de precisión y completitud
   - El chatbot de CodeConcise reduce esta dependencia

5. SPECS DEFINITIVAS
   - Documentación validada lista para guiar desarrollo
   - Base para testing y validación de equivalencia
          

Conexión con Spec-Driven Development (SDD)

Esta capacidad de extracción abre una conexión natural con metodologías de Spec-Driven Development, creando un ciclo completo para proyectos de modernización.

Reverse SDD: Legacy a Specs

  • Analizar código existente para extraer especificaciones implícitas
  • Documentar comportamiento actual sin depender exclusivamente de SMEs
  • Identificar qué funcionalidades preservar, cuáles descartar, cuáles mejorar
  • Crear baseline documentada para validar equivalencia funcional

Forward SDD: Specs a Nuevo Sistema

  • Usar specs validadas como contrato para el nuevo desarrollo
  • Generar tests automatizados desde las especificaciones
  • Guiar generación de código con contexto completo de requisitos
  • Validar que el nuevo sistema cumple los requisitos extraidos

"El problema clásico de modernización es: 'no podemos reescribir porque no sabemos exactamente que hace el sistema actual.' GenAI combinado con SDD resuelve precisamente este bloqueo, transformando conocimiento tácito en especificaciones explícitas y accionables."

Dónde onext puede aportarte valor

Esta capacidad puede estructurarse como un servicio de consultoría de "Spec Extraction from Legacy Code" con los siguientes componentes:

  • Assessment inicial: Evaluación del codebase, identificación de complejidad, estimación de esfuerzo para extracción
  • Configuración de infraestructura: Setup de Knowledge Graph, pipelines de ingesta, integración con herramientas GenAI
  • Extracción y documentación: Ejecución del proceso de extracción, generación de specs en formatos estándar
  • Workshops de validación: Sesiones con SMEs para validar y refinar las especificaciones extraidas
  • Roadmap de modernización: Plan priorizado basado en las specs validadas, con estimaciones de esfuerzo
  • Transferencia de conocimiento: Capacitación del equipo cliente en uso de herramientas y mantenimiento del Knowledge Graph

Relevancia especial: Este servicio es especialmente valioso para organizaciones con sistemas críticos legacy donde el conocimiento está concentrado en pocos expertos, creando riesgo de negocio. La extracción sistemática de specs democratiza ese conocimiento y habilita la modernización con confianza.

Conclusiones

GenAI se ha convertido en parte esencial de como exploramos y comprendemos sistemas legacy. La transición de "experimento" a "estándar práctico" refleja la madurez del ecosistema de herramientas y la evidencia acumulada de impacto positivo en productividad.

Las organizaciones que adoptan estas tecnologías están viendo beneficios tangibles:

  • Reducción significativa en tiempos de onboarding
  • Menor dependencia de SMEs escasos
  • Capacidad de tomar decisiones informadas sobre modernización basadas en comprensión real del código existente

El mensaje clave: no se trata solo de generar código nuevo más rápido, sino de finalmente poder entender y evolucionar el código que ya tenemos. Para organizaciones con décadas de sistemas legacy críticos, esto representa una oportunidad transformacional.

Referencias y recursos

  • Thoughtworks Technology Radar: "Using GenAI to understand legacy codebases" (2024-2025)
  • Martin Fowler: "Legacy Modernization meets GenAI" (Septiembre 2024)
  • McKinsey: "Unleashing developer productivity with generative AI" (2023)
  • McKinsey: "The economic potential of generative AI" (2024)
  • Gartner: "Top Strategic Predictions for 2024 and Beyond"
  • Google Cloud Blog: "Accelerate mainframe modernization with Google Cloud AI" (2025)
  • AWS: "Mainframe Modernization with GenAI" (re:Invent 2025)
  • Microsoft DevBlogs: "AI Agents for COBOL Migration" (2025)
  • TechCrunch: "Unblocked raises $20M for AI to help devs understand codebases" (2025)
  • Neo4j Blog: "Codebase Knowledge Graph: Code Analysis with Graphs"
  • Sourcegraph: Cody Enterprise Documentation
  • Swimm: Application Understanding Platform Documentation

Tienes sistemas legacy críticos que necesitas modernizar?

En onext combinamos GenAI con Spec-Driven Development para extraer especificaciones de tu código legacy y guiar la modernización con confianza. Sin depender exclusivamente de los pocos expertos que entienden el sistema.

Evaluación inicial sin compromiso