Преминаване към основното съдържание
OpenAI

19 октомври 2026 г.

ПубликацияПроучване

Напредък в програмирането на езици с оскъдни ресурси

Зареждане…

Последните подобрения в нашите модели разширяват възможностите за разработване и миграция на софтуер на програмни езици с оскъдни ресурси като COBOL, Fortran и Visual Basic. За тези езици има по-малко код и документация, от които моделите да се учат, отколкото за езици като Python и JavaScript. Въпреки това те са в основата на критична инфраструктура и жизненоважни услуги по целия свят. COBOL стои в основата на⁠(отваря се в нов прозорец) повече от 40% от системите за онлайн банкиране, 80% от трансакциите с кредитни карти на място и 95% от трансакциите на банкомати, а Fortran се използва за прогнозиране на времето⁠(отваря се в нов прозорец) и анализ на безопасността на ядрени реактори⁠(отваря се в нов прозорец). Подобряването на способността на ИИ да работи с тези езици би могло да помогне на екипите да поддържат и модернизират софтуера, от който зависят жизненоважни услуги.

В тази работа се ръководим от обратната връзка на разработчици и корпоративни клиенти, които ни споделят, че моделите за програмиране често срещат трудности с тези езици. Поддръжката и модернизирането на този софтуер могат да бъдат трудни: документацията може да е непълна, първоначалните разработчици да са напуснали компанията, а важни бизнес правила да съществуват единствено в кода. Независимо дали отстраняват грешки, или мигрират към друг език, екипите трябва да запазят поведението, от което зависят техните системи.

За да измерим напредъка, разработихме два теста за оценка. MultiLangBench проверява дали моделът може да изгради от нулата ядро за бази данни, съвместимо със SQLite, на 20 различни програмни езика. Нашият тест за оценка на миграцията от COBOL проверява дали моделът може да мигрира съществуващи програми към друг език, като запази поведението им. Заедно те проверяват две взаимно допълващи се умения: създаване на нов софтуер и запазване на функционалността на съществуващ софтуер.

Най-новите ни модели показват значителни подобрения и в двата теста, като постигат много по-висока точност при по-ниски разходи.

В MultiLangBench GPT‑6 Astra постига средно 87,4% успешно преминати тестове на 20 програмни езика спрямо 26,8% за GPT‑5.6 Sol, с подобрения при всеки от тестваните езици. GPT‑6 Luna също превъзхожда GPT‑5.6 Sol, като достига 40,3% при приблизително 78% по-нисък прогнозен разход за API.

В нашия тест за оценка на миграцията от COBOL GPT‑6.1 Sol постига 86,6% точност при ниско усилие за структурирано анализиране спрямо едва 5,4% за GPT‑5.6 Sol, при това с 39% по-нисък разход. При по-високо усилие за структурирано анализиране точността достига 97,9% — почти максималния възможен резултат в теста.

Взети заедно, тези резултати показват, че нашите модели стават значително по-добри в работата с широк набор от програмни езици, като същевременно са и по-икономични.

1. Изграждане на SQLite от нулата (MultiLangBench)

MultiLangBench поставя на модела задача да изгради ядро за бази данни, съвместимо със SQLite, на зададен програмен език. Моделът трябва да организира кодова база, да управлява състоянието, да обработва грешки и да добавя нови функции, като запазва съществуващата функционалност.

За да сравняваме реализациите на различните езици, използваме файлове с бази данни като общ интерфейс. Оценяваната програма получава начална база данни и SQL заявка, след което създава променена база данни. Използваме референтната реализация на SQLite, за да проверим дали получената база данни има очакваното съдържание. Това ни позволява да прилагаме едни и същи тестове независимо от езика, на който е изградено ядрото.

Адаптирахме тестове от съществуващия тестов набор на SQLite към този формат. Оценката измерва колко работеща функционалност може да изгради моделът в рамките на продължителна сесия за програмиране, като отчита както процента успешно преминати тестове, така и разхода за API.

