Przejdź do treści głównej
OpenAI

19 października 2026

PublikacjaBadania

Postępy w programowaniu w językach z ograniczonymi zasobami danych

Ładowanie…

Najnowsze udoskonalenia naszych modeli zwiększają ich możliwości tworzenia i migracji oprogramowania w językach programowania z ograniczonymi zasobami danych, takich jak COBOL, Fortran i Visual Basic. W tych językach dostępnych jest mniej kodu i dokumentacji, z których modele mogą się uczyć, niż w językach takich jak Python i JavaScript. Mimo to opierają się na nich infrastruktura krytyczna i podstawowe usługi na całym świecie. COBOL obsługuje⁠(otwiera nowe okno) ponad 40% systemów bankowości internetowej, 80% transakcji kartami kredytowymi w punktach stacjonarnych i 95% transakcji bankomatowych, a Fortran jest wykorzystywany w prognozowaniu pogody⁠(otwiera nowe okno) i analizach bezpieczeństwa reaktorów jądrowych⁠(otwiera nowe okno). Zwiększenie zdolności AI do pracy w tych językach mogłoby pomóc zespołom utrzymywać i modernizować oprogramowanie, od którego zależą podstawowe usługi.

Kierunek tych prac wyznaczają opinie programistów i klientów korporacyjnych, którzy wskazywali nam, że modele do programowania często mają trudności z tymi językami. Utrzymywanie i modernizacja tego oprogramowania bywają trudne: dokumentacja może być niekompletna, pierwotni twórcy mogli odejść z firmy, a ważne reguły biznesowe mogą być zapisane wyłącznie w kodzie. Niezależnie od tego, czy zespoły naprawiają błędy, czy migrują kod do innego języka, muszą zachować sposób działania oprogramowania, od którego zależą ich systemy.

Aby mierzyć postępy, opracowaliśmy dwie ewaluacje. MultiLangBench sprawdza, czy model potrafi zbudować od podstaw silnik bazy danych zgodny z SQLite w każdym z 20 języków programowania. Nasza ewaluacja migracji kodu COBOL sprawdza, czy model potrafi przenieść istniejące programy do innego języka, zachowując ich sposób działania. Łącznie sprawdzają dwie uzupełniające się umiejętności: tworzenie nowego oprogramowania i zachowanie działania już istniejącego.

Nasze najnowsze modele wykazują znaczną poprawę w obu ewaluacjach, zapewniając znacznie większą dokładność przy niższych kosztach.

W MultiLangBench model GPT‑6 Astra osiąga średni odsetek zaliczonych testów na poziomie 87,4% w 20 językach programowania, w porównaniu z 26,8% dla GPT‑5.6 Sol. Poprawa dotyczy każdego testowanego języka. GPT‑6 Luna również przewyższa GPT‑5.6 Sol, osiągając wynik 40,3% przy szacowanym koszcie API niższym o około 78%.

W naszej ewaluacji migracji kodu COBOL model GPT‑6.1 Sol osiąga dokładność 86,6% przy niskim poziomie rozumowania, w porównaniu z zaledwie 5,4% dla GPT‑5.6 Sol, a jednocześnie kosztuje o 39% mniej. Przy wyższym poziomie rozumowania dokładność sięga 97,9%, czyli niemal maksymalnego wyniku ewaluacji.

Łącznie wyniki te pokazują, że nasze modele coraz lepiej radzą sobie z szerokim wachlarzem języków programowania, a jednocześnie są coraz bardziej opłacalne.

1. Tworzenie SQLite od podstaw (MultiLangBench)

W MultiLangBench zadaniem modelu jest zbudowanie silnika bazy danych zgodnego z SQLite w określonym języku programowania. Model musi zorganizować bazę kodu, zarządzać stanem, obsługiwać błędy i dodawać nowe funkcje, zachowując dotychczasową funkcjonalność.

Aby porównywać implementacje w różnych językach, używamy plików baz danych jako wspólnego interfejsu. Oceniany program otrzymuje początkową bazę danych i zapytanie SQL, a następnie tworzy zmodyfikowaną bazę danych. Korzystamy z referencyjnej implementacji SQLite, aby sprawdzić, czy wynikowa baza danych zawiera oczekiwane dane. Pozwala nam to stosować te same testy niezależnie od języka, w którym zbudowano silnik.

Dostosowaliśmy do tego formatu testy z istniejącego zestawu testów SQLite. Ewaluacja mierzy, ile działających funkcji model potrafi zbudować podczas długiej sesji programowania. Raportowane wyniki obejmują zarówno odsetek zaliczonych testów, jak i koszt API.

