Pagpapahusay ng coding sa mga programming language na kaunti ang sanggunian
Dahil sa mga pinakabagong pagsulong ng aming mga modelo, mas mahusay na ngayong bumuo at maglipat ng software sa mga programming language na kaunti ang sanggunian, gaya ng COBOL, Fortran, at Visual Basic. Mas kaunti ang code at dokumentasyong mapag-aaralan ng mga modelo para sa mga wikang ito kaysa sa mga wikang tulad ng Python at JavaScript. Gayunpaman, nakasalalay sa mga ito ang kritikal na imprastraktura at mahahalagang serbisyo sa buong mundo. Sinusuportahan(magbubukas sa bagong window) ng COBOL ang mahigit 40% ng mga online banking system, 80% ng mga personal na transaksiyon gamit ang credit card, at 95% ng mga transaksiyon sa ATM, samantalang ginagamit ang Fortran sa pagtataya ng panahon(magbubukas sa bagong window) at pagsusuri sa kaligtasan ng nuclear reactor(magbubukas sa bagong window). Ang pagpapahusay sa kakayahan ng AI na gumamit ng mga wikang ito ay maaaring makatulong sa mga team na panatilihin at gawing moderno ang software na inaasahan ng mahahalagang serbisyo.
Ginagabayan ang gawaing ito ng feedback mula sa mga developer at enterprise customer na nagsabi sa aming madalas mahirapan ang mga coding model sa mga wikang ito. Maaaring maging mahirap ang pagpapanatili at pagmomodernisa ng software na ito: maaaring kulang ang dokumentasyon, umalis na sa kompanya ang mga orihinal na developer, at nasa code lamang ang mahahalagang tuntunin ng negosyo. Nag-aayos man ng mga bug o lumilipat sa ibang wika ang mga team, kailangan nilang mapanatili ang takbong inaasahan ng kanilang mga system.
Bumuo kami ng dalawang pagsusuri upang masukat ang pag-unlad. Sinusubok ng MultiLangBench kung kayang bumuo ng isang modelo ng database engine na compatible sa SQLite mula sa simula, sa 20 iba't ibang programming language. Sinusubok naman ng aming pagsusuri sa paglilipat ng COBOL kung kayang ilipat ng isang modelo ang mga kasalukuyang program sa ibang wika nang hindi nagbabago ang takbo ng mga ito. Magkasamang sinusubok ng mga ito ang dalawang kasanayang nagtutulungan: ang pagbuo ng bagong software at ang pagpapanatili sa ginagawa ng kasalukuyang software.
Malaki ang paghusay ng aming mga pinakabagong modelo sa parehong pagsusuri: mas mataas ang katumpakan sa mas mababang gastos.
Sa MultiLangBench, nakamit ng GPT‑6 Astra ang karaniwang porsiyento ng naipasang test na 87.4% sa 20 programming language, mula sa 26.8% ng GPT‑5.6 Sol, at bumuti ang resulta sa bawat wikang sinubok. Nahigitan din ng GPT‑6 Luna ang GPT‑5.6 Sol, na umabot sa 40.3% habang tinatayang 78% na mas mababa ang gastos sa API.
Sa aming pagsusuri sa paglilipat ng COBOL, nakamit ng GPT‑6.1 Sol ang 86.6% na katumpakan sa mababang antas ng pangangatwiran, kompara sa 5.4% lamang ng GPT‑5.6 Sol, habang 39% na mas mababa ang gastos. Sa mas mataas na antas ng pangangatwiran, umabot sa 97.9% ang katumpakan, na halos perpektong marka na sa pagsusuri.
Sa kabuuan, ipinapakita ng mga resultang ito na lubhang humuhusay ang aming mga modelo sa paggamit ng sari-saring programming language, habang nagiging mas matipid din ang mga ito.
Sa MultiLangBench, inaatasan ang isang modelo na bumuo ng database engine na compatible sa SQLite gamit ang isang itinakdang programming language. Dapat ayusin ng modelo ang codebase, pamahalaan ang state, pangasiwaan ang mga error, at magdagdag ng mga bagong feature nang hindi naaapektuhan ang mga kasalukuyang function.
Upang maikompara ang mga implementasyon sa iba't ibang wika, gumagamit kami ng mga database file bilang iisang interface. Tumatanggap ang sinusubok na program ng paunang database at SQL query, at pagkatapos ay gumagawa ng binagong database. Ginagamit namin ang batayang implementasyon ng SQLite upang tiyaking nasa nabuong database ang inaasahang nilalaman. Sa ganitong paraan, magagamit namin ang parehong mga test anuman ang wikang ginamit sa pagbuo ng engine.
Iniangkop namin sa format na ito ang mga test mula sa kasalukuyang test suite ng SQLite. Sinusukat ng pagsusuri kung gaano karaming gumaganang function ang kayang buuin ng isang modelo sa mahabang coding session, at iniuulat ang porsiyento ng naipasang test at gastos sa API.
Sa pinakamataas na antas ng pangangatwiran, nakamit ng GPT‑6 Astra ang karaniwang porsiyento ng naipasang test na 87.4% sa 20 wika, mula sa 26.8% ng GPT‑5.6 Sol. Bumuti ang resulta sa bawat wikang sinubok, kabilang ang COBOL (10.9% tungo sa 72.1%), OCaml (25.6% tungo sa 85.8%), Fortran (21.4% tungo sa 83.5%), at Visual Basic (27.5% tungo sa 89.4%). Lumampas sa 83% ang marka ng Astra sa 19 sa 20 wika, at nanatiling pinakamahirap ang COBOL sa 72%.
Ang GPT‑6 Luna ay mas murang opsiyon na nahihigitan din ang GPT‑5.6 Sol sa bawat wikang sinubok. Sa pinakamataas na antas ng pangangatwiran, umabot sa 40.3% ang karaniwang porsiyento ng naipasa nitong test. Kabilang sa mga bumuti ang COBOL (10.9% tungo sa 17.1%), OCaml (25.6% tungo sa 34.1%), Fortran (21.4% tungo sa 31.4%), at Visual Basic (27.5% tungo sa 41.6%). Nakamit ang mga paghusay na ito sa tinatayang karaniwang gastos sa API na $0.77 bawat sample, kompara sa $3.48 para sa GPT‑5.6 Sol—humigit-kumulang 78% na mas mababa.
Inilalabas namin ang setup ng pagsusuri at test suite ng MultiLangBench sa GitHub(magbubukas sa bagong window), kasama ang mga resulta para sa bawat wika. Maaaring tingnan ng mga developer kung ano ang sinusubok sa pagsusuri, suriin ang pagganap sa mga wikang ginagamit nila, at tukuyin ang mga kakulangang mahalaga sa sarili nilang trabaho.
Sa aming ikalawang pagsusuri, inaatasan ang mga modelo na ilipat ang mga COBOL program sa C++, Java, Kotlin, Python, o Rust nang hindi nagbabago ang ginagawa ng bawat program.
Para maging matagumpay ang paglilipat, kailangang maunawaan ang lohika ng negosyo sa program at ang partikular na paraan ng paggana ng wikang COBOL. Madalas magproseso ng mga transaksiyong pinansiyal at rekord ng negosyo ang mga COBOL program. Sa mga ito, ang mga detalyeng tulad ng mga tuntunin sa pag-round at paghawak sa mga nawawalang rekord ay nakabatay sa mga pangangailangan ng negosyo. Halimbawa, inaalis ng fixed-point arithmetic ng COBOL ang mga sobrang decimal digit maliban kung tahasang hiniling ang pag-round. Ang muling isinulat na program na nagra-round sa mga halagang iyon ay maaaring tumakbo nang walang error ngunit magbigay ng ibang resultang pinansiyal.
Upang masubok kung napapanatili ang mga paraang ito ng paggana, sinusuri namin ang aming mga modelo gamit ang mga nakatagong test na nangangailangang eksaktong magkapareho ang bawat byte ng nakikitang output. Itinuturing lamang na matagumpay ang paglilipat kapag naipasa ang lahat ng test. Kapaki-pakinabang ang ganitong kakayahang mapanatili ang takbo ng program para sa mga team na nagpapanatili at nagmomodernisa ng mga lumang system. Gayunman, kailangan pa rin ang pagsusuri ng eksperto at pagsubok batay sa mga tuntunin ng negosyo at dependency ng system bago ito gamitin sa aktuwal na pinapatakbong software.
Sa pagsusuring ito, nakamit ng GPT‑6.1 Sol ang 86.6% na katumpakan sa mababang antas ng pangangatwiran, kompara sa 5.4% ng GPT‑5.6 Sol sa parehong setting, sa halagang 61% lamang ng gastos sa API nito. Sa mas mataas na antas ng pangangatwiran, umabot sa 97.9% ang katumpakan, na malapit na sa perpektong marka sa pagsusuri. Ipinapakita ng mga resultang ito ang pag-unlad tungo sa mas tumpak at abot-kayang paglilipat ng code para sa mga team na nagmomodernisa ng software na inaasahan ng kanilang mga negosyo.
Ang mga pagsusuring ito, kasama ng direktang feedback mula sa mga developer at enterprise customer, ay tumutulong sa aming makita kung saan humuhusay ang aming mga modelo at kung saan pa nagkukulang ang mga ito.
Layunin naming tulungan ang mga modelo na magamit ang mga kasanayan sa software engineering sa mas maraming wika: pag-unawa sa mga hindi pamilyar na repository, pagpaplano ng mga pagbabago, paggamit ng mga build tool, pagpapatakbo ng mga test, at pag-debug ng mga pagkabigo.
Maaari mong subukan ang aming mga pinakabagong modelo sa pamamagitan ng API para sa mga gawain sa coding gamit ang mga wikang ginagamit ng iyong team. Ang iyong feedback kung ano ang gumagana, saan nahihirapan ang mga modelo, at aling mga wika o workflow ang dapat naming susunod na pagtuunan ay tumutulong sa paghubog ng paraan ng aming pagsasanay at pagsusuri sa mga modelo upang mas masuportahan ang software na inaasahan mo.





