Modellbevezetés

Mesterséges intelligenciával generált szöveg

Fejlettebb AI-modellek jobb támogatást nyújtanak alacsony erőforrású programozási nyelvekhez

A bejelentés főszereplői az OpenAI új modelljei, köztük a GPT‑6 Astra, GPT‑6 Luna és GPT‑6.1 Sol, amelyek jelentős előrelépést mutatnak alacsony erőforrású programozási nyelvekben, például COBOL, Fortran és Visual Basic kezelésében.

Fejlettebb AI-modellek jobb támogatást nyújtanak alacsony erőforrású programozási nyelvekhez

A legújabb modellfrissítések jelentősen jobb képességeket hoznak a szoftverfejlesztés és -migráció terén alacsony erőforrású programozási nyelvekben, például a COBOL, Fortran és Visual Basic nyelvekben. Ezek a nyelvek kevesebb nyílt forráskódú példát és dokumentációt tartalmaznak, mint a széles körben használt Python vagy JavaScript, miközben olyan kritikus infrastruktúrákat és alapvető szolgáltatásokat támogatnak, amelyekhez pontosan ezek a régebbi rendszerek kapcsolódnak. A COBOL például több mint 40%‑át támogatja az online banki rendszereknek, a személyes bankkártyás tranzakciók 80%-át és az ATM‑tranzakciók 95%-át; a Fortrant pedig időjárás‑előrejelzésben és nukleáris reaktorok biztonsági elemzésében használják.

A fejlesztést a fejlesztőktől és vállalati ügyfelektől érkező visszajelzések irányították: a kódoló modellek gyakran gyengébben teljesítenek ezekben a nyelvekben. A régi rendszerek karbantartása és modernizálása sokszor nehéz, mert a dokumentáció hiányos lehet, az eredeti fejlesztők már nem dolgoznak a cégnél, és fontos üzleti szabályok csak a kódban léteznek. Javítások vagy átírások során kulcsfontosságú, hogy a rendszerek viselkedése megőrződjön.

Értékelések: MultiLangBench és COBOL migráció

A haladás mérésére két értékelést készítettek. A MultiLangBench azt vizsgálja, hogy egy modell képes‑e egy SQLite‑kompatibilis adatbázismotort a semmiből felépíteni 20 különböző programozási nyelven. A COBOL migrációs értékelés azt méri, hogy a modell képes‑e meglévő COBOL programokat egy másik nyelvre átültetni úgy, hogy a viselkedésük megmaradjon. Együtt ezek az értékelések a szoftver építésének és a meglévő viselkedés megtartásának két kiegészítő képességét tesztelik.

A legújabb modellek mindkét értékelésen jelentős javulást mutattak, egyúttal költséghatékonyabbak is lettek.

MultiLangBench eredmények

A MultiLangBenchben a GPT‑6 Astra modell átlagos tesztátmeneti rátája 87.4% volt a 20 nyelven, szemben a GPT‑5.6 Sol 26.8%‑ával. Minden vizsgált nyelvben javulás tapasztalható; például COBOL esetén 10.9%‑ról 72.1%‑ra, OCamlnál 25.6%‑ról 85.8%‑ra, Fortrannál 21.4%‑ról 83.5%‑ra, Visual Basicnél pedig 27.5%‑ról 89.4%‑ra nőtt a teljesítmény. Astra 20 nyelvből 19-ben meghaladta a 83%‑ot, míg a COBOL maradt a legnehezebb a maga 72%‑ával.

A GPT‑6 Luna olcsóbb opcióként szintén minden nyelven jobb eredményt ért el a GPT‑5.6 Solnál; maximális gondolkodási erőfeszítés mellett átlagos tesztátmeneti rátája 40.3% volt. Néhány példa: COBOL 10.9%‑ról 17.1%‑ra, OCaml 25.6%‑ról 34.1%‑ra, Fortran 21.4%‑ról 31.4%‑ra, Visual Basic 27.5%‑ról 41.6%‑ra javult. A GPT‑6 Luna becsült átlagos API‑költsége mintánként 0.77 USD volt, szemben a GPT‑5.6 Sol 3.48 USD‑s költségével, ami mintegy 78%‑os csökkenésnek felel meg.

