최근 회사에서 LMS 리뉴얼 프로젝트를 진행하면서 Claude Code를 적극적으로 활용하게 되었습니다.
원래부터 바이브 코딩에 관심이 많았고, AI가 웹 개발의 상당 부분을 대신해 줄 수 있을 것이라는 기대를 가지고 있었습니다. 입사 후 처음에는 Cursor를 사용했고, 이후 Claude Code를 본격적으로 활용하게 되었습니다.
이번 프로젝트에서는 단순히 코드 생성만 맡긴 것이 아니라 프로젝트 설계, DB 구성, UI 구현, 백엔드 로직 작성까지 대부분의 과정을 Claude Code와 함께 진행했습니다.
프로젝트를 진행하면서 느낀 점은 생각보다 많은 것을 할 수 있었지만, 생각보다 개발자의 역할도 여전히 중요하다는 것이었습니다.
처음에는 AI에게 모든 것을 맡기려고 했습니다
처음 Claude Code를 사용할 때는 어떤 프롬프트를 작성해야 하는지조차 감이 오지 않았습니다.
인터넷에서 추천하는 프롬프트 양식을 찾아본 뒤 다음과 같은 방식으로 요청했습니다.
- 사용할 기술 스택 설명
- 프로젝트 목적 설명
- LMS 구조 설계 요청
- 기능 구현 요청
당시에는 AI가 프로젝트 전체를 설계하고 구현해 줄 것이라고 생각했습니다.
하지만 결과는 기대와 달랐습니다.
생각보다 설계가 부족했고, 프로젝트 규모가 커질수록 Claude Code의 실수도 늘어났습니다. 결국 많은 부분을 직접 수정하거나 방향을 다시 잡아야 했습니다.
오히려 AI를 관리하는 시간이 늘어나면서 작업 속도가 기대보다 느려지는 경우도 있었습니다.
프로젝트 전체를 맡기기보다 단계별 접근이 효과적이었습니다
시행착오 끝에 찾은 방법은 모든 것을 한 번에 맡기지 않는 것이었습니다.
대신 Claude Code의 Plan 모드를 적극적으로 활용하기 시작했습니다.
제가 실제로 사용했던 순서는 다음과 같습니다.
- 프로젝트 개요, 사용자 역할, 요구사항을 Markdown 문서로 정리
- 해당 문서를 기반으로 DB 설계 문서 작성 요청
- 설계 문서를 검토하며 부족한 부분 보완
- DB 구현
- API 설계 문서 작성 요청
- API 설계 검토 및 수정
- Pinterest, 기존 LMS 사이트, Readdy AI 등을 참고하여 UI 설계
- 프론트엔드 화면 구성
- 라우팅 설계
- API 연동
이 과정 이후 Claude Code가 프로젝트를 이해하는 수준 자체가 달라졌습니다.
Plan 모드 사용 전과 후의 차이
Plan 모드를 사용하기 전에는 구현 중심으로 작업이 진행되었습니다.
예를 들어 “회원 관리 기능 만들어줘”, “강의 등록 기능 구현해줘” 와 같은 요청을 바로 전달했습니다.
장점은 분명했습니다.
프로젝트 구조 생성, CRUD 작성, 기본 페이지 생성 속도가 매우 빨랐습니다.
하지만 설계가 충분히 이루어지지 않은 상태에서 구현이 진행되다 보니 프로젝트 규모가 커질수록 구조가 복잡해졌고, 일부 기능은 다시 수정해야 했습니다.
반면 Plan 모드를 사용한 이후에는 설계 중심으로 작업이 진행되었습니다.
프로젝트 개요, 사용자 역할, 핵심 기능을 먼저 정의하고 AI가 이를 충분히 이해하도록 만든 뒤 구현을 시작했습니다.
그 결과 다음과 같은 차이를 체감할 수 있었습니다.
- 프로젝트 구조가 더 명확해짐
- DB 설계 품질 향상
- API 설계 정확도 향상
- Claude Code의 이해도 향상
- 기능 추가 시 수정 비용 감소
물론 단점도 있었습니다.
설계 문서를 작성하고 검토하는 시간이 추가되기 때문에 초기 개발 속도는 느려졌습니다.
하지만 프로젝트가 커질수록 수정 횟수가 줄어들었고, 결과적으로는 더 좋은 품질의 코드가 생성되었습니다.
개인적으로는 토이 프로젝트라면 일반 모드만으로도 충분하지만, 실제 서비스나 규모가 있는 프로젝트라면 Plan 모드 사용을 추천합니다.
Claude Code가 잘하는 것
프로젝트를 진행하며 Claude Code가 특히 강하다고 느낀 부분은 반복 작업이었습니다.
예를 들어
- 프로젝트 구조 생성
- CRUD 구현
- DTO 생성
- 기본 서비스 로직 작성
- 페이지 골격 생성
과 같은 작업은 매우 빠르게 수행했습니다.
직접 구현했다면 몇 시간 이상 걸렸을 작업을 수십 분 만에 끝내는 경우도 많았습니다.
Claude Code가 어려워하는 것
반대로 프로젝트의 방향을 결정하는 일은 여전히 개발자의 역할이 필요했습니다.
예를 들어
- 사용자 권한 구조 정의
- 서비스 정책 결정
- 예외 처리 기준 수립
- 데이터 흐름 설계
와 같은 부분은 AI가 스스로 결정하기 어려웠습니다.
특히 초기 설계가 잘못되면 이후 생성되는 코드도 함께 잘못된 방향으로 흘러가는 경우가 많았습니다.
결국 AI가 코드를 생성하더라도 프로젝트의 방향을 잡는 것은 개발자의 몫이라는 점을 다시 느끼게 되었습니다.
✔️ 바이브 코딩을 하며 얻은 팁
1. 첫 설계가 가장 중요합니다
많은 사람들이 Claude Code에게 바로 구현을 요청합니다.
하지만 실제 프로젝트에서는 구현보다 설계가 먼저입니다.
프로젝트 개요, 사용자 유형, 사용자 역할, 핵심 기능을 먼저 정의해야 합니다.
2. Claude Code에게 이해한 내용을 설명하게 하세요
제가 가장 효과를 봤던 방법입니다.
설계 문서를 전달한 뒤 다음과 같이 요청했습니다.
“내가 전달한 내용을 바탕으로 프로젝트를 어떻게 이해했는지 설명하고, 모호한 부분은 질문해 주세요.”
이 과정을 거치면 AI가 잘못 이해한 부분을 초기에 발견할 수 있었고, 이후 구현 정확도도 눈에 띄게 향상되었습니다.
3. AI에게 모든 것을 맡기지 마세요
“LMS를 만들어줘”
와 같은 요청은 좋은 결과를 만들기 어렵습니다.
대신 다음 내용을 구체적으로 제공하는 것이 좋습니다.
- 프로젝트 개요
- 사용자 유형
- 사용자 역할
- 핵심 기능
- 기술 스택
AI는 프로젝트를 대신 설계해 주는 존재가 아니라, 개발자의 생산성을 높여주는 도구에 가깝습니다.
마무리
이번 LMS 프로젝트를 진행하며 Claude Code는 매우 강력한 도구라는 것을 느꼈습니다.
하지만 AI가 개발자를 대체하는 시대가 왔다기보다는, 개발자가 더 빠르고 효율적으로 개발할 수 있도록 도와주는 시대가 왔다고 생각합니다.
좋은 결과물을 만들기 위해서는 AI를 잘 사용하는 능력뿐만 아니라 프로젝트를 설계하고 검증하는 능력도 함께 필요합니다.
Claude Code를 처음 사용하는 분이라면 구현부터 시작하기보다 설계부터 시작해 보시길 추천드립니다.
