Колико су добри AI у развоју софтвера?

Развој новог CMS-а. Моје искуство са Roo Code, Gemini и Cursor

16 Apr 2025

5

мин читања

AI иновације

Adrian Sweeney

Почећу са ChatGPT-ом. Када сам почео да пишем овај пост, дао сам му радни наслов: „Колико су AI добри за развој софтвера“.

Очекивао сам да ће постављати питања о томе о чему желим да пишем, али уместо тога генерисао је есеј од 500 речи са потпуно измишљеним садржајем. Представио је моје наводне мисли о три AI алата које сам наводно тестирао: Roo Code, Gemini и Cursor. Међутим, генерисане информације нису биле у складу са мојим стварним искуствима.

Овако је ChatGPT уоквирио сваки алат:

  1. RooCode: Амбициозан, али неконзистентан
  2. Gemini: Користан, али плитак у контексту
  3. Cursor: Скривени драгуљ за рефакторинг и отклањање грешака

Будући да имам опсежно искуство у писању CMS система, одлучио сам да користим AI за развој новог CMS-а, који се базира на годинама рада — од једноставних страница до ентерпрајз решења.

Почнимо са RooCode. Јако ми се свидео алат и провео сам око пет сати градећи кодну базу у чистом JavaScript-у, што би ми иначе трајало недељу дана. Имао сам демо верзију CMS-а која је могла да рендерује неколико макетних страница. Али када сам затражио да конвертује кодну базу у TypeScript, надоградња је пропала. Да сам почео директно у TypeScript-у, вероватно не би било проблема.

Затим сам прешао на Gemini, које је успело да мигрира пројекат на TypeScript, а након пет-шест сати већина кода је радила. Ипак, упало је у циклусе задатака — вероватно због техничких изазова.

Током тог периода направио сам паузу и провео истраживање. Натикао сам се на видео о Cursor-у. Већ сам чуо добре ствари од других програмера и желео сам да га испробам.

Вратио сам се Gemini-ју и замолио га да напише спецификацију пројекта коју бих могао да дам другом AI-ју. Ту спецификацију дао сам Cursor-у и изградио нову верзију CMS-а.

У том тренутку изградио сам исти код са различитим AI алатима. Топло их препоручујем — били су изузетно ефикасни. Агенти су могли да уређују фајлове, премештају их и генерално извршавају већину потребних ми промена. По мом мишљењу, они пружају око десетоструко повећање продуктивности. А доследан рад са једним алатом помаже у прецизном формулисању жељених промена.

Будући да сам провео највише времена са Cursor-ом, било је и досадних ствари: када сам затражио да створи базу података за чување неких података, он је поставио примарни кључ као VARCHAR(36) уместо UNSIGNED BIGINT. Занимљиво је да је, када сам питао за најбољи начин чувања примарног кључа, желео да пређе на BINARY и написао две функције за претварање жељеног GUID у нумеричку вредност. Cursor има фајл .cursorrc, где можете специфицирати правила која треба да следи при генерисању решења; на крају сам је пронашао након што су се исте грешке понављале.

Када сам затражио документацију пројекта, написао је много, али много тога било је погрешно — спомињао је директоријуме који нису постојали.

Сажетак

Наше дигитално доба се мења — време је да ускочите у воз. Пре годину дана ове алате бих описао као пијане студенте. Сада су то јуниор програмери које треба надзирати — и само ће постајати бољи.

PrimeCRM

Повратак у Центар Знања