COBOL, Fortran, Visual Basic : OpenAI progresse sur les langages que l'IA maîtrise mal

OpenAI améliore ses modèles sur 20 langages de programmation et atteint 97,9 % de réussite dans un test de migration COBOL avec GPT-6.1 Sol.

Des banques aux administrations, une partie des systèmes informatiques essentiels fonctionne toujours avec des logiciels écrits plusieurs décennies auparavant. Leur maintenance impose souvent de travailler dans des langages peu représentés dans les données d'entraînement des modèles d'intelligence artificielle, comme COBOL, Fortran ou Visual Basic. Dans une publication de recherche datée du 19 octobre 2026, OpenAI présente les progrès de ses modèles sur ces environnements à travers deux nouvelles évaluations : la création d'un moteur de base de données dans vingt langages et la migration de programmes COBOL sans altérer leur fonctionnement. Sur cette dernière tâche, GPT-6.1 Sol atteint 97,9 % de réussite avec un effort de raisonnement élevé, contre 5,4 % pour GPT-5.6 Sol avec un effort faible dans le protocole présenté. Des langages anciens au cœur des systèmes critiques

L'intelligence artificielle appliquée à la programmation s'est largement développée autour de langages comme Python, JavaScript ou Java, abondamment représentés dans les dépôts publics et la documentation accessible. La situation est différente pour COBOL, Fortran ou certains environnements Visual Basic, dont une grande partie du code demeure intégrée à des systèmes professionnels anciens, parfois privés et peu documentés. Ces langages disposent donc de moins de ressources d'apprentissage facilement exploitables, alors même qu'ils continuent de remplir des fonctions essentielles.

OpenAI rappelle notamment le rôle de COBOL dans les systèmes bancaires et les transactions financières, ainsi que l'utilisation de Fortran dans la prévision météorologique ou certaines analyses liées à la sûreté nucléaire. Le problème n'est pas simplement de comprendre leur syntaxe. Ces programmes peuvent intégrer des règles métier accumulées sur plusieurs décennies, dont les spécifications originales ont parfois disparu. Une modification apparemment mineure peut alors affecter le traitement d'un paiement, la précision d'un calcul ou la manière dont une application gère une donnée manquante.

La modernisation de ces systèmes repose ainsi sur deux compétences distinctes : être capable de développer de nouvelles fonctionnalités dans un langage peu familier et savoir transformer un programme existant sans modifier les résultats attendus. OpenAI a conçu deux évaluations correspondant à ces besoins, afin de mesurer les progrès de ses modèles au-delà des exercices habituels de génération de code. Recréer un moteur SQLite dans vingt langages

La première évaluation, MultiLangBench, demande aux modèles de construire un moteur de base de données compatible avec SQLite à partir de zéro. L'objectif ne consiste pas à reproduire quelques requêtes isolées, mais à développer progressivement un programme capable de gérer des fichiers de bases de données, de traiter des instructions SQL, de conserver l'état des données et de gérer les erreurs. Chaque modèle doit organiser son code et ajouter des fonctionnalités tout en préservant celles qui fonctionnent déjà.

Pour comparer des réalisations écrites dans des langages très différents, OpenAI utilise les fichiers de base de données comme interface commune. Le programme reçoit une base initiale et une requête SQL, puis doit produire un fichier dont le contenu est confronté au résultat obtenu avec SQLite. Les tests, adaptés de la suite de référence du logiciel, permettent de mesurer le fonctionnement réel des programmes plutôt que leur simple ressemblance avec du code correct.

Au niveau maximal d'effort de raisonnement, GPT-6 Astra obtient un taux moyen de tests réussis de 87,4 %, contre 26,8 % pour GPT-5.6 Sol. Les progrès concernent les vingt langages étudiés. En COBOL, le score passe de 10,9 à 72,1 %, tandis que Fortran progresse de 21,4 à 83,5 %. Les résultats atteignent également 85,8 % en OCaml, contre 25,6 % précédemment, et 89,4 % en Visual Basic, contre 27,5 %.

Astra dépasse 83 % de tests réussis dans dix-neuf des vingt langages. COBOL reste le plus difficile, malgré une forte amélioration. Cette différence illustre la difficulté de généraliser les compétences de programmation à des environnements possédant leurs propres conventions, contraintes et caractéristiques d'exécution. GPT-6 Luna améliore les résultats pour un coût inférieur

Le gain de performance ne concerne pas uniquement le modèle le plus puissant. Avec GPT-6 Luna, OpenAI présente une option moins coûteuse qui dépasse également GPT-5.6 Sol dans chacun des vingt langages de MultiLangBench. Son taux moyen de tests réussis atteint 40,3 %, contre 26,8 % pour l'ancien modèle.

Les gains restent plus modestes que ceux d'Astra, particulièrement dans les langages les plus difficiles. En COBOL, Luna obtient 17,1 % ; en Fortran, 31,4 % ; en OCaml, 34,1 % ; et en Visual Basic, 41,6 %. Ces résultats montrent qu'une amélioration générale du modèle peut se traduire par une progression mesurable sans nécessairement suffire à produire des programmes complexes et fiables dans tous les environnements.

La différence apparaît surtout dans les coûts estimés. Sur MultiLangBench, GPT-6 Luna coûte en moyenne 0,77 dollar par échantillon, contre 3,48 dollars pour GPT-5.6 Sol, soit une réduction d'environ 78 %. Il s'agit du coût API estimé dans le cadre des essais, et non d'un prix forfaitaire pour développer une application ou moderniser une base de code professionnelle.

OpenAI publie le dispositif d'évaluation de MultiLangBench et sa suite de tests sur GitHub, afin que les développeurs puissent consulter les résultats par langage et examiner les tâches retenues. Le protocole évalue cependant un type précis de développement, la reconstruction d'un moteur compatible SQLite, et ne couvre pas l'ensemble des contraintes rencontrées dans les applications métier. Migrer un programme COBOL sans modifier son comportement

La seconde évaluation se concentre sur un problème différent : transformer un programme COBOL existant en C++, Java, Kotlin, Python ou Rust tout en conservant exactement son