main-logo

커서 AI, 코파일럿에 이어 써봤습니다

커서와 코파일럿 사이에서 고민이라면

profile
BR
2025년 01월 23일 · 0 분 소요

피엑스디(pxd)의 개발 조직인 XE(eXperience Engineering) 그룹은 개발자를 위한 여러 AI툴을 업무에 활용해 보고 있습니다. 지난 글에서는 깃허브(Github)의 코파일럿(Copilot)의 사용기를 전했는데요. 이번에는 커서(Cursor AI)를 써보고 그 후기를 전합니다. 이미 1년 동안 코파일럿을 써본 터라 하려고 하지 않아도 자연스럽게 두 AI툴을 비교해 보기도 했죠. 덧붙여 저희는 맥(Mac) 운영 체제에서 비주얼 스튜디오 코드(VSCode) 편집기를 활용했습니다.

 

학습과 호환이 용이한 커서의 첫인상

커서는 첫인상부터 좋았습니다. 챗GPT(ChatGPT)가 공개된 이후 세상에 많은 AI 코딩 툴이 나왔는데요. 그중에서도 커서가 매력적으로 느껴졌던 이유는 개발 문서를 학습시킬 수 있다는 점입니다. 이에 더해, 비주얼 스튜디오 코드를 포크(Fork)해 만들었기에 익숙한 환경 그대로 커서를 이용할 수 있었죠. 실제로 커서를 설치 후 아무것도 하지 않아도 그동안의 개발 환경이 그대로 설정돼 사용에 있어 진입장벽을 느끼지 않았습니다. 필요에 따라 비주얼 스튜디오 코드와 동시에 쓸 때는 서로의 호환성도 완벽해 같은 프로그램을 쓰고 있다는 착각마저 들 정도였죠.

물론, 적응이 필요한 부분도 있었습니다. 일부 단축키가 비주얼 스튜디오 코드와 다르다는 점이었는데요. 예를 들어, 평소 비주얼 스튜디오 코드를 쓰며  ‘커맨드(Command) + 시프트(Shift) + ->’ 단축키 조합으로 라인 선택을 즐겨하는데, 커서에서는 이 조합이 AI가 제안한 코드를 적용하는 단축키라 적응이 필요했습니다. 이처럼 기존의 비주얼 스튜디오 코드와 단축키가 충돌하는 일부 조합이 있기에 자주 사용하는 단축키를 미리 설정하면 더 쾌적한 커서 사용이 가능합니다.

 

쓰면서 느끼는 커서의 유능함

자동 완성의 강력함

앞서 코파일럿을 쓰면서도 자동 완성 기능을 잘 사용했고, 편한 기능이라고 생각했는데요. 커서는 코파일럿과 비교했을 때 더 똑똑한 자동 완성을 자랑했습니다. 특히 지금 작업하고 있는 리포지터리(Repository)를 파악하고 이를 기준으로 파일 경로나 변수명 등을 작성해준다는 점이 코파일럿과 차이를 느끼게 했죠.

물론, 커서라고 완벽하지는 않았습니다. 배열을 담고 있는 변수 이름을 단수로 선언했는데, 이 변수를 사용한 코드를 커서가 복수를 추천해 줘 오류를 찾느라 한참 헤맨 적도 있었죠. 자동 완성은 분명 편리하지만, 꼭 코드 검토가 따라야 한다는 점도 기억해야 합니다.

커서에게 선언한 변수와 추천한 코드
// 커서에게 선언한 변수 
const value = ['1', '2', 3]

// 커서가 추천한 코드 
values.map(c, i) => { return ... }
 

단순 작업의 효율 극대화

코파일럿이 단순 작업의 효율을 높여줬던 것과 마찬가지로, 커서 역시 단순 작업에서 강점을 발휘했습니다. 일례로, 이미지 파일과 아이콘 파일의 인덱스(index)를 정리하는 건 단순하지만 무척 귀찮은 작업으로 손꼽히는데요. 하나하나 파일의 임포트(import)와 익스포트(export)를 설정하고, 경로를 넣어야 하기 때문입니다. 이 귀찮음을 커서가 말끔히 해결해 줬습니다. 커서에 이미지 파일을 업로드하고 그 폴더를 캡처 및 정리해달라고 했더니, 작성된 코드를 바탕으로 깔끔하게 마무리했죠.

커서에게 파일을 추가해달라고 요청하면
깔끔하게 요청을 처리하는 커서

 

정확한 문제 해결을 돕는 다중 파일 분석

