Avances en la programación con lenguajes de pocos recursos
Los últimos avances en nuestros modelos refuerzan sus capacidades para desarrollar y migrar software en lenguajes de programación con pocos recursos, como COBOL, Fortran y Visual Basic. Estos lenguajes cuentan con menos código y documentación de los que los modelos pueden aprender que otros como Python y JavaScript. Sin embargo, sustentan infraestructura crítica y servicios esenciales en todo el mundo. COBOL sustenta(se abre en una nueva ventana) más del 40 % de los sistemas de banca en línea, el 80 % de las transacciones presenciales con tarjeta de crédito y el 95 % de las transacciones en cajeros automáticos, mientras que Fortran se usa en el pronóstico del tiempo(se abre en una nueva ventana) y el análisis de seguridad de reactores nucleares(se abre en una nueva ventana). Mejorar la capacidad de la IA para trabajar con estos lenguajes podría ayudar a los equipos a mantener y modernizar el software del que dependen los servicios esenciales.
Este trabajo se guía por los comentarios de desarrolladores y clientes empresariales que nos han señalado que los modelos de programación suelen tener dificultades con estos lenguajes. Mantener y modernizar este software puede ser difícil: la documentación puede estar incompleta, los desarrolladores originales pueden haber dejado la empresa y algunas reglas de negocio importantes pueden existir solo en el código. Ya sea que corrijan errores o migren a otro lenguaje, los equipos necesitan conservar el comportamiento del que dependen sus sistemas.
Para medir el progreso, desarrollamos dos evaluaciones. MultiLangBench evalúa si un modelo puede crear desde cero un motor de base de datos compatible con SQLite en 20 lenguajes de programación distintos. Nuestra evaluación de migración de COBOL comprueba si un modelo puede migrar programas existentes a otro lenguaje sin alterar su comportamiento. En conjunto, ponen a prueba dos habilidades complementarias: desarrollar software nuevo y conservar el funcionamiento del software existente.
Nuestros modelos más recientes muestran mejoras sustanciales en ambas evaluaciones y ofrecen una precisión mucho mayor a un costo menor.
En MultiLangBench, GPT‑6 Astra alcanza un porcentaje promedio de pruebas superadas del 87,4 % en 20 lenguajes de programación, frente al 26,8 % de GPT‑5.6 Sol, con mejoras en todos los lenguajes evaluados. GPT‑6 Luna también supera a GPT‑5.6 Sol y alcanza un 40,3 % con un costo estimado de la API aproximadamente un 78 % menor.
En nuestra evaluación de migración de COBOL, GPT‑6.1 Sol logra una precisión del 86,6 % con un esfuerzo de razonamiento bajo, frente a solo un 5,4 % de GPT‑5.6 Sol, y cuesta un 39 % menos. Con un mayor esfuerzo de razonamiento, la precisión llega al 97,9 %, casi al límite de lo que permite medir la evaluación.
En conjunto, estos resultados muestran que nuestros modelos mejoran significativamente su capacidad para trabajar con una amplia variedad de lenguajes de programación, al tiempo que reducen los costos.
MultiLangBench le pide a un modelo que cree un motor de base de datos compatible con SQLite en un lenguaje de programación específico. El modelo debe organizar una base de código, gestionar el estado, manejar errores y agregar funciones nuevas sin alterar las existentes.
Para comparar las implementaciones en distintos lenguajes, usamos archivos de base de datos como interfaz común. El programa evaluado recibe una base de datos inicial y una consulta SQL, y luego genera una base de datos modificada. Usamos la implementación de referencia de SQLite para comprobar si la base de datos resultante tiene el contenido esperado. Esto nos permite aplicar las mismas pruebas sin importar el lenguaje usado para crear el motor.
Adaptamos pruebas del conjunto de pruebas existente de SQLite a este formato. La evaluación mide cuántas funciones operativas puede desarrollar un modelo durante una sesión prolongada de programación, e informa tanto el porcentaje de pruebas superadas como el costo de la API.
Con el máximo esfuerzo de razonamiento, GPT‑6 Astra alcanza un porcentaje promedio de pruebas superadas del 87,4 % en los 20 lenguajes, frente al 26,8 % de GPT‑5.6 Sol. Las mejoras abarcan todos los lenguajes evaluados, incluidos COBOL (del 10,9 % al 72,1 %), OCaml (del 25,6 % al 85,8 %), Fortran (del 21,4 % al 83,5 %) y Visual Basic (del 27,5 % al 89,4 %). Astra supera el 83 % en 19 de los 20 lenguajes, mientras que COBOL sigue siendo el más difícil, con un 72 %.
GPT‑6 Luna ofrece una opción de menor costo que también supera a GPT‑5.6 Sol en todos los lenguajes evaluados. Con el máximo esfuerzo de razonamiento, alcanza un porcentaje promedio de pruebas superadas del 40,3 %. Entre las mejoras se incluyen COBOL (del 10,9 % al 17,1 %), OCaml (del 25,6 % al 34,1 %), Fortran (del 21,4 % al 31,4 %) y Visual Basic (del 27,5 % al 41,6 %). Estas mejoras se logran con un costo promedio estimado de la API de USD 0,77 por muestra, frente a los USD 3,48 de GPT‑5.6 Sol: aproximadamente un 78 % menos.
Publicamos la configuración de evaluación y el conjunto de pruebas de MultiLangBench en GitHub(se abre en una nueva ventana), junto con los resultados de cada lenguaje. Los desarrolladores pueden examinar qué mide la evaluación, revisar el desempeño en los lenguajes que usan e identificar carencias relevantes para su trabajo.
Nuestra segunda evaluación pide a los modelos que migren programas COBOL a C++, Java, Kotlin, Python o Rust sin alterar el funcionamiento de cada programa.
Una migración exitosa requiere comprender tanto la lógica de negocio del programa como el comportamiento específico del lenguaje COBOL. Los programas COBOL suelen procesar transacciones financieras y registros empresariales, en los que detalles como las reglas de redondeo y el manejo de registros faltantes responden a requisitos del negocio. Por ejemplo, la aritmética de punto fijo de COBOL descarta los dígitos decimales sobrantes, a menos que se solicite explícitamente el redondeo. Una versión reescrita que, en cambio, redondee esos valores puede ejecutarse sin errores, pero producir resultados financieros distintos.
Para comprobar si se conservan estos comportamientos, evaluamos nuestros modelos con pruebas ocultas que exigen una coincidencia byte por byte en las salidas observables. Una migración se considera exitosa solo si supera todas las pruebas. Estas capacidades para conservar el comportamiento son útiles para los equipos que mantienen y modernizan sistemas antiguos. Sin embargo, aplicarlas a software en producción sigue requiriendo la revisión de expertos y pruebas que verifiquen las reglas de negocio y las dependencias del sistema.
En esta evaluación, GPT‑6.1 Sol alcanza una precisión del 86,6 % con un esfuerzo de razonamiento bajo, frente al 5,4 % de GPT‑5.6 Sol con la misma configuración, y con solo el 61 % del costo de la API. Con un mayor esfuerzo de razonamiento, la precisión llega al 97,9 %, cerca del límite de lo que permite medir la evaluación. Estos resultados demuestran avances hacia una migración de código más precisa y asequible para los equipos que modernizan el software del que dependen sus empresas.
Estas evaluaciones, junto con los comentarios directos de desarrolladores y clientes empresariales, nos ayudan a identificar en qué aspectos mejoran nuestros modelos y en cuáles aún tienen limitaciones.
Nuestro objetivo es ayudar a los modelos a aplicar habilidades de ingeniería de software en más lenguajes: comprender repositorios desconocidos, planificar cambios, usar herramientas de compilación, ejecutar pruebas y depurar errores.
Puedes probar nuestros modelos más recientes a través de la API en tareas de programación con los lenguajes que usa tu equipo. Tus comentarios sobre lo que funciona, las dificultades de los modelos y los lenguajes o flujos de trabajo en los que deberíamos centrarnos a continuación ayudan a orientar cómo entrenamos y evaluamos los modelos para trabajar mejor con el software del que dependes.