Przy maksymalnym poziomie rozumowania GPT‑6 Astra osiąga średni odsetek zaliczonych testów na poziomie 87,4% w 20 językach, w porównaniu z 26,8% dla GPT‑5.6 Sol. Poprawa dotyczy każdego testowanego języka, w tym COBOL (z 10,9% do 72,1%), OCaml (z 25,6% do 85,8%), Fortran (z 21,4% do 83,5%) i Visual Basic (z 27,5% do 89,4%). Astra uzyskuje wynik powyżej 83% w 19 z 20 języków. Najtrudniejszy pozostaje COBOL, z wynikiem 72%.

GPT‑6 Luna to tańsza opcja, która również przewyższa GPT‑5.6 Sol w każdym testowanym języku. Przy maksymalnym poziomie rozumowania osiąga średni odsetek zaliczonych testów na poziomie 40,3%. Poprawa obejmuje COBOL (z 10,9% do 17,1%), OCaml (z 25,6% do 34,1%), Fortran (z 21,4% do 31,4%) i Visual Basic (z 27,5% do 41,6%). Te lepsze wyniki osiągane są przy szacowanym średnim koszcie API wynoszącym 0,77 USD na próbkę, w porównaniu z 3,48 USD dla GPT‑5.6 Sol — czyli o około 78% niższym.

Udostępniamy środowisko ewaluacyjne i zestaw testów MultiLangBench w serwisie GitHub⁠(otwiera nowe okno) wraz z wynikami dla każdego języka. Programiści mogą sprawdzić, co obejmuje ewaluacja, przejrzeć wyniki dla używanych przez siebie języków i zidentyfikować braki istotne dla ich pracy.

2. Migracja bazy kodu COBOL

W drugiej ewaluacji zadaniem modeli jest migracja programów napisanych w COBOL do języków C++, Java, Kotlin, Python lub Rust z zachowaniem sposobu działania każdego programu.

Udana migracja wymaga zrozumienia zarówno logiki biznesowej programu, jak i specyfiki działania języka COBOL. Programy napisane w COBOL często przetwarzają transakcje finansowe i dane biznesowe, a szczegóły takie jak reguły zaokrąglania i obsługa brakujących rekordów odzwierciedlają wymagania biznesowe. Na przykład arytmetyka stałoprzecinkowa języka COBOL odrzuca nadmiarowe cyfry po przecinku, chyba że jawnie zażądano zaokrąglenia. Przepisana wersja, która zamiast tego zaokrągla te wartości, może działać bez błędów, a mimo to dawać inne wyniki finansowe.

Aby sprawdzić, czy te zachowania zostały zachowane, oceniamy nasze modele za pomocą ukrytych testów, które wymagają zgodności obserwowalnych wyników bajt po bajcie. Migrację uznaje się za udaną tylko wtedy, gdy wszystkie testy zostaną zaliczone. Takie możliwości zachowania sposobu działania oprogramowania są przydatne dla zespołów utrzymujących i modernizujących starsze systemy. Jednak ich wykorzystanie w oprogramowaniu produkcyjnym nadal wymaga weryfikacji przez ekspertów oraz testów uwzględniających reguły biznesowe i zależności systemu.

W tej ewaluacji GPT‑6.1 Sol osiąga dokładność 86,6% przy niskim poziomie rozumowania, w porównaniu z 5,4% dla GPT‑5.6 Sol przy tym samym ustawieniu, a koszt API wynosi zaledwie 61% kosztu poprzednika. Przy wyższym poziomie rozumowania dokładność sięga 97,9%, zbliżając się do maksymalnego wyniku ewaluacji. Te wyniki ewaluacji pokazują postęp w kierunku dokładniejszej i tańszej migracji kodu dla zespołów modernizujących oprogramowanie, od którego zależy działalność ich firm.

Rozwój możliwości w zakresie oprogramowania dla firm

Te ewaluacje, wraz z bezpośrednimi opiniami programistów i klientów korporacyjnych, pomagają nam dostrzec, w czym nasze modele stają się lepsze, a gdzie nadal mają braki.

Naszym celem jest pomóc modelom stosować umiejętności inżynierii oprogramowania w większej liczbie języków: rozumieć nieznane repozytoria, planować zmiany, korzystać z narzędzi do budowania oprogramowania, uruchamiać testy i diagnozować błędy.

Możesz wypróbować nasze najnowsze modele przez API w zadaniach programistycznych w językach używanych przez Twój zespół. Twoje opinie o tym, co działa, z czym modele mają trudności oraz na jakich językach lub procesach pracy powinniśmy się skupić w następnej kolejności, pomagają nam kształtować sposób trenowania i oceny modeli, by lepiej wspierały oprogramowanie, na którym polegasz.