Jauna CMS izstrāde. Mana pieredze ar Roo Code, Gemini un Cursor
Sāksim ar ChatGPT. Kad sāku rakstīt šo ziņu, es tam piešķīru darba nosaukumu: „Cik labi AI ir programmatūras izstrādē“.
Es gaidīju, ka tas uzdos jautājumus par to, par ko es vēlos rakstīt, bet tā vietā tas ģenerēja 500 vārdu eseju ar pilnīgi izdomātu saturu. Tas attēloja manas pieņēmuma domas par trim AI rīkiem, kurus es it kā esmu testējis: Roo Code, Gemini un Cursor. Tomēr ģenerētā informācija neatbilda manai reālajai pieredzei.
Šādi ChatGPT ietvēra katru rīku:
Kopumā esmu apmierināts ar savu pieredzi ar šiem AI rīkiem. Katrs no tiem piedāvā unikālas priekšrocības un trūkumus, un esmu pārliecināts, ka tie turpinās attīstīties un uzlaboties.
Ņemot vērā manu plašo pieredzi CMS sistēmu rakstīšanā, es nolēmu izmantot AI, lai izstrādātu jaunu CMS, kas balstīts uz gadiem ilgu darbu — no vienkāršām lapām līdz uzņēmuma risinājumiem.
Sāksim ar RooCode.
Mums bija demo versija CMS, kas varēja renderēt vairākas maketa lapas. Bet, kad es lūdzu konvertēt koda bāzi uz TypeScript, jaunināšana neizdevās. Ja es būtu sācis tieši TypeScript, visticamāk, nebūtu problēmu.Pēc tam es pārgāju uz Gemini, kas spēja migrēt projektu uz TypeScript, un pēc piecām līdz sešām stundām lielākā daļa koda darbojās. Tomēr tas iekļuva uzdevumu ciklos — iespējams, tehnisko izaicinājumu dēļ.
Šajā periodā es paņēmu pauzi un veicu izpēti. Es uzgāju video par Cursor. Es jau biju dzirdējis labas lietas no citiem izstrādātājiem un vēlējos to izmēģināt.
Atgriezies pie Gemini, es lūdzu tam uzrakstīt projekta specifikāciju, ko es varētu dot citam AI. Es šo specifikāciju devu Cursor un izveidoju CMS jaunu versiju.
Šajā brīdī es biju izveidojis to pašu kodu ar dažādiem AI rīkiem. Es tos sirsnīgi iesaku — tie bija ārkārtīgi efektīvi. Aģenti varēja rediģēt failus, tos pārvietot un vispār veikt lielāko daļu nepieciešamo izmaiņu. Pēc manām domām, tie nodrošina aptuveni desmitkārtīgu produktivitātes pieaugumu. Un konsekventa darbība ar vienu rīku palīdz precīzi formulēt vēlamās izmaiņas.
Tā kā es pavadīju visvairāk laika ar Cursor, bija arī kaitinošas lietas: kad es lūdzu izveidot datu bāzi, lai saglabātu dažus datus, tas primāro atslēgu iestatīja kā VARCHAR(36) nevis UNSIGNED BIGINT. Interesanti, ka, kad es jautāju par labāko veidu, kā saglabāt primāro atslēgu, tas vēlējās pāriet uz BINARY un uzrakstīja divas funkcijas, lai konvertētu vēlamo GUID uz skaitlisku vērtību. Cursor ir fails .cursorrc, kurā varat norādīt noteikumus, kuriem jāseko, ģenerējot risinājumus; es to beidzot atradu pēc tam, kad tās pašas kļūdas atkārtojās.
Kad es lūdzu projekta dokumentāciju, tas uzrakstīja daudz, bet daudz kas bija nepareizi — tas minēja direktorijus, kas nepastāvēja.
Mūsu digitālais laikmets mainās — ir laiks iekāpt vilcienā. Pirms gada es šos rīkus būtu aprakstījis kā piedzērušos studentus. Tagad tie ir jaunāki izstrādātāji, kurus jāuzrauga — un tie tikai kļūs labāki.