Pāriet uz galveno saturu
OpenAI

2026. gada 19. oktobris

PublikācijaIzpēte

Programmēšanas pilnveide valodās ar ierobežotiem apmācības resursiem

Notiek ielāde…

Jaunākie mūsu modeļu uzlabojumi paplašina iespējas izstrādāt un migrēt programmatūru tādās programmēšanas valodās ar ierobežotiem apmācības resursiem kā COBOL, Fortran un Visual Basic. Salīdzinājumā ar tādām valodām kā Python un JavaScript šajās valodās ir pieejams mazāk koda un dokumentācijas, no kā modeļiem mācīties, tomēr tās nodrošina kritiskās infrastruktūras un būtisku pakalpojumu darbību visā pasaulē. COBOL nodrošina⁠(atveras jaunā logā) vairāk nekā 40 % internetbanku sistēmu darbību, 80 % klātienes darījumu ar kredītkartēm un 95 % bankomātu darījumu, savukārt Fortran izmanto laikapstākļu prognozēšanā⁠(atveras jaunā logā) un kodolreaktoru drošības analīzē⁠(atveras jaunā logā). Uzlabojot mākslīgā intelekta spēju strādāt šajās valodās, varētu palīdzēt komandām uzturēt un modernizēt programmatūru, no kuras atkarīga būtisku pakalpojumu darbība.

Šī darba virzienu nosaka izstrādātāju un uzņēmumu klientu atsauksmes: viņi mums ir norādījuši, ka programmēšanas modeļiem darbs šajās valodās bieži sagādā grūtības. Šīs programmatūras uzturēšana un modernizācija var būt sarežģīta: dokumentācija var būt nepilnīga, sākotnējie izstrādātāji var būt aizgājuši no uzņēmuma, un svarīgas uzņēmējdarbības kārtulas var būt ietvertas tikai kodā. Neatkarīgi no tā, vai komandas novērš kļūdas vai pāriet uz citu valodu, tām ir jāsaglabā programmatūras darbības īpatnības, no kurām ir atkarīgas to sistēmas.

Lai izmērītu progresu, mēs izstrādājām divus novērtējumus. MultiLangBench pārbauda, vai modelis spēj no nulles izveidot ar SQLite saderīgu datubāzes dzinēju 20 dažādās programmēšanas valodās. Mūsu COBOL migrācijas novērtējums pārbauda, vai modelis spēj migrēt esošas programmas uz citu valodu, saglabājot to darbību. Kopā tie pārbauda divas savstarpēji papildinošas prasmes: jaunas programmatūras izstrādi un esošās programmatūras darbības saglabāšanu.

Mūsu jaunākie modeļi uzrāda būtiskus uzlabojumus abos novērtējumos, sasniedzot daudz augstāku precizitāti ar zemākām izmaksām.

MultiLangBench novērtējumā GPT‑6 Astra vidējais sekmīgi izpildīto testu īpatsvars 20 programmēšanas valodās sasniedz 87,4 % salīdzinājumā ar GPT‑5.6 Sol sasniegtajiem 26,8 %, un uzlabojumi vērojami visās pārbaudītajās valodās. Arī GPT‑6 Luna pārspēj GPT‑5.6 Sol, sasniedzot 40,3 % ar aptuveni par 78 % zemākām aplēstajām API izmaksām.

Mūsu COBOL migrācijas novērtējumā GPT‑6.1 Sol ar zemu spriestspējas līmeni sasniedz 86,6 % precizitāti salīdzinājumā ar tikai 5,4 % modelim GPT‑5.6 Sol, turklāt izmaksas ir par 39 % zemākas. Ar augstāku spriestspējas līmeni precizitāte sasniedz 97,9 %, gandrīz sasniedzot novērtējuma maksimālo rezultātu.

Kopumā šie rezultāti liecina, ka mūsu modeļi ievērojami labāk tiek galā ar darbu daudzās dažādās programmēšanas valodās, vienlaikus kļūstot arī izmaksu ziņā efektīvāki.

1. SQLite izveide no nulles (MultiLangBench)

MultiLangBench uzdod modelim izveidot ar SQLite saderīgu datubāzes dzinēju noteiktā programmēšanas valodā. Modelim ir jāorganizē koda bāze, jāpārvalda stāvoklis, jāapstrādā kļūdas un jāpievieno jaunas funkcijas, saglabājot esošo funkcionalitāti.

Lai salīdzinātu realizācijas dažādās valodās, mēs izmantojam datubāzes failus kā kopīgu saskarni. Pārbaudāmā programma saņem sākotnējo datubāzi un SQL vaicājumu, pēc tam izveido modificētu datubāzi. Mēs izmantojam SQLite etalonrealizāciju, lai pārbaudītu, vai iegūtās datubāzes saturs atbilst gaidītajam. Tas ļauj mums izmantot vienus un tos pašus testus neatkarīgi no valodas, kurā dzinējs izveidots.

Šim formātam pielāgojām testus no esošā SQLite testu komplekta. Novērtējumā tiek mērīts, cik daudz funkcionējošu iespēju modelis spēj izveidot ilgstošā programmēšanas sesijā, norādot gan sekmīgi izpildīto testu īpatsvaru, gan API izmaksas.

