Egy új CMS fejlesztése. Tapasztalataim a Roo Code, Gemini és Cursor eszközökkel
Először is beszéljünk a ChatGPT-ről. Amikor elkezdtem írni ezt a bejegyzést, megadtam neki a tervezett cikk címét: „Mennyire jók a mesterséges intelligenciák a szoftverfejlesztésben”.
Azt vártam, hogy kérdéseket tesz fel arról, miről szeretnék írni, de ehelyett egy 500 szavas esszét generált teljesen kitalált tartalommal. Bemutatta az állítólagos gondolataimat három általam tesztelt mesterséges intelligencia eszközről: Roo Code, Gemini és Cursor. Azonban a generált információk nem álltak összhangban a valós tapasztalataimmal.
Így jellemezte a ChatGPT az egyes eszközöket:
Hosszú tapasztalatom van CMS rendszerek írásában, ezért úgy döntöttem, hogy mesterséges intelligenciát használok egy új CMS fejlesztéséhez, amely a weboldalak építésében szerzett évek tapasztalatára épít — az egyszerű oldalaktól a vállalati megoldásokig.
Kezdjük a RooCode-dal. Nagyon élveztem az eszköz használatát, és körülbelül öt óra alatt felépítettem egy kódalapot tiszta JavaScript-ben, ami normál esetben egy hétig tartott volna. Volt egy demó verzióm a CMS-ből, amely több makett oldalt is képes volt renderelni. Azonban amikor arra kértem, hogy konvertálja a kódalapot TypeScript-re, a frissítés sikert elen volt. Ha TypeScript-ben kezdtem volna, valószínűleg nem lett volna probléma.
Ezután átváltottam a Gemini-re, amely sikeresen át tudta migrálni a projektet TypeScript-re, és öt-hat óra múlva a kód nagy része működött. Ennek ellenére ismételten feladatciklusokba került — valószínűleg technikai kihívások miatt.
Eközben tartottam egy szünetet és kutatást végeztem. Rábukkantam egy videóra a Cursor-ról. Más fejlesztőktől pozitív visszajelzéseket hallottam róla, és már régóta ki akartam próbálni.
Visszatérve a Gemini-hez, kértem tőle egy projekt specifikációt, amelyet átadhatok egy másik mesterséges intellig enciának. Ezt átadtam a Cursor-nak, és felépítettem a CMS új verzióját.
Ekkor már ugyanazt a kódot különböző mesterséges intelligencia eszközökkel építettem fel. Mindegyiket melegen ajánlom — rendkívül hatékonyak voltak. Az ügynökök képesek voltak fájlokat szerkeszteni, mozgatni őket, és általában elvégezni a szükséges változtatások nagy részét. Véleményem szerint körülbelül tízszeres termelékenységnövekedést eredményeznek. Egyetlen eszköz következetes használata pedig megkönnyíti a pontos változtatási kérések megfogalmazását.
Mivel a legtöbb időt a Cursor-nál töltöttem, voltak bosszantó dolgok is: amikor arra kértem, hogy hozzon létre egy adatbázist néhány adat tárolására, a VARCHAR(36)-ot állította be elsődleges kulcsként UNSIGNED BIGINT helyett. Érdekes módon, amikor a legjobb módját kérdeztem az elsődleges kulcs tárolásának, BINARY-ra akart váltani, és két függvényt írt, amelyek a kívánt GUID-ot numerikus értékké alakították. A Cursor rendelkezik egy .cursorrc fájllal, ahol szabályokat lehet megadni, amelyeket a megoldások generálásakor követ; ezt végül megtaláltam, miután ugyanazok a hibák ismétlődtek.
Amikor projekt dokumentációt kértem, sokat írt, de sok minden hibás volt — olyan könyvtárakról beszélt, amelyek nem léteztek.
A digitális korszakunk változik — itt az ideje felszállni a vonatra. Egy évvel ezelőtt ezeket az eszközöket részeg diákoknak neveztem volna. Most junior fejlesztők, akiket figyelni kell — és csak egyre jobbak lesznek.