Dezvoltarea unui nou CMS. Experiența mea cu Roo Code, Gemini și Cursor
Voi începe cu ChatGPT. Când am început să scriu această postare, i-am dat titlul de lucru: „Cât de bune sunt AI-urile pentru dezvoltarea software-ului”.
Mă așteptam să pună întrebări despre ce vreau să scriu, dar în schimb a generat un eseu de 500 de cuvinte cu conținut complet inventat. A prezentat presupusele mele gânduri despre trei instrumente AI pe care le-aș fi testat: Roo Code, Gemini și Cursor. Cu toate acestea, informațiile generate nu au avut legătură cu experiențele mele reale.
Iată cum a încadrat ChatGPT fiecare instrument:
Având o experiență vastă în scrierea sistemelor CMS, am decis să folosesc AI pentru a dezvolta un nou CMS, bazat pe ani de muncă — de la pagini simple la soluții enterprise.
Să începem cu RooCode. Mi-a plăcut foarte mult instrumentul și am petrecut aproximativ cinci ore construind o bază de cod în JavaScript pur, care altfel mi-ar fi luat o săptămână. Am avut o versiune demo a CMS-ului care putea reda mai multe pagini mock. Dar când am cerut să convertească baza de cod în TypeScript, actualizarea a eșuat. Dacă aș fi început direct în TypeScript, probabil că nu ar fi fost nicio problemă.
Apoi am trecut la Gemini, care a reușit să migreze proiectul la TypeScript, iar după cinci-șase ore, cea mai mare parte a codului funcționa. Cu toate acestea, a intrat în cicluri de sarcini — probabil din cauza unor provocări tehnice.
În acea perioadă, am luat o pauză și am făcut cercetări. Am dat peste un videoclip despre Cursor. Am auzit deja lucruri bune de la alți dezvoltatori și voiam să-l încerc.
Întors la Gemini, i-am cerut să scrie o specificație de proiect pe care să o pot da unei alte AI. Aceasta i-am dat-o lui Cursor și am construit o nouă versiune a CMS-ului.
În acel moment, construisem același cod cu diferite instrumente AI. Le recomand cu căldură — au fost extrem de eficiente. Agenții puteau edita fișiere, le puteau muta și, în general, puteau face majoritatea modificărilor de care aveam nevoie. În opinia mea, oferă o creștere a productivității de aproximativ zece ori. Și lucrul consecvent într-un singur instrument ajută la formularea precisă a modificărilor dorite.
Deoarece am petrecut cel mai mult timp cu Cursor, au existat și lucruri enervante: când am cerut să creeze o bază de date pentru a stoca niște date, a setat cheia primară ca VARCHAR(36) în loc de UNSIGNED BIGINT. Interesant este că, atunci când am întrebat despre cea mai bună modalitate de a stoca o cheie primară, a vrut să treacă la BINARY și a scris două funcții pentru a converti GUID dorit într-o valoare numerică. Cursor are un fișier .cursorrc, unde poți specifica reguli pe care să le urmeze la generarea soluțiilor; l-am găsit în cele din urmă după ce aceleași greșeli s-au repetat.
Când am cerut documentația proiectului, a scris mult, dar multe erau greșite — menționa directoare care nu existau.
Epoca noastră digitală se schimbă — e timpul să urci în tren. Acum un an, aș fi descris aceste instrumente ca fiind studenți beți. Acum sunt dezvoltatori juniori pe care trebuie să-i supraveghezi — și vor deveni doar mai buni.