GN⁺: 매일 Cursor를 사용중 - 내가 문제를 피하는 방법
(nickcraux.com/blog)- AI 코딩 도구에 대한 과장된 주장이 존재함
- SaaS를 3일 만에 만들 수 있다는 주장 vs. 완전히 쓸모없다는 주장 → 둘 다 과장되었을 가능성 높음
- Cursor는 코딩 방식을 완전히 바꿨지만, 여전히 문제점이 있음
- AI 코딩 도구에 대한 회의적 입장에서 얻은 경험을 공유하고자 함
CursorRules 설정하기
-
.cursorrules
파일이 없으면 시간 낭비 가능성 높음- 현재는
.mdc
파일로 변경됨 →CMD + Shift + P
→New Cursor Rule
로 생성 가능 - 설정 완료까지 약 10분 소요 → 몇 시간 절약 가능
- 현재는
-
기술 스택에 맞는 규칙 설정하기
- Cursor Rules 모음에서 최적의 규칙 선택
- 최소한의 규칙으로 시작하고 점진적으로 확장하기 → 너무 많은 규칙은 성능 저하 가능성
-
반복되는 문제는 규칙에 추가해 해결
- 반복 발생 문제는 규칙에 추가해 AI가 자동 수정하도록 설정
- 예: JS에서
nullish coalescing (??)
문제 → 규칙에 추가 후 해결
-
프로젝트 정보 및 코드 구조 설명 추가
- 파일 상단에 프로젝트 설명 및 코드 구조 명시
- 특정 파일 구조 및 코드 작성 방식이 있다면 명확히 기재
최상의 출력 얻기
- 출력 품질 개선의 핵심은 컨텍스트 제공
- 필요한 함수나 유사한 절차가 있다면 AI에 미리 알려주기
- 정확한 함수명을 알려줄 필요는 없음 → 코딩 작업을 더 쉽게 만드는 것이 목적
-
예제 제공하기
- "see @schedule.ts @utils.ts @ScheduleHeader.tsx" 같은 힌트 제공
- 비슷한 방식으로 작성된 코드 참조 가능
-
AI는 무작위 코드에 훈련됨
- 프로젝트별 특정 요구사항은 명확하게 전달해야 성능 개선 가능
빠른 팁 모음
- Composer(현재는 Agent로 변경됨) → 단순하고 영향이 적은 변경 작업에 적합
-
Chat(Ask) → 대부분의 다른 작업에 적합
- 수동으로 변경 사항 적용 → 코드 이해 및 수정이 더 정확해짐
-
코드 맹신 금지
- AI가 생성한 코드 검토 및 수정 필요
-
핵심 코드 주기적으로 수동 리팩토링
- 코드 갭 발견 및 수정 → 이후 AI 코드 품질 개선 가능
- "이게 최선의 방법인가?" 또는 "다른 방법을 고려했는가?" 질문하기
- 수동으로 해결이 더 나은 경우 파악하기
-
버그 수정 시 주의
- 사소한 버그 외에는 AI가 수정에 어려움을 겪음
- 코드에 큰 손상을 줄 가능성 존재
-
중요한 작업 시 AI에게 먼저 질문 유도
- "완전히 이해했는가?" 질문 후 코드 작성 시작
결론
-
AI 코딩의 장점
- 뇌가 피곤할 때도 코드 작성 가능
- 보통은 해결하기 어려운 문제도 해결 가능
-
AI 코딩의 한계
- "맞아, 이제 문제를 알겠어"라고 하면서 결국 상황이 더 나빠질 수 있음
- AI를 잘 활용하는 방법을 배우는 것이 중요함 → AI는 사라지지 않을 것이므로 도구로 잘 활용해야 함
- 주니어 개발자에게 주의 필요 : AI 사용으로 인해 코딩 실력이 약화될 위험이 있음
- AI 성능은 코딩 주제와 기술 스택에 따라 크게 달라짐
→ AI 성능이 계속 나쁘다면 본인의 잘못이 아닐 가능성 큼
주니어 개발자들이 AI 사용으로 실력 약화된다는 주장이 정말 많이 봤는데, 진짜 그럴지 관련된 글이 있으면 재밌을 것 같네요.
좋은글 잘읽었습니다 :)
Cursor 다 좋은데... 여러 장비에서 작업하는 저 같은 경우는
설정 동기화 기능이 없어서 아쉬웠어요
Extension이나 설정 파일 자체를 네트워크 네트워크 드라이브에서
심볼릭 해서 동기화 하는 꼼수는 있다고 하는데
VScode에서는 딸깍 으로 동기화하다 그런 과정 거치려고하니 귀찮기도 하구요
Hacker News 의견
-
회사의 엔지니어링 리더십이 Cursor를 강하게 밀고 있음. 작은 티켓을 처리하고 제품을 개선하는 데는 좋지만, 무거운 작업에는 적합하지 않음
- Cursor에 의존하면서 주니어 엔지니어들의 추론 및 코딩 능력이 약화되고 있음
- 개인적으로, Cursor가 어떤 파일을 컨텍스트에 추가할지 결정하고 그 크기에 따라 요금을 부과하는 이해 상충에 대해 큰 우려가 있음
- 많은 제품과 마찬가지로 처음에는 저렴하지만, 의존하게 되면 나중에는 비싸지게 됨
-
Cursor의 현재 비즈니스 모델은 사용자와 회사의 재정적 안녕 사이에 근본적인 갈등을 초래함
- LLM 제공자들이 추론 시간 컴퓨팅을 통해 확장하려고 하면서 이러한 문제들이 나타나고 있음
- Cursor는 특히 컨텍스트 가지치기를 통해 추론 비용을 줄이려고 노력하고 있음
- 파일을 대화에 "첨부"하면, Cursor는 더 이상 그 파일의 코드를 프롬프트에 넣지 않음
- 대신, 모델이 충분한 정보를 얻었다고 느낄 때까지 파일을 열고 코드의 일부를 읽는 함수 호출을 실행함
- 그러나 초기 프롬프트에만 추론을 제한하면, 모델은 첨부된 파일에 접근하지 않고 프롬프트 자체에서만 추론하게 됨
- 추론 후에 더 많은 컨텍스트를 가져오기 위해 함수 호출을 실행하는 것은 "생각"의 의미를 완전히 무색하게 만듦
- 이로 인해 모델이 일관성 없는 계획과 추측성 수정을 생성하게 되어 Claude의 이상한 과도한 수정 행동을 설명함
- Cursor는 서버 부하를 줄이기 위해 o3-mini와 Claude 3.7의 추론 노력을 최소화하려는 모든 인센티브를 가지고 있음
-
Cursor는 가장 위대한 SAAS 성장 이야기 중 하나로 칭송받고 있지만, $20/월 무제한 이용 비즈니스 모델은 그들을 나쁜 상황에 놓이게 함
-
모든 사용자는 자신의 언어/스택을 고려해야 함. Cursor가 모든 언어에 동일하게 작동하지 않을 가능성이 높음
- Next.js/Typescript/Solidity 모노레포에서 여러 앱과 패키지를 작업 중이며, 거의 모든 것을 처리할 수 있음
- 한 달 정도 사용했으며, 더 많은 것을 얻을 수 있을 것 같음
-
Cursor를 한 달 동안 사용하다가 인터넷이 끊긴 날, 코드를 제대로 작성하는 방법을 잊기 시작했음을 깨달음
-
이러한 도구의 UX는 주로 사용자가 하려는 작업의 완전한 컨텍스트를 구성하는 능력에 의해 제한됨
- 최근에 aider를 사용해봤는데, 꽤 좌절스러운 경험이었음
- 디렉토리에 있는 파일을 "추가"하라고 계속 요구했지만, 스스로 추가할 수 없었음
- 수동 파일 변경을 인식하지 못하고, 깨진 코드로 커밋을 생성하는 등 문제가 있었음
- 모델 품질보다는 AI에 전체 컨텍스트를 제공하는 것이 더 중요해 보임
- 큰 컨텍스트 윈도우는 비용이 많이 들기 때문에 많은 도구들이 항상 절약하려고 함
- 장기적으로는 이러한 절약을 하지 않는 것이 더 가치가 있음
- 전체 프로젝트를 로드하면 질문당 2-3달러가 들 수 있지만, 비용이 20배 떨어지면 신경 쓰지 않을 것임
-
대형 모델은 수백만/수천만 토큰의 큰 컨텍스트 윈도우를 지원하며, 작은 자동차 가격과 비슷한 비용이 들고 많은 에너지를 사용함
- Nvidia는 GPU의 높은 마진으로 부유함. 시간이 지나면 가격이 하락할 것임
- 많은 것들이 빠르게 개선될 것이라고 낙관적임
-
Cursor는 프로토타이핑 및 MVP 개발에 유용하지만, 코드베이스가 커지면 어려움을 겪음
- 큰 파일이나 파일 수가 많아지면 컨텍스트 윈도우가 가득 차 일관성 문제가 발생함
- 수동으로 관련 파일이나 스니펫을 선택하면 더 나은 결과를 얻을 수 있지만, 그 시점에서는 웹 인터페이스를 사용하는 것과 크게 다르지 않음
-
다른 댓글 작성자들의 의견을 종합하면, Cursor 사용은 나쁜 생각이라고 느낌
- 폐쇄형 소스 SaaS로, 서비스 품질이 일일 변동할 수 있음
- .env 파일을 평문으로 전송하는 것을 막을 방법을 찾지 못함
-
"문제를 수동으로 해결할 때를 배우라"는 조언을 읽고 당황했음
- 투자자에게 "싸게 사고 비싸게 팔라"는 공허한 조언과 같음
-
Cursor를 몇 번 사용해봤지만, 항상 같은 불만이 있음
- 왜 VS Code를 포크했는지, Copilot처럼 확장 기능으로 만들 수 있었을 텐데
- 일부 VSCode 확장이 작동하지 않고, 모든 설정을 다시 해야 하며, 작업 공간을 추가해야 함
- Copilot과 비교했을 때 얻는 이점이 크지 않음