Негізгі мазмұнға өту
OpenAI

Ресурсы аз бағдарламалау тілдерінде код жазуды жетілдіру

Жүктелуде…

Модельдеріміздегі соңғы жетістіктер COBOL, Fortran және Visual Basic сияқты оқыту ресурстары аз бағдарламалау тілдерінде бағдарламалық жасақтама әзірлеу және оны басқа тілге көшіру мүмкіндіктерін кеңейтеді. Python және JavaScript сияқты тілдермен салыстырғанда, бұл тілдерде модельдер үйрене алатын код пен құжаттама аз. Соған қарамастан, олар бүкіл әлемдегі маңызды инфрақұрылым мен аса қажетті қызметтердің жұмысын қамтамасыз етеді. COBOL онлайн-банкинг жүйелерінің 40%-дан астамының, кредиттік картамен бетпе-бет жасалатын транзакциялардың 80%-ының және банкомат транзакцияларының 95%-ының жұмысын қамтамасыз етеді⁠(жаңа терезеде ашылады), ал Fortran ауа райын болжауда⁠(жаңа терезеде ашылады) және ядролық реакторлардың қауіпсіздігін талдауда⁠(жаңа терезеде ашылады) қолданылады. ЖИ-дің осы тілдерде жұмыс істеу қабілетін жақсарту командаларға аса қажетті қызметтердің негізін құрайтын бағдарламалық жасақтаманы қолдап, жаңғыртуға көмектесуі мүмкін.

Бұл жұмыста әзірлеушілер мен корпоративтік клиенттердің пікірлерін басшылыққа аламыз: олардың айтуынша, код жазатын модельдер осы тілдермен жұмыс істегенде жиі қиналады. Мұндай бағдарламалық жасақтаманы қолдау және жаңғырту қиын болуы мүмкін: құжаттамасы толық болмауы, бастапқы әзірлеушілері компаниядан кетуі, ал маңызды бизнес ережелері тек кодта ғана сақталуы ықтимал. Командалар қателерді түзетсе де, кодты басқа тілге көшірсе де, жүйелердің жұмысы тәуелді болатын әрекет тәртібін сақтауы керек.

Ілгерілеуді өлшеу үшін екі бағалау әзірледік. MultiLangBench модельдің 20 түрлі бағдарламалау тілінде SQLite-пен үйлесімді дерекқор қозғалтқышын нөлден жасай алатынын тексереді. COBOL кодын көшіруге арналған бағалауымыз модельдің қолданыстағы бағдарламаларды олардың әрекет тәртібін сақтай отырып басқа тілге көшіре алатынын тексереді. Олар бір-бірін толықтыратын екі дағдыны тексереді: жаңа бағдарламалық жасақтама әзірлеу және қолданыстағы жасақтаманың атқаратын қызметін сақтау.

Соңғы модельдеріміз екі бағалауда да айтарлықтай ілгерілеу көрсетіп, аз шығынмен әлдеқайда жоғары дәлдікке қол жеткізді.

MultiLangBench бағалауында GPT‑6 Astra 20 бағдарламалау тілі бойынша тесттерден өтудің орташа үлесін 87,4%-ға жеткізді, ал GPT‑5.6 Sol нәтижесі 26,8% болған. Тексерілген барлық тілде нәтиже жақсарды. GPT‑6 Luna да GPT‑5.6 Sol моделінен озып, 40,3% нәтижеге жетті; бұл ретте болжамды API құны шамамен 78%-ға төмен.

COBOL кодын көшіру бағалауында GPT‑6.1 Sol төмен ой қорыту деңгейінде 86,6% дәлдікке жетті, ал GPT‑5.6 Sol нәтижесі небәрі 5,4% болды. Сонымен қатар шығын 39%-ға азайды. Ой қорыту деңгейі жоғарылағанда дәлдік 97,9%-ға жетіп, бағалаудың ең жоғары нәтижесіне жақындады.

Бұл нәтижелер модельдеріміздің сан алуан бағдарламалау тілдерімен жұмыс істеу қабілеті айтарлықтай жақсарып, шығын жағынан да тиімдірек болып келе жатқанын көрсетеді.

1. SQLite-ты нөлден жасау (MultiLangBench)

MultiLangBench модельге белгіленген бағдарламалау тілінде SQLite-пен үйлесімді дерекқор қозғалтқышын жасау тапсырмасын береді. Модель код базасын ұйымдастырып, күйді басқарып, қателерді өңдеп, бұрыннан бар функцияларды сақтай отырып жаңа мүмкіндіктер қосуы керек.

Әртүрлі тілде жасалған нұсқаларды салыстыру үшін дерекқор файлдарын ортақ интерфейс ретінде қолданамыз. Тексерілетін бағдарлама бастапқы дерекқор мен SQL сұрауын қабылдап, өзгертілген дерекқорды шығарады. Алынған дерекқордың мазмұны күткенімізге сай келетінін тексеру үшін SQLite-тың эталондық нұсқасын пайдаланамыз. Бұл қозғалтқыш қай тілде жасалғанына қарамастан, бірдей тесттерді қолдануға мүмкіндік береді.

