Több mint tucatnyi nyelven képes programkódot írni az OpenAI egyelőre zárt bétában kiadott Codexe. A rendszer, melynek előzményeiről tavaly a Bitport is beszámolt, a természetes nyelven adott utasításokat fordítja programkódra. A zártkörű bétatesztelésre való jelentkezés lehetőségét tegnap nyitották meg, akiket pedig befogadnak, azok egy API-n keresztül érhetik el a GPT-3-hoz szorosan kapcsolódó mesterséges intelligenciát.
Az OpenAI ígérete szerint a rendszer nem csak arra alkalmas, hogy a természetes nyelven adott utasításokat programmá alakítsa, hanem arra is, hogy a fejlesztők – ebben az esetben a fejlesztők alatt az ún. citizen developereket (is) kell érteni – meglévő alkalmazásokhoz készítsenek természetes nyelvi felületet. Ez a rendszer valóban elhozhatja a low-code/no-code világ aranykorát.
Mit tud jelenleg a Codex?
Ha egy profi programozó megkapja a pontos specifikációt, azaz tudja, hogy mit kell leprogramoznia, akkor általában úgy dolgozik, hogy első lépésként a problémát egyszerűbb problémákra bontja, majd a kisebb egységeket leképezi valamilyen programnyelvben programkódra, amihez felhasznál meglévő kódelemeket, könyvtárakat, API-kat stb. Ez utóbbi tevékenység a programozás legkevésbé szórakoztató része, írja az OpenAI ismertetője, ráadásul itt elég magas a belépési küszöb. A programnyelvekkel való munkához ugyanis speciális szakértelem kell.
Ezt váltja ki a Codex, ami jelenleg az egyszerű, természetes nyelven kiadott utasítások értelmezésére és végrehajtására képes. A rendszer alapját a GPT-3 adja. Képzési adatai részben természetes nyelvi mintákból, részben milliárdnyi forráskódból állnak. Ez utóbbi tanulási készlet egyik fontos forrását a GitHub publikus repói adják.
Bár a rendszer tucatnál is több programnyelvet kezel (az ismertető a JavaScriptet, a Gót, a Perlt, a PHP-t, a Rubyt, a Swiftet, a TypeScriptet és a Shellt említi), Pythonnal a leghatékonyabb. A Codex a Python-kódra már 14 kilobájt memóriaterületet biztosít – szemben a GPT-3 4 kilobájtjával–, így több mint háromszor annyi kontextuális információt tud figyelembe venni egy-egy feladat végrehajtásakor, mint az elődje.
A Codex egyébként nagyrészt érti a GPT-3 természetes nyelvét, csak épp működő kódot állít elő belőle. Egyelőre csak angolul tud, így értelemszerűen angol nyelven értő szoftver vagy felület készítésére alkalmas.
Ugyanakkor általános célú programozási modellt használ, tehát lényegében bármilyen programozási feladatra alkalmazható, állítja az OpenAI, bár gyorsan hozzá is teszi, hogy az egyes feladattípusoknál az eredmény minősége eltérő lehet. A tesztek során eddig sikeresen használták például forráskód más nyelvre történő fordításához és kódrefaktoráláshoz (vagyis a kódok egyes összetevőinek olyan módosításához, hogy a program külső viselkedése ne változzon).
Ingyenesen lehet próbálkozni – valamikor
Egyelőre a Codexet csak a zárt bétatesztre jelentkezők egy részével osztják meg, de az OpenAI azt ígéri, hogy a lehető leggyorsabban igyekeznek bővíteni az elérhetőséget. Sőt, az első időszakban a rendszer használata is ingyenes lesz.
A kísérlet egyébként nem egyedülálló. Az IBM tavasszal jelentette be saját CodeNetjét: ez a GitHubon közzétett tanítási készlet 14 millió kódmintát tartalmaz 55 programozási nyelven. A készlet a kódolás bizonyos fázisait segíti, eddig használták például hibakereséshez, régi kódok újraírásához és monolit rendszerek mikroszolgáltatássá alakításához is.
Az OpenAI ennél komplexebbnek ígérkezik. A zárt bétatesztre itt lehet jelentkezni.
Nyílt forráskód: valóban ingyenes, de használatának szigorú szabályai vannak