OpenAI берётся за COBOL: почему модернизация банковского кода так важна

Новые тесты OpenAI показывают прогресс моделей в COBOL, Fortran и Visual Basic. Разбираемся, почему старые системы нельзя просто переписать и чем финтеху помогало отсутствие такого наследия.

OpenAI сообщила, что её последние модели стали лучше работать с COBOL, Fortran и Visual Basic — языками, на которых до сих пор работают важные для банков, бизнеса и государственных организаций системы. Это интересное направление не потому, что ИИ выучил ещё несколько языков. Главная задача — помочь разобраться в десятилетиях накопленной логики и обновить систему, не изменив того, как она рассчитывает деньги и обрабатывает данные.

Такое программное обеспечение называют унаследованным. Само по себе оно не обязательно плохо: система может надёжно работать десятилетиями. Проблема в том, что её трудно безопасно менять. Описание устройства неполное, первоначальные разработчики уже не работают в компании, а важные правила могут существовать только в виде условий и исключений внутри программы.

Почему банковскую систему нельзя просто переписать

Код финансового сервиса — не только набор команд. В нём могут быть закреплены правила начисления процентов, округления сумм, обработки пропущенных записей и исправления старых операций. Часть из них возникла из требований законодательства, часть — из особенностей продуктов и многолетней практики. Со временем их могли забыть задокументировать, но система продолжает им следовать.

Изменить поведение даже в мелочи — значит получить программу, которая запускается, но считает иначе. OpenAI приводит пример с COBOL: при фиксированной точности язык может отбрасывать лишние десятичные знаки, если округление не задано явно. Перенесённый код может округлить их по-другому. На тестовом запуске всё выглядит нормально, а суммы в отчётах или расчётах уже расходятся.

Есть и инфраструктурная причина. Банковское ядро связано с платежами, счетами, бухгалтерскими системами и внешними поставщиками. Федеральный резервный банк Канзас-Сити отмечает, что многие финансовые организации используют основные системы, которым до 40 лет, а платежные сервисы часто тесно интегрированы с ними. Поэтому банкам приходится выбирать между полной заменой, обновлением отдельных компонентов и надстройками поверх существующей платформы. Каждый вариант требует длительной проверки и координации.

Чем финтеху помогало отсутствие старого фундамента

Новые финтех-компании часто получали преимущество в тех частях продукта, которые можно было строить с чистого листа: мобильном приложении, личном кабинете, цифровом оформлении услуг и обмене данными через API. Им не нужно было встраивать каждый новый экран в систему, созданную десятилетия назад. Это позволяло быстрее менять клиентский опыт и запускать новые сценарии.

Но это преимущество не означало, что финтех отменил банковское легаси. Когда сервис работает с реальными счетами, платежами и хранением денег, ему всё равно приходится взаимодействовать с банками, процессинговыми платформами и платёжными сетями. Часто новый продукт оказывается современным внешним слоем над прежней инфраструктурой. Финтех выигрывал там, где не было необходимости сразу переписывать старое ядро, а не во всей финансовой системе целиком.

Что именно проверила OpenAI

В публикации описаны два отдельных испытания. Первое — MultiLangBench — проверяет, сможет ли модель создать совместимую с SQLite систему базы данных на одном из 20 языков программирования. Это тест на создание и развитие программы, а не на перенос реальной банковской платформы.

По данным OpenAI, GPT-6 Astra достигла в MultiLangBench среднего результата 87,4% по тестам против 26,8% у GPT-5.6 Sol. Улучшение показано на всех проверенных языках. В частности, результат для COBOL вырос с 10,9% до 72,1%, для Fortran — с 21,4% до 83,5%, а для Visual Basic — с 27,5% до 89,4%. Более доступная по стоимости GPT-6 Luna показала среднее значение 40,3%.

Второе испытание посвящено непосредственно миграции COBOL: модель должна перенести программы на C++, Java, Kotlin, Python или Rust, сохранив их наблюдаемое поведение. OpenAI проверяла результат на скрытых тестах, требующих полного совпадения выходных данных. В этом испытании GPT-6.1 Sol набрала 86,6% при низком уровне рассуждений против 5,4% у GPT-5.6 Sol; стоимость выполнения, по оценке компании, была на 39% ниже. При высоком уровне рассуждений результат GPT-6.1 Sol достиг 97,9%.

Это заметный прогресс, но цифры получены в тестах OpenAI. Они не доказывают, что модель уже может самостоятельно и безопасно переносить банковские системы в эксплуатацию. Набор программ и проверок ограничен условиями эксперимента, а реальные системы зависят от данных, оборудования, интеграций и правил, которые не всегда отражены в тестовом коде. OpenAI сама подчёркивает, что при работе с промышленным ПО необходимы экспертная проверка и тестирование бизнес-правил.

Где ИИ может изменить подход к модернизации

Перспективная роль ИИ — не кнопка «переписать COBOL на Python», а ускорение отдельных этапов. Модель может помочь изучить незнакомый репозиторий, объяснить назначение модулей, сформулировать предполагаемые правила, подготовить тесты и предложить вариант переноса. Затем старая и новая реализации запускаются на одних и тех же данных, а специалисты разбирают каждое расхождение.

Такой процесс превращает часть неявного знания о старой системе в проверяемые правила. Это особенно ценно, когда документация неполная, а нужных специалистов трудно найти. Но решение о том, какое поведение считать правильным, остаётся за людьми: в старом коде может быть как случайная ошибка, так и намеренное правило, о котором просто забыли написать.

Проверка важнее самого перевода

Для безопасного перехода недостаточно, чтобы новый код выглядел аккуратнее или проходил несколько демонстрационных примеров. Нужны тесты на обычные и редкие ситуации, сопоставление результатов двух систем, поэтапный запуск и возможность быстро вернуться к прежней версии. Именно сохранение поведения — а не замена одного синтаксиса другим — делает модернизацию сложной.

OpenAI также открыла набор тестов MultiLangBench, чтобы разработчики могли посмотреть, какие задачи проверяются, и сравнить результаты по языкам. Для команд, которые изучают возможности моделей в программировании, это полезнее общего заявления о том, что ИИ «понимает старый код».

Почему это направление заслуживает внимания

Большая часть разговоров об ИИ в разработке сосредоточена на создании нового кода. Для компаний с крупными системами задача часто обратная: понять уже написанное, не потерять накопленные правила и постепенно заменить части, которые мешают развитию. Если модели научатся надёжно помогать именно в этой работе, эффект будет не таким заметным, как запуск нового приложения, но потенциально гораздо шире — от банков и государственных служб до промышленности и научных расчётов.

Пока результаты OpenAI показывают прогресс на испытаниях, а не готовое решение для автоматической замены критической инфраструктуры. Однако направление выбрано верно: ИИ здесь нужен не для того, чтобы переписать всё быстрее любой ценой, а чтобы сделать старые системы понятнее, а изменения — проверяемыми и управляемыми.

Подробнее о OpenAI и модели GPT-6.1 Sol — в соответствующих разделах FutureTools. Материал о банковских системах и вариантах их модернизации опубликован Федеральным резервным банком Канзас-Сити.