SQLite-тың қолданыстағы тест жинағындағы тесттерді осы форматқа бейімдедік. Бағалау модельдің ұзақ код жазу сессиясында қанша жұмыс істейтін функция жасай алатынын өлшеп, тесттерден өту үлесін де, API құнын да көрсетеді.

Ой қорыту деңгейі ең жоғары мәнге қойылғанда GPT‑6 Astra 20 тіл бойынша тесттерден өтудің орташа үлесін 87,4%-ға жеткізеді, ал GPT‑5.6 Sol нәтижесі 26,8% болған. Тексерілген барлық тілде, соның ішінде COBOL (10,9%-дан 72,1%-ға), OCaml (25,6%-дан 85,8%-ға), Fortran (21,4%-дан 83,5%-ға) және Visual Basic (27,5%-дан 89,4%-ға) тілдерінде нәтижелер жақсарды. Astra 20 тілдің 19-ында 83%-дан жоғары нәтиже көрсетті. 72% нәтижесімен COBOL ең қиын тіл болып қалды.

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 АҚШ доллары болғанда қол жеткізілді. GPT‑5.6 Sol үшін ол 3,48 доллар, яғни шығын шамамен 78%-ға төмендеді.

MultiLangBench бағалау ортасы мен тест жинағын әр тілдің нәтижелерімен бірге GitHub⁠(жаңа терезеде ашылады) платформасында жариялап отырмыз. Әзірлеушілер бағалаудың нені тексеретінін зерттеп, өздері қолданатын тілдердегі нәтижелерді қарап, жұмысына әсер ететін кемшіліктерді анықтай алады.

2. COBOL код базасын басқа тілге көшіру

Екінші бағалауымыз модельдерге COBOL бағдарламаларын әрқайсысының атқаратын қызметін сақтай отырып C++, Java, Kotlin, Python немесе Rust тіліне көшіру тапсырмасын береді.

Сәтті көшіру үшін бағдарламаның бизнес логикасын да, COBOL тіліне тән жұмыс ерекшеліктерін де түсіну қажет. COBOL бағдарламалары көбіне қаржылық транзакциялар мен іскерлік жазбаларды өңдейді. Мұнда дөңгелектеу ережелері мен жоқ жазбаларды өңдеу тәртібі сияқты ұсақ-түйек көрінетін жайттар бизнес талаптарын көрсетеді. Мысалы, COBOL тіліндегі тіркелген үтірлі арифметикада дөңгелектеу нақты сұралмаса, ондық бөлшектің артық цифрлары алынып тасталады. Қайта жазылған нұсқа оның орнына сол мәндерді дөңгелектесе, бағдарлама қатесіз жұмыс істегенімен, қаржылық нәтижелер өзгеше болуы мүмкін.

Осы әрекет тәртібінің сақталғанын тексеру үшін модельдерімізді байқалатын шығыс нәтижелерінің байтқа дейін дәл сәйкестігін талап ететін жасырын тесттермен бағалаймыз. Көшіру барлық тесттен өткенде ғана сәтті деп есептеледі. Бағдарламаның әрекет тәртібін сақтайтын мұндай мүмкіндіктер ескі жүйелерді қолдап, жаңғыртатын командаларға пайдалы. Дегенмен оларды нақты қолданыстағы бағдарламалық жасақтамаға қолдану үшін әлі де сарапшы тексерісі және жүйенің бизнес ережелері мен тәуелділіктеріне сай тестілеу қажет.

Бұл бағалауда GPT‑6.1 Sol төмен ой қорыту деңгейінде 86,6% дәлдікке жетті, ал сол баптауда GPT‑5.6 Sol нәтижесі 5,4% болды. Бұл ретте GPT‑6.1 Sol моделінің API құны GPT‑5.6 Sol құнының небәрі 61%-ын құрады. Ой қорыту деңгейі жоғарылағанда дәлдік 97,9%-ға жетіп, бағалаудың ең жоғары нәтижесіне жақындады. Бұл бағалау нәтижелері өз бизнесінің негізін құрайтын бағдарламалық жасақтаманы жаңғыртып жатқан командалар үшін кодты дәлірек әрі арзанырақ көшіру бағытындағы ілгерілеуді көрсетеді.

Корпоративтік бағдарламалық жасақтамамен жұмыс істеу мүмкіндіктерін жетілдіру

Осы бағалаулар әзірлеушілер мен корпоративтік клиенттердің тікелей пікірлерімен бірге модельдеріміздің қай тұста жақсарып, қай тұста әлі де осал екенін көруге көмектеседі.

Мақсатымыз — модельдерге бағдарламалық инженерия дағдыларын көбірек тілде қолдануға көмектесу: бейтаныс репозиторийлерді түсіну, өзгерістерді жоспарлау, құрастыру құралдарын пайдалану, тесттерді орындау және ақауларды түзету.

Соңғы модельдерімізді API арқылы командаңыз қолданатын тілдердегі код жазу тапсырмаларында сынап көре аласыз. Ненің жақсы жұмыс істейтіні, модельдердің қай тұста қиналатыны және келесі кезекте қандай тілдерге не жұмыс процестеріне назар аударуымыз керектігі туралы пікірлеріңіз бізге модельдерді оқыту мен бағалауды жетілдіруге көмектеседі. Осылайша сіздер сүйенетін бағдарламалық жасақтамаға жақсырақ қолдау көрсете аламыз.