Claude Code와 함께한 한 달: ChatGPT와는 정말로 다릅니다
요약
Claude Code를 실제 개발 워크플로우에 적용한 한 달간의 경험을 공유합니다. 단순한 채팅 인터페이스를 넘어 터미널에서 직접 파일을 편집하고 테스트를 실행하며 업무를 수행하는 차별점을 강조합니다.
핵심 포인트
- 터미널 기반의 직접적인 파일 편집 및 테스트 실행 능력
- Node.js/PostgreSQL 프로젝트 구축 시 개발 시간 대폭 단축
- 코드 리팩터링 중 SQL 인젝션과 같은 보안 취약점 발견
- 리포지토리 제한 및 대규모 모노레포 처리 능력의 한계
제 친구는 독립 개발자입니다. 그는 프리랜서 일감을 맡기도 하고 개인 사이드 프로젝트를 진행하기도 합니다.
지난달 그는 일상적인 워크플로우를 Claude Code로 전환했습니다. 저는 몇 번 그의 옆에 앉아 지켜보았습니다. 제가 실제로 목격한 것을 공유해 보겠습니다.
먼저, 분명히 해둡시다: 이것은 ChatGPT가 아닙니다
많은 사람들이 Claude Code를 단순히 "터미널에 있는 ChatGPT"라고 가정합니다. 그것은 정확하지 않습니다.
ChatGPT를 사용할 때는 코드를 복사해서 넣으면 제안을 해주고, 그 결과를 다시 복사해서 가져온 뒤, 파일을 수동으로 편집해야 합니다. 그 과정은 금방 짜증스럽게 변합니다. 파일 세 개나 다섯 개를 수정하다 보면 키보드를 던져버리고 싶어질 것입니다.
Claude Code는 터미널에서 직접 실행됩니다. 파일을 읽고, 파일을 편집하고, 테스트를 실행하고, git diff를 확인하며, 심지어 커밋(commit)을 도와줄 수도 있습니다.
제 친구는 Claude Code가 스스로 npm test를 실행하고 에러 출력 결과에 따라 코드를 수정하는 것을 처음 보았을 때, 잠시 멍하니 앉아 있었다고 말했습니다. 이것은 채팅이 아닙니다. 이것은 실제로 업무를 수행하는 것입니다.
가격(Pricing)
Claude Code Pro는 월 20달러부터 시작하며, 이것이 구독 티어(subscription tier)입니다. API 종량제(pay-as-you-go) 방식을 사용하면 비용은 사용량에 따라 늘어납니다. 그는 정확한 지출액을 추적하지는 않았지만, "주니어 엔지니어를 고용하는 것보다 훨씬 저렴하다"라고 말합니다.
제 친구가 실제로 구축한 것
그는 지역 레스토랑 브랜드를 위한 예약 시스템의 백엔드(backend)를 구축하는 작은 프로젝트를 맡았습니다. 기술 스택(Tech stack)은 Node.js와 PostgreSQL이었으며, 중간 정도의 복잡도를 가졌습니다.
그의 접근 방식은 다음과 같습니다: 먼저 Claude Code가 프로젝트의 스캐폴딩(scaffold)을 수행하고, 데이터베이스 스키마(database schema)와 기본적인 API 라우트(routes)를 정의하게 합니다. 그런 다음 테스트 케이스를 작성하고, 실행하고, 실패 결과에 따라 반복(iterate)하도록 합니다.
그는 백엔드를 제로 상태에서 작동하는 기본 흐름까지 만드는 데 약 이틀이 걸렸다고 말했습니다. 예전 방식대로 직접 손으로 작성했다면 4~5일 정도 걸렸을 것이라고 추정했습니다.
한 가지 세부 사항이 기억에 남습니다. 그는 Claude Code에게 지저분한 미들웨어(middleware) 파일을 리팩터링(refactor)해달라고 요청했습니다. Claude Code는 단순히 코드를 정리했을 뿐만 아니라, 그 자신도 미처 알아차리지 못했던 잠재적인 SQL 인젝션(SQL injection) 위험을 찾아내어 알려주었습니다.
단점 또한 실재합니다
첫 번째 문제: 현재 리포지토리(repository) 내에서만 작동하며, 프로젝트 간에는 작동할 수 없습니다.
때때로 그는 다른 프로젝트에 작성된 유틸리티 함수(utility function)를 참조해야 할 때가 있는데, 이때 직접 수동으로 복사해 와야 합니다. Claude Code는 스스로 다른 프로젝트에 접근할 수 없습니다.
두 번째 문제: 제한된 컨텍스트(context).
프로젝트에 파일이 많아지면, 이전에 변경했던 로직을 때때로 "망각"하여 작업이 반복되거나 편집 내용이 충돌하는 일이 발생합니다. 그는 주기적으로 현재 상태를 다시 스캔하도록 시키는 습관을 갖게 되었습니다.
세 번째 문제이자 가장 큰 문제: 복잡한 모노레포(monorepo)를 잘 처리하지 못합니다.
그의 스튜디오에 있는 또 다른 프로젝트는 십여 개의 상호 의존적인 패키지(package)로 구성된 대규모 모노레포입니다. 그는 그곳에서 Claude Code를 사용해 보았지만, 결과는 좋지 않았습니다. 계속해서 잘못된 위치를 편집하거나 패키지 간의 의존성(dependencies)을 놓쳤습니다. 그런 종류의 작업에서는 결국 다시 수동으로 처리하는 방식으로 돌아가게 되었습니다.
원격 서버 작업 또한 훌륭하지 않습니다. 운영 환경(production)의 문제를 디버깅하기 위해 서버에 SSH로 접속해야 할 때, Claude Code는 주로 로컬 리포지토리(local repository) 작업에 맞춰 설계되었기 때문에 큰 도움이 되지 않습니다.
Cursor와의 비교
그들은 둘 다 Cursor를 사용해 보았습니다. 차이점은 매우 명확합니다.
Cursor는 IDE(통합 개발 환경)입니다. 커서가 실시간으로 움직이며 코드가 눈앞에서 한 줄씩 바뀌는 것을 지켜볼 수 있습니다. 면밀히 관찰해야 하는 세밀한 작업에 좋습니다.
Claude Code는 CLI(명령줄 인터페이스)입니다. 작업을 맡겨두면 스스로 실행한 뒤 완료되면 결과를 알려줍니다. "커피 한 잔 마시고 돌아와서 어떻게 됐는지 확인해야지"라고 생각할 만한 종류의 작업에 적합합니다.
그의 현재 습관: 피드백이 즉각적이기 때문에 작은 수정이나 조정은 Cursor를 통해 진행합니다. 더 큰 기능 구현이나 반복적인 리팩터링(refactoring) 작업은 Claude Code에 맡깁니다.
저는 Cursor의 팀 협업 기능을 직접 사용해 보지는 않았지만, 팀 플랜을 통해 설정을 공유할 수 있다고 들었습니다. 우리 중 누구도 이를 심도 있게 테스트해 보지는 않았습니다.
대상 사용자
백엔드 로직(backend logic)을 작성하거나, 테스트를 실행하거나, 리팩터링(refactor)을 수행하는 데 많은 시간을 소비한다면, Claude Code는 실질적인 시간을 절약해 줄 수 있습니다.
만약 주로 거대한 모노레포 (monorepo) 환경에서 작업하거나, 원격으로 운영 서버 (production servers)를 자주 디버깅해야 한다면 큰 도움이 되지 않을 수도 있습니다.
제 친구의 소감은 이렇습니다: 코드를 작성하는 리듬을 바꾸어 놓았지만, 수동 작업(manual work)을 완전히 대체하지는 못했다는 것입니다.
저는 매일 자동으로 업데이트되는 AI 도구 디렉토리인 saas.pet (https://saas.pet)을 운영하고 있습니다.
다음 글에서는 Cursor에 대해 심층적으로 살펴보고, 이것이 실제로 대규모 프로젝트에서도 성능을 유지하는지 다뤄보겠습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기