A MultiLangBenchben a modell feladata egy SQLite‑kompatibilis adatbázismotor megépítése adott nyelven: a kód alaprajzának megszervezése, állapotkezelés, hibakezelés és új funkciók hozzáadása úgy, hogy a meglévő működés megmaradjon. Az összehasonlíthatóság érdekében a tesztek közös interfészként adatbázisfájlokat használnak: a jelölt program egy kezdeti adatbázist és SQL‑lekérdezést kap, majd egy módosított adatbázist ad vissza, amelyet a referencia SQLite‑implementációhoz hasonlítanak.

A MultiLangBench tesztkészletét a SQLite meglévő tesztjeiből adaptálták, az értékelés a működő funkciók mennyiségét méri egy kiterjesztett kódolási munkamenet alatt, és egyszerre adja meg a tesztátmeneti arányt és az API‑költséget.

A fejlesztők számára elérhetővé tették a MultiLangBench értékelési beállítását és a tesztkészletet GitHubon, valamint minden nyelvre vonatkozó eredményeket, így bárki megvizsgálhatja, mit mér az értékelés, áttekintheti a saját nyelve teljesítményét, és azonosíthatja a számára releváns hiányosságokat.

COBOL migrációs értékelés

A második értékelés a COBOL programok C++, Java, Kotlin, Python vagy Rust nyelvre történő migrációját vizsgálja, különös tekintettel arra, hogy a programok megőrzik‑e a viselkedésüket. A sikeres migráció megköveteli a program üzleti logikájának és a COBOL speciális nyelvi viselkedésének megértését. COBOL‑programok gyakran pénzügyi tranzakciókat és üzleti nyilvántartásokat dolgoznak fel; itt a kerekítési szabályok vagy a hiányzó rekordok kezelése üzleti követelményeket tükrözhetnek. Például a COBOL fixpontos aritmetikája eltávolítja a felesleges tizedesjegyeket kerekítés nélkül, így egy migráció, amely automatikus kerekítést vezet be, hibamentesen futhat, ugyanakkor más pénzügyi eredményeket produkálhat.

A viselkedés megtartását rejtett tesztekkel ellenőrzik, amelyek byte‑byte paritást követelnek meg a megfigyelhető kimeneteken; egy migráció csak akkor tekinthető sikeresnek, ha minden teszt átmegy. Az ilyen viselkedésmegőrző képességek hasznosak lehetnek a régi rendszereket karbantartó és modernizáló csapatok számára, bár a termelési alkalmazáshoz mindig szakértői átvizsgálás és az üzleti szabályokhoz és függőségekhez igazodó tesztelés szükséges.

Ezen az értékelésen a GPT‑6.1 Sol modell alacsonyabb gondolkodási erőfeszítés mellett 86.6%‑os pontosságot ért el, szemben a GPT‑5.6 Sol 5.4%‑ával ugyanazon beállításon, miközben az átlagos API‑költség 61%‑a volt. Magasabb gondolkodási erőfeszítés mellett a pontosság elérte a 97.9%‑ot, közel telítettséget hozva az értékelésben. Ezek az eredmények előrelépést mutatnak a pontosabb, megfizethetőbb kódmigráció felé a rendszereiket modernizáló csapatok számára.

Célok és további lépések

Ezek az értékelések és a fejlesztői ügyfélvisszajelzések együtt segítenek feltérképezni, hol javulnak a modellek és hol maradnak hiányosságok. A cél az, hogy a modellek egyre több nyelven alkalmazzanak szoftvermérnöki készségeket: ismerjék fel ismeretlen tárházakat, tervezzék meg a változtatásokat, használják a build‑eszközöket, futtassanak teszteket és hibakeresést végezzenek.

A legújabb modelleket API‑n keresztül elérhetővé tették a kódolási feladatokhoz, és a fejlesztők visszajelzését kérik arról, hogy mi működik, hol akadnak el a modellek, és mely nyelvekre vagy munkafolyamatokra kellene a jövőben fókuszálni.