Ruka hadi kwenye maudhui kuu
OpenAI

19 Oktoba 2026

ChapishoUtafiti

Kuendeleza uandishi wa msimbo katika lugha za programu zenye nyenzo chache

Inapakia…

Maendeleo yetu ya hivi karibuni katika miundo yanaimarisha uwezo wa kuunda na kuhamisha programu katika lugha za programu zenye nyenzo chache kama vile COBOL, Fortran na Visual Basic. Lugha hizi zina msimbo na nyaraka chache zaidi ambazo miundo inaweza kujifunza kutoka kwazo kuliko lugha kama Python na JavaScript, lakini zinatumika kuendesha miundombinu muhimu na huduma za lazima duniani kote. COBOL huendesha⁠(fungua katika dirisha jipya) zaidi ya 40% ya mifumo ya benki mtandaoni, 80% ya miamala ya ana kwa ana ya kadi za mkopo na 95% ya miamala ya ATM, huku Fortran ikitumika katika utabiri wa hali ya hewa⁠(fungua katika dirisha jipya) na uchanganuzi wa usalama wa vinu vya nyuklia⁠(fungua katika dirisha jipya). Kuimarisha uwezo wa AI kufanya kazi katika lugha hizi kunaweza kusaidia timu kutunza na kusasisha programu ambazo huduma za lazima zinategemea.

Kazi hii inaongozwa na maoni ya wasanidi programu na wateja wa biashara ambao wametuambia kuwa miundo ya uandishi wa msimbo mara nyingi hukabiliwa na changamoto katika lugha hizi. Kutunza na kusasisha programu hizi kunaweza kuwa vigumu: nyaraka zinaweza kuwa hazijakamilika, wasanidi wa awali wanaweza kuwa wameondoka kwenye kampuni, na kanuni muhimu za biashara zinaweza kuwepo kwenye msimbo pekee. Iwe timu zinarekebisha hitilafu au kuhamia lugha nyingine, zinahitaji kudumisha namna ya utendaji ambayo mifumo yao inategemea.

Ili kupima maendeleo, tulibuni tathmini mbili. MultiLangBench hupima kama muundo unaweza kuunda injini ya hifadhidata inayooana na SQLite kuanzia mwanzo katika lugha 20 tofauti za programu. Tathmini yetu ya uhamishaji wa programu za COBOL hupima kama muundo unaweza kuhamisha programu zilizopo hadi lugha nyingine huku ukidumisha namna zinavyofanya kazi. Kwa pamoja, tathmini hizi hupima ujuzi wa aina mbili unaokamilishana: kuunda programu mpya na kudumisha utendaji wa programu zilizopo.

Miundo yetu ya hivi karibuni inaonyesha maboresho makubwa katika tathmini zote mbili, ikitoa usahihi wa juu zaidi kwa gharama ndogo.

Kwenye MultiLangBench, GPT‑6 Astra inafikia wastani wa kiwango cha kufaulu majaribio wa 87.4% katika lugha 20 za programu, kutoka 26.8% ya GPT‑5.6 Sol, huku kukiwa na maboresho katika kila lugha iliyojaribiwa. GPT‑6 Luna pia inafanya vizuri kuliko GPT‑5.6 Sol, ikifikia 40.3% kwa makadirio ya gharama ya API yaliyo chini kwa takriban 78%.

Katika tathmini yetu ya uhamishaji wa programu za COBOL, GPT‑6.1 Sol inafikia usahihi wa 86.6% ikiwa na juhudi ndogo za uwazaji, ikilinganishwa na 5.4% tu ya GPT‑5.6 Sol, huku gharama yake ikiwa chini kwa 39%. Juhudi za uwazaji zikiongezwa, usahihi hufikia 97.9%, karibu na kiwango cha juu kabisa kinachoweza kufikiwa kwenye tathmini.

Kwa pamoja, matokeo haya yanaonyesha kuwa miundo yetu inaimarika kwa kiasi kikubwa katika kufanya kazi na lugha mbalimbali za programu, huku pia ikitoa matokeo bora zaidi kwa gharama ndogo.

1. Kuunda SQLite kuanzia mwanzo (MultiLangBench)

MultiLangBench huagiza muundo uunde injini ya hifadhidata inayooana na SQLite katika lugha maalumu ya programu. Muundo lazima upangilie mkusanyiko wa msimbo, udhibiti hali ya programu, ushughulikie hitilafu na uongeze vipengele vipya huku ukidumisha utendaji uliopo.

Ili kulinganisha utekelezaji katika lugha tofauti, tunatumia faili za hifadhidata kama kiolesura cha pamoja. Programu inayotathminiwa hupokea hifadhidata ya awali na hoja ya SQL, kisha kutoa hifadhidata iliyorekebishwa. Tunatumia utekelezaji wa SQLite wa marejeleo ili kuangalia kama hifadhidata inayotolewa ina maudhui yanayotarajiwa. Hii hutuwezesha kutumia majaribio yale yale bila kujali lugha iliyotumiwa kuunda injini.

Tulirekebisha majaribio kutoka kwenye mkusanyiko uliopo wa majaribio ya SQLite ili yatumie muundo huu. Tathmini hupima ni utendaji kiasi gani unaofanya kazi vizuri ambao muundo unaweza kuunda katika kipindi kirefu cha uandishi wa msimbo, ikiripoti kiwango cha kufaulu majaribio pamoja na gharama ya API.

