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.
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.
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
- Parseo del codebase: Análisis sistemático usando Abstract Syntax Trees (AST) para extraer estructura semántica
- Enriquecimiento con LLM: Generación de descripciones, resúmenes funcionales y metadatos para cada entidad
- Construcción del Knowledge Graph: Almacenamiento en base de datos de grafos (Neo4j) con relaciones como
calls,inherits,depends_on - 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.
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
- Evaluación inicial: Identificar sistemas legacy de mayor valor de negocio para modernización. Priorizar áreas donde GenAI puede entregar mayor ROI.
- Proof of Concept: Comenzar con un módulo representativo (5,000-10,000 líneas) para validar la efectividad antes de escalar.
- 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.
- Integración con workflows: Conectar herramientas de comprensión con pipelines de documentación, testing y CI/CD existentes.
- 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