← Últimos artículos
💬 NLP

Fine-tuned LLM-based Code Migration Framework

Este artículo presenta un marco de trabajo de modelos de lenguaje de gran tamaño ajustados que automatiza eficazmente la migración de sistemas basados en SQL de Oracle PL/SQL a PostgreSQL mediante la integración de técnicas de ingeniería tradicional, análisis de errores iterativo y retroalimentación de expertos para reducir significativamente los errores de sintaxis y optimizar la lógica de la base de datos.

Autores originales: Oleg Grynets, Vasyl Lyashkevych, Dmytro Baran, Maksym Orliansky, Taras Zelenyy, Markiian Leshchyshyn

Publicado 2026-02-06
📖 5 min de lectura🧠 Análisis profundo

Autores originales: Oleg Grynets, Vasyl Lyashkevych, Dmytro Baran, Maksym Orliansky, Taras Zelenyy, Markiian Leshchyshyn

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 manuales de instrucciones escritos en un lenguaje antiguo y complejo (Oracle SQL). Tu empresa quiere cambiar a un lenguaje nuevo y moderno (PostgreSQL) para ahorrar dinero y funcionar más rápido. El problema es que los dos lenguajes no solo tienen palabras diferentes, sino que tienen gramáticas, lógicas y reglas completamente distintas. Además, los manuales antiguos son enormes, con miles de archivos.

Este documento describe un sistema automatizado e inteligente desarrollado por investigadores de EPAM Systems para traducir estos viejos manuales al nuevo lenguaje sin romper nada. Así es como lo hicieron, explicado de forma sencilla:

1. El Problema: No es solo un "Buscar y Reemplazar"

No puedes usar un simple diccionario para traducir esto porque las "oraciones" en el sistema antiguo (Oracle) a menudo significan algo totalmente distinto en el nuevo sistema (PostgreSQL). Las herramientas tradicionales (como una aplicación de traducción estándar) intentan seguir reglas estrictas, pero a menudo se quedan estancadas en historias complejas, omitiendo grandes fragmentos del manual o escribiendo disparates.

2. La Solución: Un Robot "Súper-Traductor"

El equipo construyó un robot de IA personalizado (un Modelo de Lenguaje Extenso o LLM) y lo entrenó específicamente para este trabajo. No solo le pidieron que "tradujera"; lo entrenaron utilizando un método especial de dos pasos:

  • Paso 1: Aprender las Reglas (El Salón de Clases): Primero, enseñaron a la IA a entender la gramática y la estructura de ambos lenguajes por separado. Le dieron ejemplos de cómo se ve un comando específico de Oracle y cómo debería describirse en inglés sencillo. Esto ayudó a la IA a entender la "vibra" y la estructura del código antes de intentar traducirlo.
  • Paso 2: Aprender a Traducir (La Práctica): Una vez que la IA entendió las reglas, le dieron pares directos: "Aquí hay una oración de Oracle, aquí hay una oración de PostgreSQL correcta". Aquí es donde aprendió la conversión real.

3. La Red de Seguridad de "Humano en el Bucle"

Incluso los robots inteligentes cometen errores. Por eso, el sistema tiene un equipo de control de calidad integrado:

  • El Verificador Automático: El sistema escanea automáticamente el nuevo código en busca de errores de gramática (sintaxis) y errores de lógica.
  • Los Revisores Expertos: Cuando el sistema encuentra algo sobre lo que no está seguro (como una instrucción muy rara o compleja), lo marca para un experto humano. El experto lo corrige, y el sistema aprende de esa corrección para hacerlo mejor la próxima vez. Es como un estudiante que recibe una nota y un comentario, y luego estudia ese tema específico antes del siguiente examen.

4. La "Hoja de Trucos" (RAG)

A veces, la IA necesita consultar reglas específicas mientras trabaja. Los investigadores construyeron dos tipos de "hojas de trucos" (Bases de Conocimiento):

  • Estrategia A (La Enciclopedia): La IA puede consultar el código original, las reglas oficiales del nuevo lenguaje y las guías de traducción escritas por expertos, todo al mismo tiempo.
  • Estrategia B (El Libro de Ejemplos): La IA simplemente consulta un libro de ejemplos de "Antes y Después" para adivinar la mejor traducción.
    Descubrieron que tener la "Enciclopedia" (Estrategia A) ayudaba a la IA a entender mejor el contexto, especialmente para las partes difíciles.

5. El "Medidor de Brechas" (Saber qué estudiar)

Una de las partes más geniales de su sistema es cómo sabe qué estudiar a continuación. Después de cada ronda de traducción, el sistema calcula una "Puntuación de Brecha" para diferentes tipos de código:

  • "Somos excelentes traduciendo comandos matemáticos básicos".
  • "Pero somos pésimos traduciendo scripts de respaldo".
    El sistema utiliza esta puntuación para decirle al equipo humano: "No pierdan el tiempo estudiando matemáticas; vayan a buscar 50 ejemplos más de scripts de respaldo". Esto asegura que la IA mejore exactamente donde es más débil, en lugar de simplemente adivinar.

6. Los Resultados: Un Ahorro Masivo de Tiempo

Cuando probaron su nuevo sistema de IA contra las antiguas herramientas basadas en reglas:

  • Precisión: La IA cometió muchos menos errores y tradujo mucho más código correctamente.
  • Integridad: Las herramientas antiguas a menudo se rendían ante oraciones complejas, dejándolas en blanco. La IA intentaba traducirlas y generalmente lo lograba.
  • Dinero y Tiempo: Los investigadores calcularon que, para un proyecto de 100,000 archivos, su IA podía traducir con éxito unos 27,000 archivos más que la herramienta antigua.
    • La Analogía: Si un experto humano puede traducir 150 archivos al día, la herramienta antigua dejaría un montón de trabajo que a un humano le tomaría 9 meses terminar manualmente. La IA hizo ese trabajo automáticamente en una fracción del tiempo.

Resumen

El artículo demuestra que al combinar una IA inteligente, un método de entrenamiento de dos pasos, expertos humanos para casos difíciles y un sistema que descubre constantemente qué necesita aprender, se pueden migrar sistemas informáticos enormes y complejos de un lenguaje a otro de forma mucho más rápida, barata y precisa que nunca antes. Convierte una pesadilla de reescritura manual en un proceso automatizado y manejable.

¿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.

Probar Digest →