얼마 전까지만 해도 저는 AI 코딩 도구에 대해 반신반의했어요. "거품 아닌가?"라고 생각했거든요. 그런데 Claude Code를 쓰면서 생각이 완전히 바뀌었습니다. 이제는 코드를 '쓰는' 게 아니라 AI와 '대화하며 만드는' 시대가 왔더라고요.
오늘은 제가 Github Copilot부터 시작해서 Cursor를 거쳐 Claude Code까지 오면서 경험한 것들을 솔직하게 털어놓아 볼게요.
나의 AI 코딩 도구 방랑기
Github Copilot: 첫사랑의 설렘과 아쉬움
Github Copilot은 제 첫 AI 코딩 도구였어요. ChatGPT가 세상을 떠들썩하게 만들기 전부터 썼는데, 처음엔 정말 신세계였죠. 제가 쓰려던 코드를 탭 한 번에 척척 완성해주니까요. "와, 이게 미래구나!" 싶었습니다.
근데 시간이 지나니까 좀 아쉬워지더라고요. Preview 버전 때나 지금이나 별로 달라진 게 없는 느낌? Chat이나 Agent 기능을 추가했다고 하는데, 솔직히 써본 적이 거의 없어요. 결국 자동완성만 쓰게 되더라고요. 마치 스마트폰에 수많은 앱이 있지만 결국 카톡, 유튜브만 쓰는 것처럼요.
Cursor: "아, AI 코딩이 진짜구나!"
Cursor를 처음 써봤을 때를 아직도 기억해요. 저는 Jetbrains IDE에 익숙해서 VS Code 기반으로 갈아타기가 좀 꺼려졌거든요. 근데 써보니까... 와, 이건 좀 다르더라고요.
제일 충격적이었던 건 파일 변경을 미리 보고 "이거 맘에 안 들어!"하면 바로 거절할 수 있다는 점이었어요. 심지어 이미 Accept해서 파일이 다 바뀐 다음에도 "아 잠깐, 이전 거가 나았네?"하고 Restore하면 원래대로 돌아가요. 이거 진짜 개발자 마음을 잘 아는 기능이더라고요.
물론 Cursor도 아쉬운 점이 있었어요. 가끔 너무 욕심을 부려서 한 번에 코드를 왕창 바꾸려고 할 때가 있거든요. 그럴 때는 "어... 이거 다 바꿔도 되나?" 하면서 머릿속이 복잡해져요. 그리고 요즘은 뭔가 성능이 예전만 못한 느낌도 들고요. (Cursor 측에서 비용 때문에 모델 성능을 제한하는 건 아닐까 의심 중...)
Claude Code: 게임 체인저의 등장
그리고 드디어 Claude Code를 만났습니다. 처음엔 "또 새로운 도구야? 이제 그만..."이라고 생각했는데, 써보니까 이건 차원이 달랐어요.
설치가 이렇게 쉬워도 되나?
보통 새로운 개발 도구를 도입하면 뭐가 제일 짜증나요? 맞아요, 설정이죠. config 파일 만들고, 규칙 정하고, 이것저것 커스터마이징하고... 하루가 다 가는 경우도 있잖아요.
Claude Code는 달랐어요:
npm install -g @anthropic-ai/claude-code
끝. 진짜 끝이에요.
그리고 기존 프로젝트에서 쓰려면? 프로젝트 폴더 가서:
/init
이거 하나면 알아서 프로젝트 구조를 쭉 스캔하고 "준비됐어요!"라고 해요. 처음엔 "에이, 설마 이게 다야?"했는데 진짜 그게 다더라고요.
이때 느꼈어요. "아, Anthropic이 개발자 경험(DX)을 진짜 신경 썼구나."
도구 선택 스트레스? 그게 뭔가요?
MCP(Model Context Protocol) 아시나요? Claude가 외부 도구를 쓸 수 있게 해주는 건데, 문제는 뭘 써야 할지 고민이 된다는 거예요. 웹 검색은 어떤 MCP가 좋을까, 파일 시스템은 뭘 써야 하나...
Claude Code는 이미 기본으로 다 들어있어요. Web search, fetch 같은 필수 기능들이 내장되어 있어서 고민할 필요가 없더라고요.
저는 딱 두 개만 추가로 쓰고 있어요:
- puppeteer (웹 자동화할 때)
- context7 (문서 검색할 때)
예전엔 sequential-thinking도 썼는데, Claude 4 나오고 나서는 그것도 필요 없어졌어요. 오히려 너무 많은 도구를 쓰면 복잡해지더라고요.
/compact - 내가 제일 사랑하는 명령어
LLM으로 코딩하다 보면 제일 무서운 게 뭔지 아세요? '환각'이에요. 대화가 길어지면 AI가 헷갈려하기 시작하거든요. "아까 그 함수 이름이 뭐였더라..." 하면서 없는 함수를 만들어내기도 하고요.
그래서 저는 항상 중간중간에 "야, 지금까지 뭐 했는지 정리 좀 해봐"라고 했어요. 근데 Claude Code는 이미 이걸 알고 있었나 봐요. /compact
라는 명령어를 만들어놨더라고요.
제가 실제로 쓰는 방식을 보여드릴게요:
버그 잡을 때:
나: "~~ 에서 ~~와 같은 에러가 나는데 원인 좀 찾아줘"
Claude: (엄청 긴 분석...)
나: /compact
Claude: (핵심만 정리)
나: "그럼 두 번째 방법으로 고쳐줘"
이렇게 하면 토큰도 아끼고, AI도 헷갈리지 않고, 저도 편하고. 일석삼조예요!
코드 설명은 진짜 잘해요
Claude Code의 숨은 매력 중 하나가 코드 설명이에요. Anthropic 공식 유튜브에서도 "처음엔 코드에 대해 질문해보면서 익숙해져라"고 하더라고요. 해봤더니 진짜 잘하더라고요.
예를 들어 새 프로젝트에 투입됐을 때:
- "이 프로젝트 전체 구조 좀 설명해줘"
- "이 함수가 대체 뭘 하는 거야?"
- "이 API 호출하면 내부적으로 어떤 일이 일어나?"
이런 질문에 대한 답변이 정말 체계적이더라고요. 단순히 "이 함수는 이거 해요"가 아니라, 전체적인 맥락과 설계 의도까지 설명해줍니다. 새로운 코드베이스를 빠르게 파악해야 할 때 특히 유용했어요.
현재 나의 셋업: Cursor + Claude Code
지금 저는 Cursor와 Claude Code를 둘 다 쓰고 있어요. 각자 잘하는 게 다르더라고요.
Claude Code 담당:
- "이 기능 전체적으로 리팩토링 좀 해줘" 같은 큰 작업
- "새로운 API 엔드포인트 만들어줘" 같은 생성 작업
- "이 코드가 뭘 하는지 설명해줘" 같은 분석 작업
Cursor 담당:
- 변수명 바꾸기 같은 작은 수정
- 내가 타이핑하는 게 더 빠른 간단한 작업
- CSS 조정같이 바로바로 결과를 봐야 하는 작업
이렇게 쓰니까 진짜 효율적이더라고요. 마치 요리할 때 칼이랑 가위를 상황에 맞게 쓰는 것처럼요.
솔직히 말하는 단점들
Claude Code가 완벽한 건 아니에요. 제일 아쉬운 건 Cursor의 checkpoint 기능이 없다는 거예요. Cursor는 뭔가 잘못되면 바로 이전 상태로 돌아갈 수 있는데, Claude Code는 git으로 수동 관리해야 해요. 좀 귀찮죠.
그리고 채팅 찾기도 좀 불편해요. Resume 할 때 "어... 내가 찾는 게 이거였나?" 하면서 여러 개 열어봐야 할 때가 있어요. AI가 요약한 제목이 비슷비슷해서 그런 것 같아요.
아, 그리고 비용. 네, 비싸요. 처음엔 API로 쓰다가 결국 월 200달러 Max 플랜을 결제했습니다. 비싸다고 생각할 수 있지만, 실제로 써보니 그만한 가치가 있더라고요. 생산성 향상과 코드 품질 개선을 생각하면 오히려 합리적인 투자라고 판단했어요.
💡 팁: 현재 Claude Max 4개월 이용권을 증정하는 이벤트가 진행 중이에요! 혹시라도 Claude 사용에 관심 있으신 분들은 이 링크를 통해 확인해보세요.
Agentic Coding은 정말 미래다
Claude Code를 쓰면서 확신하게 된 게 있어요. Agentic Coding은 확실히 미래입니다.
물론 모든 걸 AI에게 맡기는 'Vibe Coding'은 바람직하지 않다고 생각해요. "이거 대충 만들어줘"하고 결과물도 제대로 확인 안 하는 건 위험하죠. 하지만 Claude Code로 경험한 Agentic Coding은 달랐습니다.
핵심은 '협업'이에요. 이제 개발자에게는 새로운 능력이 필요해졌습니다:
- 판단력: 이 작업은 내가 직접 할까, AI에게 맡길까?
- 지시 능력: AI에게 어떻게 명확하게 요구사항을 전달할까?
- 검증 능력: AI가 생성한 코드의 품질을 어떻게 평가할까?
예를 들어, 복잡한 비즈니스 로직은 제가 직접 설계하고, 반복적인 CRUD 작업은 AI에게 맡깁니다. 보안이 중요한 부분은 제가 직접 작성하고, 테스트 코드 생성은 AI와 함께 합니다.
이게 막연한 이야기가 아니에요. 실제로 Claude Code와 함께 프로젝트를 만들어봤거든요. 이더리움 개발자들이 개발하면서 유용하게 쓸 수 있는 웹 도구인데, 결과물이 꽤 만족스럽게 나왔어요(아직 기능은 두개밖에 없지만). 궁금하신 분들은 warpdev/eth-toolkit에서 직접 구경해보세요. 재밌는 건, README에도 적어놨지만 AI로 기여하는 것도, AI로 버그 리포팅하는 것도 모두 환영한다는 거예요. 어차피 저도 AI랑 만들었는데, 뭐가 문제겠어요? 😄
이건 마치 훌륭한 팀원과 페어 프로그래밍하는 느낌이에요. 서로의 강점을 살려서 더 나은 결과물을 만들어내는 거죠. AI는 빠르고 정확한 코드 생성을, 저는 창의적인 문제 해결과 전체적인 방향 설정을 담당합니다.
앞으로 뛰어난 개발자는 "모든 코드를 직접 짜는 사람"이 아니라 "AI와 효과적으로 협업하는 사람"이 될 거라고 봅니다.