При максимално усилие за структурирано анализиране GPT‑6 Astra постига средно 87,4% успешно преминати тестове на 20-те езика спрямо 26,8% за GPT‑5.6 Sol. Има подобрения при всеки от тестваните езици, включително COBOL (от 10,9% на 72,1%), OCaml (от 25,6% на 85,8%), Fortran (от 21,4% на 83,5%) и Visual Basic (от 27,5% на 89,4%). Astra постига над 83% при 19 от 20-те езика, като COBOL остава най-трудният с резултат от 72%.

GPT‑6 Luna предлага по-икономична алтернатива, която също превъзхожда GPT‑5.6 Sol при всеки от тестваните езици. При максимално усилие за структурирано анализиране моделът достига средно 40,3% успешно преминати тестове. Подобренията включват COBOL (от 10,9% на 17,1%), OCaml (от 25,6% на 34,1%), Fortran (от 21,4% на 31,4%) и Visual Basic (от 27,5% на 41,6%). Тези подобрения са постигнати при прогнозен среден разход за API от 0,77 щ.д. на пример спрямо 3,48 щ.д. за GPT‑5.6 Sol — приблизително 78% по-малко.

Публикуваме конфигурацията за оценяване и тестовия набор на MultiLangBench в GitHub⁠(отваря се в нов прозорец) заедно с резултатите за всеки език. Разработчиците могат да разгледат какво проверява оценката, да прегледат резултатите за езиците, които използват, и да установят пропуски, важни за собствената им работа.

2. Миграция на кодова база на COBOL

Вторият ни тест за оценка поставя на моделите задача да мигрират програми от COBOL към C++, Java, Kotlin, Python или Rust, като запазят функционалността на всяка програма.

Успешната миграция изисква разбиране както на бизнес логиката на програмата, така и на специфичното поведение на езика COBOL. Програмите на COBOL често обработват финансови трансакции и бизнес записи, при които подробности като правилата за закръгляване и обработката на липсващи записи отразяват бизнес изискванията. Например аритметиката с фиксирана запетая в COBOL отрязва излишните десетични цифри, освен ако изрично не е зададено закръгляване. Пренаписана версия, която вместо това закръглява тези стойности, може да работи без грешки, но да дава различни финансови резултати.

За да проверим дали това поведение е запазено, оценяваме моделите си чрез скрити тестове, които изискват наблюдаемите изходни данни да съвпадат байт по байт. Миграцията се счита за успешна само ако всички тестове са преминати успешно. Подобни способности за запазване на поведението са полезни за екипи, които поддържат и модернизират стари системи. Прилагането им към софтуер в продукционна среда обаче все още изисква експертен преглед и тестване спрямо бизнес правилата и зависимостите на системата.

В този тест GPT‑6.1 Sol постига 86,6% точност при ниско усилие за структурирано анализиране спрямо 5,4% за GPT‑5.6 Sol при същата настройка, при едва 61% от разхода за API. При по-високо усилие за структурирано анализиране точността достига 97,9%, близо до максималния възможен резултат в теста. Тези резултати показват напредък към по-точна и достъпна миграция на код за екипите, които модернизират софтуера, от който зависи бизнесът им.

Разширяване на възможностите за работа с корпоративен софтуер

Тези оценки, заедно с пряката обратна връзка от разработчици и корпоративни клиенти, ни помагат да видим къде моделите ни се подобряват и къде все още не се справят достатъчно добре.

Целта ни е да помогнем на моделите да прилагат умения за софтуерно инженерство на повече езици: да разбират непознати хранилища, да планират промени, да използват инструменти за изграждане, да изпълняват тестове и да отстраняват грешки.

Можете да изпробвате най-новите ни модели чрез API със задачи за програмиране на езиците, които вашият екип използва. Обратната ви връзка за това какво работи добре, къде моделите срещат трудности и върху кои езици или работни процеси трябва да се съсредоточим следващия път ни помага да определим как да обучаваме и оценяваме моделите, за да ви помагат по-добре със софтуера, от който зависите.