Ar maksimālo spriestspējas līmeni GPT‑6 Astra vidējais sekmīgi izpildīto testu īpatsvars 20 valodās sasniedz 87,4 % salīdzinājumā ar GPT‑5.6 Sol sasniegtajiem 26,8 %. Uzlabojumi vērojami visās pārbaudītajās valodās, tostarp COBOL (no 10,9 % līdz 72,1 %), OCaml (no 25,6 % līdz 85,8 %), Fortran (no 21,4 % līdz 83,5 %) un Visual Basic (no 27,5 % līdz 89,4 %). Astra rezultāts pārsniedz 83 % 19 no 20 valodām; visgrūtākā joprojām ir COBOL ar 72 %.

GPT‑6 Luna ir lētāka alternatīva, kas arī pārspēj GPT‑5.6 Sol visās pārbaudītajās valodās. Ar maksimālo spriestspējas līmeni tā vidējais sekmīgi izpildīto testu īpatsvars sasniedz 40,3 %. Uzlabojumi vērojami arī COBOL (no 10,9 % līdz 17,1 %), OCaml (no 25,6 % līdz 34,1 %), Fortran (no 21,4 % līdz 31,4 %) un Visual Basic (no 27,5 % līdz 41,6 %). Šie uzlabojumi sasniegti ar aplēstajām vidējām API izmaksām 0,77 ASV dolāri par vienu paraugu salīdzinājumā ar 3,48 ASV dolāriem modelim GPT‑5.6 Sol — tas ir aptuveni par 78 % mazāk.

Mēs publicējam MultiLangBench novērtēšanas vidi un testu komplektu platformā GitHub⁠(atveras jaunā logā) kopā ar rezultātiem katrai valodai. Izstrādātāji var izpētīt, kas novērtējumā tiek pārbaudīts, apskatīt rezultātus valodās, kuras viņi izmanto, un noteikt trūkumus, kas ir būtiski viņu darbā.

2. COBOL koda bāzes migrācija

Mūsu otrajā novērtējumā modeļiem tiek uzdots migrēt COBOL programmas uz C++, Java, Kotlin, Python vai Rust, saglabājot katras programmas darbību.

Veiksmīgai migrācijai ir jāizprot gan programmas biznesa loģika, gan COBOL valodai raksturīgās darbības īpatnības. COBOL programmas bieži apstrādā finanšu darījumus un uzņēmējdarbības uzskaites datus, kur tādas nianses kā noapaļošanas kārtulas un rīcība trūkstošu ierakstu gadījumā atspoguļo uzņēmējdarbības prasības. Piemēram, COBOL fiksētā komata aritmētikā liekie cipari aiz komata tiek atmesti, ja vien nav skaidri pieprasīta noapaļošana. Pārrakstīta programma, kas šīs vērtības noapaļo, var darboties bez kļūdām, taču radīt atšķirīgus finanšu rezultātus.

Lai pārbaudītu, vai šīs darbības īpatnības tiek saglabātas, mēs novērtējam savus modeļus ar slēptiem testiem, kuros novērojamajiem izvades datiem ir jāsakrīt baitu pa baitam. Migrācija tiek uzskatīta par veiksmīgu tikai tad, ja visi testi ir sekmīgi izpildīti. Šādas spējas saglabāt programmatūras darbību ir noderīgas komandām, kas uztur un modernizē vecākas sistēmas. Tomēr, izmantojot tās ekspluatācijā esošai programmatūrai, joprojām ir nepieciešama ekspertu pārbaude un testēšana, ņemot vērā sistēmas uzņēmējdarbības kārtulas un atkarības.

Šajā novērtējumā GPT‑6.1 Sol ar zemu spriestspējas līmeni sasniedz 86,6 % precizitāti salīdzinājumā ar GPT‑5.6 Sol sasniegtajiem 5,4 % pie tā paša iestatījuma, turklāt API izmaksas ir tikai 61 % no GPT‑5.6 Sol izmaksām. Ar augstāku spriestspējas līmeni precizitāte sasniedz 97,9 %, pietuvojoties novērtējuma maksimālajam rezultātam. Šie novērtējuma rezultāti apliecina progresu ceļā uz precīzāku un lētāku koda migrāciju komandām, kas modernizē savu uzņēmumu darbībai nepieciešamo programmatūru.

Iespēju pilnveide darbam ar uzņēmumu programmatūru

Šie novērtējumi kopā ar tiešām atsauksmēm no izstrādātājiem un uzņēmumu klientiem palīdz mums saprast, kur mūsu modeļi uzlabojas un kur tiem joprojām ir trūkumi.

Mūsu mērķis ir palīdzēt modeļiem izmantot programmatūras izstrādes prasmes plašākā valodu klāstā: izprast nepazīstamus repozitorijus, plānot izmaiņas, izmantot būvēšanas rīkus, izpildīt testus un novērst kļūdas.

Vari izmēģināt mūsu jaunākos modeļus, izmantojot API, programmēšanas uzdevumos valodās, kurās strādā tava komanda. Tavas atsauksmes par to, kas darbojas labi, kas modeļiem sagādā grūtības un kurām valodām vai darbplūsmām mums turpmāk būtu jāpievēršas, palīdz mums pilnveidot modeļu apmācību un novērtēšanu, lai tie labāk palīdzētu darbā ar tev nepieciešamo programmatūru.