Category
Cursor는 VS Code 기반에 코드베이스 인덱싱·인라인 편집·에이전트 모드를 통합한 AI 코드 에디터다. 한국 개발자에게는 기존 워크플로를 거의 바꾸지 않고 LLM을 코딩에 붙이는 가장 빠른 경로이며, .cursorrules로 팀 컨벤션을 모델에 주입하는 운영이 실효를 좌우한다.
둘 다 백엔드로 Claude Opus 4.x를 부를 수 있게 되면서 '어느 게 더 똑똑한가'는 무의미해졌고, 실제 차이는 과금 모델과 컨텍스트 운용에 있다. Cursor는 월 정액(Pro $20) 안에서 요청 풀을 쓰다 한도를 넘으면 usage-based로 넘어가는 구조라, 평소엔 예측 가능하지만 에이전트가 대형 코드베이스를 반복 grep·재읽기하면 빠르게 초과 과금으로 샌다. Claude Code는 Max 구독의 토큰 한도 안에서 돌거나 API 종량제로, 긴 자율 루프를 돌릴수록 한도/비용이 직접 노출된다. 운용 면에서 Cursor는 에디터 UI에 묶여 diff 리뷰·Tab·인덱싱이 강하고, Claude Code는 터미널·CI·서브에이전트 오케스트레이션에 강하다. 핵심 함정은 '한 도구로 다 한다'는 가정이다. 인터랙티브 편집은 Cursor, 무인 장기 작업은 Claude Code로 쪼개는 팀이 비용·품질 양쪽에서 유리하다.
Cursor의 Tab(예측 자동완성)은 다음 편집 위치까지 점프해 연쇄 수정을 제안하는 모델로, 변수명 일괄 변경이나 import 정리 같은 국소적·반복적 작업에서 압도적으로 빠르다. 문제는 이 강점이 그대로 함정이 되는 지점이다. 시그니처를 바꾸는 광역 리팩터링에서 Tab은 '바로 다음 한 곳'을 그럴듯하게 채워주지만 전체 호출부의 정합성을 보장하지 않아, 컴파일은 통과하는데 의미가 어긋난 코드가 분산 누적된다. 반면 Composer 에이전트 모드는 grep으로 호출부를 전수 수집하고 한 번에 일관 변경을 시도하지만 그만큼 토큰과 시간이 든다. 실무 결론은 도구 분할이다. 타입이 잡아주는 기계적 변경은 Tab, 동작 의미가 바뀌는 변경은 에이전트에 맡기고 diff를 통째로 리뷰한다. Tab을 리팩터링 엔진으로 착각하면 '초록불인데 틀린' 코드가 PR에 섞여 들어온다.
Cursor가 Composer를 단순 멀티파일 편집에서 '에이전트 모드' 중심으로 재편하면서, 레거시 `.cursorrules` 단일 파일 방식을 사실상 폐기하고 `.cursor/rules/*.mdc` 디렉터리 기반 규칙으로 일원화했다. 핵심은 규칙에 `globs` 메타데이터를 붙여 파일 경로별로 조건부 주입하는 구조다. 가령 `apps/api/**`에는 NestJS 컨벤션만, `apps/web/**`에는 React 규칙만 컨텍스트에 들어간다. 전역 .cursorrules는 프로젝트가 커질수록 모든 요청에 무관한 규칙까지 토큰으로 밀어넣어 비용과 노이즈를 동시에 키웠는데, mdc의 `alwaysApply: false` + glob 매칭이 이 문제를 정면으로 친다. 단 마이그레이션은 자동이 아니라, 기존 한 덩어리 규칙을 도메인별로 쪼개 globs를 손으로 달아야 효과가 난다. 안 쪼개면 그냥 alwaysApply:true 한 장으로 남아 예전과 똑같다.