Ikiwa na juhudi za juu kabisa za uwazaji, GPT‑6 Astra inafikia wastani wa kiwango cha kufaulu majaribio wa 87.4% katika lugha hizo 20, kutoka 26.8% ya GPT‑5.6 Sol. Maboresho yanaonekana katika kila lugha iliyojaribiwa, ikiwemo COBOL (kutoka 10.9% hadi 72.1%), OCaml (kutoka 25.6% hadi 85.8%), Fortran (kutoka 21.4% hadi 83.5%) na Visual Basic (kutoka 27.5% hadi 89.4%). Astra inapata alama zaidi ya 83% katika lugha 19 kati ya 20, huku COBOL ikiendelea kuwa ngumu zaidi kwa alama ya 72%.

GPT‑6 Luna inatoa chaguo la gharama ndogo ambalo pia linafanya vizuri kuliko GPT‑5.6 Sol katika kila lugha iliyojaribiwa. Ikiwa na juhudi za juu kabisa za uwazaji, inafikia wastani wa kiwango cha kufaulu majaribio wa 40.3%. Maboresho yanajumuisha COBOL (kutoka 10.9% hadi 17.1%), OCaml (kutoka 25.6% hadi 34.1%), Fortran (kutoka 21.4% hadi 31.4%) na Visual Basic (kutoka 27.5% hadi 41.6%). Maboresho haya yanapatikana kwa makadirio ya wastani wa gharama ya API ya $0.77 kwa kila sampuli, ikilinganishwa na $3.48 ya GPT‑5.6 Sol—gharama iliyo chini kwa takriban 78%.

Tunachapisha usanidi wa tathmini ya MultiLangBench na mkusanyiko wake wa majaribio kwenye GitHub⁠(fungua katika dirisha jipya), pamoja na matokeo ya kila lugha. Wasanidi programu wanaweza kuchunguza kile ambacho tathmini inapima, kukagua utendaji katika lugha wanazotumia na kutambua mapungufu yanayoathiri kazi zao.

2. Kuhamisha mkusanyiko wa msimbo wa COBOL

Tathmini yetu ya pili huagiza miundo ihamishe programu za COBOL hadi C++, Java, Kotlin, Python au Rust huku ikidumisha utendaji wa kila programu.

Uhamishaji wenye mafanikio unahitaji kuelewa mantiki ya biashara ya programu pamoja na namna mahususi lugha ya COBOL inavyofanya kazi. Programu za COBOL mara nyingi huchakata miamala ya fedha na rekodi za biashara, ambapo maelezo kama vile kanuni za kuzungusha namba na kushughulikia rekodi zinazokosekana huakisi mahitaji ya biashara. Kwa mfano, hesabu za COBOL zenye idadi thabiti ya nafasi za desimali huondoa tarakimu za desimali zinazozidi, isipokuwa kuzungusha namba kuagizwe waziwazi. Programu ikiandikwa upya na kuzungusha namba hizo badala yake, inaweza kufanya kazi bila hitilafu huku ikitoa matokeo tofauti ya kifedha.

Ili kupima kama namna hizi za utendaji zinadumishwa, tunatathmini miundo yetu kwa majaribio yaliyofichwa yanayohitaji matokeo yanayoonekana yalingane baiti kwa baiti. Uhamishaji huchukuliwa kuwa umefaulu ikiwa tu majaribio yote yamefaulu. Uwezo kama huu wa kudumisha namna programu zinavyofanya kazi ni muhimu kwa timu zinazotunza na kusasisha mifumo ya zamani. Hata hivyo, kuutumia kwenye programu zinazotumika katika shughuli halisi bado kunahitaji ukaguzi wa wataalamu na majaribio yanayozingatia kanuni za biashara za mfumo na vipengele unavyotegemea.

Katika tathmini hii, GPT‑6.1 Sol inafikia usahihi wa 86.6% ikiwa na juhudi ndogo za uwazaji, ikilinganishwa na 5.4% ya GPT‑5.6 Sol katika mpangilio huo huo, kwa 61% tu ya gharama ya API. Juhudi za uwazaji zikiongezwa, usahihi hufikia 97.9%, karibu na kiwango cha juu kabisa kinachoweza kufikiwa kwenye tathmini. Matokeo haya ya tathmini yanaonyesha maendeleo kuelekea uhamishaji wa msimbo ulio sahihi zaidi na wa gharama nafuu kwa timu zinazosasisha programu ambazo biashara zao zinategemea.

Kuimarisha uwezo wa kufanya kazi na programu za biashara

Tathmini hizi, pamoja na maoni ya moja kwa moja kutoka kwa wasanidi programu na wateja wa biashara, hutusaidia kuona maeneo ambayo miundo yetu inaimarika na yale ambayo bado ina mapungufu.

Lengo letu ni kusaidia miundo kutumia ujuzi wa uhandisi wa programu katika lugha zaidi: kuelewa uhifadhi wa msimbo ambao haijaufanyia kazi hapo awali, kupanga mabadiliko, kutumia zana za kuunda programu, kuendesha majaribio na kutafuta na kurekebisha hitilafu.

Unaweza kujaribu miundo yetu ya hivi karibuni kupitia API kwa kazi za uandishi wa msimbo katika lugha ambazo timu yako hutumia. Maoni yako kuhusu kinachofanya kazi vizuri, maeneo yanayoipa miundo changamoto, na lugha au mtiririko wa kazi tunaopaswa kuangazia baadaye hutusaidia kuamua jinsi ya kufunza na kutathmini miundo ili itumike vizuri zaidi katika programu unazotegemea.