어떤 기능의 코드 오류를 잡거나, 개선이 필요할 때 하나의 파일이 아닌 관련된 여러 파일을 참고해야 하는 경우가 많습니다. 이럴 때도 커서는 유용했는데요. 필요한 파일에 참조를 걸고 분석해달라는 요청을 커서는 어렵지 않게 수행했습니다. 지금 작업하고 있는 파일이 문제라고 생각했는데, 알고 보니 다른 파일이 문제였던 경우가 있었고, 커서에 고마움을 느낀 순간이었습니다. 이처럼 특정 파일을 참조하는 것뿐 아니라, 전체 코드 베이스를 기반으로 분석이 가능하다는 점은 커서의 큰 장점 중 하나라고 생각합니다.

개발 문서 학습으로 최신 정보 활용

원하는 개발 문서를 학습시키고 이에 기반해 코드를 추천받을 수 있다는 점은 커서의 큰 매력입니다.  챗GPT의 강력함은 말하지 않아도 모두가 아실 것으로 생각합니다. 하지만, 최신 데이터를 활용하기 어렵다는 아쉬움이 있죠. 시시각각 새로움이 더해지는 개발 환경에서 업데이트가 더딘 챗GPT만 쓰다보면 그 아쉬움이 유독 크게 느껴지고는 했는데요. 커서를 쓰며 이 문제를 해소할 수 있었습니다. 커서에 질문할 때 필요한 개발 문서를 정확하게 짚지 않으면 문서 기반 답변을 멈추고 챗GPT에 기반해 답변하는 경우가 꽤 있어 사용에 주의를 기울일 필요는 있습니다.

다양한 AI 모델을 한 곳에서

커서는 다양한 AI 챗봇 모델을 지원합니다. 저는 주로 GPT 포오(GPT-4o)와 클로드 3.5 소네트(Claude 3.5-sonnet) 모델을 번갈아 가며 사용했는데요. GPT는 번역 투로 다소 복잡한 방식으로 코드를 제안하는 반면, 클로드는 유연한 어투로 간결하게 답해줘 이를 비교하며 더 나은 방법을 찾아갈 수 있었습니다. 또, 편집기 내에서 곧바로 원하는 수준의 답변을 받을 수 있어 번거롭게 웹을 오갈 필요도 없었죠. 다만, 상위 요금제를 사용하더라도 사용 횟수와 속도 제한이 있어 월말이 가까워질수록 웹으로 챗GPT나 클로드에 접속해야 하는 번거로움도 있었습니다.

프롬프트만으로 개발을 가능케 하는 컴포저

앞서 소개한 커서의 여러 장점이 있지만, 지금 이야기할 컴포저(Composer) 기능이야말로 커서의 가장 큰 장점이 아닐까 싶습니다. AI 챗봇을 활용할 때는 받은 답변을 직접 복사해 붙여 써야 하고, 긴 코드는 중략된 형태로 답변받아 전체 코드를 다시 요청해야 하는 번거로움이 있었는데요. 커서의 컴포저 기능은 프롬프트만 입력해도 요구에 맞는 파일 생성과 추가, 삭제를 수행해 줘 개발자가 직접 코드를 작성하고 수정할 필요가 없습니다. 개발자는 구현된 코드를 검토하고 추가 요구 사항을 커서와 주고받으며 이를 적용할지(Apply) 말지(Reject) 여부만 결정하면 되죠. 코드 수정 과정에서 기존 기능이 작동하지 않는 경우도 있지만, 컴포저는 체크포인트(Checkpoint) 기능으로 코드가 바뀐 시점을 기록하기에 원하는 시점으로 돌아가 작업할 수 있습니다. 작업의 히스토리까지 완벽하게 지원해 주고 있죠. 흔히 말하는 ‘프롬프트만으로 개발하기’를 현실로 만들어 주는 강력한 기능이라고 생각합니다.

 

개발자에게 AI 툴이란

AI가 없었을 때도 우리는 개발자로서 모든 필요를 해결했습니다. 누군가 지금 저에게 커서를 꾸준히 사용할지 묻는다면 저의 대답은 ‘그렇다.’입니다. 커서와 작업했던 시간을 토대로, 커서에 대한 평을 한마디로 정리하자면 ‘커서의 사용 가치는 충분하다.’거든요. 커서를 쓰면서 불편함이 없던 것은 아닙니다. 질문의 의도를 벗어난 답변을 주거나 제대로 작동하지 않는 코드를 결과로 내놓는 때도 있었죠. 하지만 커서와 함께하며 작업의 생산성이 높아진 것 또한 분명합니다. 코파일럿보다도 뛰어난 성능으로 말이죠. 혹시 아직 AI 코딩 툴을 사용해 본 적 없다면, 이 기회에 경험해 보셔도 좋겠습니다. 커서는 2주 동안 Pro(프로) 플랜 요금제를 체험해 볼 수 있습니다. AI를 미래의 동료로 여길지 판단하기에는 충분한 시간이 될 것으로 생각합니다.

 

이슬비, 박바름(프론트엔드 개발자)
편집 정우재(UX 라이터)
그래픽 김은정(그래픽 디자이너)
 
이 글은 pxd Insights에서도 보실 수 있습니다.