약 한 달간 Cursor AI를 사용해보았습니다. 간단한 React 웹 페이지와 NestJS CRUD 서버, 그리고 React-Native 앱의 거의 개발 착수 단계에 사용하였습니다. 결론부터 말하자면, 새로운 프로젝트를 시작할 때에 있어서는 너무나도 편리하고, 압도적으로 생산성을 늘려줄 수 있는 도구라고 느꼈습니다. Gpt나 Github Copilot을 처음 경험했을 때보다도 큰 충격을 준 도구였습니다. 이 글에서는 Cursor AI에 대한 간단한 소개와 느낀 점들을 다룹니다.
Cursor AI란
Cursor AI는 VScode의 포크 프로젝트이며, 갖가지 AI 기능이 탑재되어 있습니다. 제가 주로 사용한 기능들은 아래와 같습니다.
Tab - line 수정 제안
코드를 작성하다보면 Cursor가 특정 라인의 코드 수정을 제안합니다. Tab 키를 눌러서, 이 제안을 바로 코드에 적용할 수 있습니다. 이를 통해 indentation이나, 반복적인 작업들을 Tab키 한 번으로 대신할 수 있습니다. Copilot과 거의 동일한 동작입니다.
Cmd + K - Code Chunk 관련 AI에게 질문하기
코드라인을 드래그하고, Cmd + K를 누르면 AI에게 코드 관련 질문을 할 수 있습니다. 주로 "이 부분의 에러를 해결해줘" 같은 목적으로 사용합니다. AI는 코드의 수정을 제안하고, 이 수정을 받아들이거나, 후속 질문을 이어갈 수도 있습니다. 개인적인 경험으로, 정확도는 아래에서 소개할 Cmd+L 기능이 더 높은 것 같아, 잘 사용하지 않게 되는 기능이였습니다.
Cmd + L - Codebase로 AI와 채팅하기
Cursor AI의 가장 핵심 기능입니다. 간단히 설명하자면, Claude 혹은 GPT 모델의 LLM 서버와 chat을 하는 것에 불과하지만, 웹에서 이용하는 것보다 훨씬 많은 Context를 넘겨줄 수 있어서 아주 강력합니다. Chat 모델에게 내 코드의 파일, 디렉토리 전체, 외부 웹사이트 docs, 이미지 등을 넘겨주며 구체적인 요구사항을 전달하면 꽤 높은 정확도로 답변을 생성합니다. 이렇게 생성된 답변은 단계적으로 Accept 할 수 있습니다. 터미널에서 명령어 실행, 새로운 디렉토리와 파일 생성 및 새로운 코드 추가 등등의 작업도 답변을 accept하기만 하면 거의 사람이 하는 일이 없었습니다. 후속질문 또한 Cursor가 제시한 단계들 각각에 할 수 있어서, 깜빡 잊은 요구사항이 있다면 수정을 요청할 수도 있습니다.
장점
1. Vscode와 거의 유사하여, 입문 후 적응하는데 cost가 거의 없다.
Vscode의 단축키와 레이아웃, extension들을 모두 공유하기 때문에 처음 설치하고 사용법을 익히는데 필요한 시간이 거의 없었습니다. Cursor AI의 기능들도 사용법이 단순하고, 기존 AI 툴들과 크게 다르지 않기 때문에 익히는데에 큰 시간이 들지 않았습니다. 어떻게 하면 AI가 더 나은 답변을 주는지 정도의 학습이 필요하나, 코드를 작성하며 사용해보면서 알아가는 재미가 있었습니다.
2. 프로젝트 초기 코드 작성시 압도적인 퍼포먼스
Cursor의 가장 강력한 장점으로 느껴집니다. Github Copilot은 단순한 반복작업이나 작은 모듈함수를 작성하는데에 특화되어있어서, 내귀찮은 작업들에 손을 빌려주는 도구 같은 느낌에 불과했습니다. 다만, Cursor는 터미널 명령어를 실행하고, 수정해야할 코드 위치에 찾아가서 코드를 수정해주고, 파일을 생성하기도 해준다는 점에서 코드 생산속도의 차원을 높인 느낌이였습니다. 참고할 Codebase들을 context로 넘겨줄 수 있어서 정확도도 꽤나 높았습니다. React, React Native, tailwind css, nestjs 등의 프레임워크/라이브러리에 대한 답변도 잘 해주었습니다.
이번에 Cursor를 활용하여 React native 앱을 하나 개발해보았는데, 약 4시간동안의 대부분을 Cursor에게 제가 짜고 싶은 코드를 설명하는 일과, 그 코드를 accept한 후 실행해보고 검수하는 작업만 하면서 보내도 꽤 괜찮은 앱이 금세 나올 수 있었습니다. 코드에 문제가 전혀 없지는 않아서, 안드로이드와 웹 환경에서 지속적으로 코드를 실행하며 확인하고 디버깅하는 과정을 거쳐야하기는 했지만, 프론트엔드의 귀찮은 state 관리 작업과 스타일링/퍼블리싱 작업을 거의 다 날로 먹을 수 있었습니다.
3. 가격(?)
ChatGPT의 한 달 구독료는 20달러인데, Cursor AI의 한 달 구독료도 같습니다. 어차피 ChatGPT를 구독하려고 한다면, Cursor AI를 구독해보는 것을 매우 추천합니다.
단점
1. 속도
코드 적용 속도가 약간 답답한 느낌이 있습니다. 기분좋게 탁탁 적용되지는 않고, 약간의 딜레이가 소요됩니다. 특히, Tab 으로 이용하는 Line 수정 제안 기능의 속도가 좀 답답했습니다. 여러 줄의 수정 제안을 빨리 받고, 바로바로 적용하고 싶은데 마치 높이가 애매한 계단을 걷듯이 애매한 속도가 한국인에게는 조금 아쉬웠습니다.
새로운 프로젝트를 시작하고자 한다면, 프로젝트 세팅 시간과 초기 코드 작성 시간을 압도적으로 줄여줄 수 있는 도구입니다. AI가 어디까지 발전할지, 앞으로 나의 밥그릇을 얼마나 빼앗아갈지 저를 한 번 더 걱정하게 만들었습니다. 앞으로는, 이런 도구들을 빠르게 내 것으로 흡수하고 적재적소에 활용할 줄 아는 능력이 더욱 중요해지겠구나를 다시 한 번 실감하였습니다.
'개발이야기' 카테고리의 다른 글
속터지는 Google Play Console 본인인증하기 (1) | 2025.02.06 |
---|---|
Node.js에서 csv 파일 다루기 및 ios-윈도우 간 한글 깨짐 문제 해결 (1) | 2024.01.06 |
타입스크립트: ts2322 error 해결을 위한 서브타입 관련 개념 총정리 (1) | 2023.11.26 |
한글의 유니코드 인코딩과, javascript에서 한글 문자열을 다루는 방식 (1) | 2023.10.19 |
HTTP의 역사: 0.9부터 3.0까지 (1) | 2023.09.14 |