Jorge Turbica / blog · Blog ← Todos los artículos EN · Read in English
IA

Migrar COBOL con IA: GPT-6.1 Sol acierta el 86,6 % donde GPT-5.6 Sol se quedaba en el 5,4 %

OpenAI mide sus modelos en COBOL, Fortran y Visual Basic y publica MultiLangBench: reescribir SQLite desde la documentación. Qué dice para el código legado.

Traducir COBOL a Java, Kotlin, Python, Rust o C++ era casi imposible para GPT-5.6 Sol: un 5,4 % de acierto. GPT-6.1 Sol llega al 86,6 % con un esfuerzo de razonamiento bajo y al 97,9 % si se le sube. Son las cifras con las que OpenAI explica cuánto han mejorado sus modelos en lenguajes con poco código de entrenamiento disponible, como COBOL, Fortran o Visual Basic.

Qué ha medido OpenAI

El problema de estos lenguajes es de datos: hay muchísimo menos código público en COBOL que en Python, pero según IBM, citado por OpenAI, COBOL sigue moviendo más del 40 % de la banca online y el 95 % de las operaciones en cajeros. OpenAI ha construido dos evaluaciones para medirlo:

PruebaModeloResultadoReferencia anterior
Migración de COBOL a C++, Java, Kotlin, Python o RustGPT-6.1 Sol (esfuerzo bajo)86,6 %GPT-5.6 Sol: 5,4 %
Migración de COBOLGPT-6.1 Sol (esfuerzo alto)97,9 %—
MultiLangBench, media de 20 lenguajesGPT-6 Astra (esfuerzo máximo)87,4 % de testsGPT-5.6 Terra: 37,9 %
MultiLangBenchGPT-6 Luna40,3 %GPT-5.6 Terra: 37,9 %

GPT-6 Luna apenas supera a GPT-5.6 Terra, pero lo hace con un coste mucho menor: la diferencia de calidad está en el modelo grande y con razonamiento al máximo.

Cómo funciona MultiLangBench

La parte más interesante es que MultiLangBench es público, con licencia Apache 2.0, y su diseño es exigente. El modelo tiene que implementar desde cero un motor compatible con SQLite 3.40.1 en el lenguaje que se le pida, con la documentación oficial como única ayuda: sin internet y con cualquier copia de SQLite borrada del entorno.

Los tests salen de la batería TCL de SQLite. De sus 51.000 pruebas se pudieron convertir unas 24.000 a un formato de tres pasos: una base de datos inicial, una consulta que el motor del modelo ejecuta sobre ella y una consulta de validación que el SQLite real lanza sobre el fichero resultante. Si la salida no coincide exactamente, el programa falla o tarda más de 60 segundos, el test cuenta como fallo. Si el modelo escribe en otro lenguaje o mezcla varios, la puntuación es cero.

La nota no es un número sino una pareja: coste de API y porcentaje de tests superados. Es una decisión acertada, porque obliga a publicar cuánto cuesta cada punto, que es justo lo que separa a Astra de Luna en la tabla.

Qué significa para quien mantiene código legado

Para un equipo con un núcleo en COBOL, el salto del 5,4 % al 86,6 % convierte la migración asistida de experimento descartable en algo que merece una prueba piloto. Y el 97,9 % con más razonamiento sugiere que el coste de cómputo, no la capacidad, pasa a ser el límite.

La cautela concreta es otra: ninguna de las dos pruebas se parece del todo a una migración real. MultiLangBench mide si un modelo construye un motor de base de datos documentado al detalle, y un test de migración mide equivalencia contra casos conocidos. Un batch bancario de los años ochenta arrastra reglas de negocio que no están documentadas en ningún sitio, ficheros con formatos propios y dependencias del mainframe que ningún test recoge. Ahí el cuello de botella seguirá siendo tener una batería de pruebas de regresión del sistema original antes de tocar una línea, haga la traducción una persona o un modelo.

Fuentes

Jorge Turbica

Software Engineer y SRE. Escribo sobre los retos reales que me encuentro en producción.

Ver portfolio ↗