Claude Code Plan Mode로 복잡한 리팩토링 작업 단계별 분해 및 실행 추적하기

Claude Code Plan Mode란?

Claude Code의 Plan Mode는 복잡한 코딩 작업을 체계적으로 분해하고, 각 단계의 실행 상태를 추적할 수 있는 강력한 기능입니다. 대규모 리팩토링처럼 여러 파일과 모듈에 걸친 변경 작업을 수행할 때, Plan Mode를 활용하면 작업의 전체 구조를 먼저 파악하고 승인한 후 단계별로 안전하게 실행할 수 있습니다.

사전 준비

1단계: Claude Code 설치

Claude Code는 Node.js 18 이상이 필요합니다. 터미널에서 다음 명령어로 설치합니다. npm install -g @anthropic-ai/claude-code

2단계: 인증 설정

# API 키 설정
export ANTHROPIC_API_KEY=YOUR_API_KEY

# 설치 확인
claude --version

3단계: 프로젝트 디렉토리에서 실행

cd /your-project-directory
claude

Plan Mode 활성화 및 사용법

4단계: Plan Mode 진입

Claude Code 세션 내에서 Shift+Tab 키를 눌러 모드를 전환합니다. 모드는 세 가지가 있습니다.

모드설명사용 시점
**Normal**계획 수립 + 코드 실행일반 작업
**Plan**계획만 수립 (코드 변경 없음)복잡한 작업 분석 시
**Auto**자동 승인으로 실행신뢰할 수 있는 반복 작업
Plan Mode로 전환하면 프롬프트 표시가 [plan]으로 변경됩니다.

5단계: 리팩토링 계획 요청

Plan Mode에서 복잡한 리팩토링 작업을 설명합니다. [plan] > 이 프로젝트의 UserService 클래스를 리팩토링해줘. 인증 로직을 AuthService로 분리하고, 데이터 접근 로직을 UserRepository 패턴으로 변경하고, 기존 테스트가 모두 통과하도록 해줘.

Claude Code는 코드를 수정하지 않고 다음과 같은 구조화된 계획을 생성합니다. 📋 리팩토링 계획:

  1. [ ] UserService 현재 구조 분석

    • 의존성 매핑
    • 인증 관련 메서드 식별
  2. [ ] AuthService 클래스 생성

    • src/services/AuthService.ts 작성
    • login(), logout(), validateToken() 이동
  3. [ ] UserRepository 인터페이스 정의

    • src/repositories/UserRepository.ts 작성
    • findById(), create(), update(), delete() 정의
  4. [ ] UserService에서 분리된 로직 제거 및 의존성 주입

    • constructor에 AuthService, UserRepository 주입
  5. [ ] 기존 테스트 업데이트 및 신규 테스트 추가

  6. [ ] 전체 테스트 스위트 실행 및 검증

6단계: 계획 검토 및 수정

계획을 검토한 후, 수정이 필요하면 Plan Mode 상태에서 피드백을 제공합니다. [plan] > 2단계에서 AuthService에 refreshToken() 메서드도 추가해줘. 그리고 4단계 전에 기존 통합 테스트 백업 단계를 넣어줘.

Claude는 피드백을 반영하여 계획을 업데이트합니다.

7단계: 계획 승인 후 실행

Shift+Tab으로 Normal 모드로 전환한 뒤, 승인된 계획의 실행을 요청합니다. > 위 계획대로 리팩토링을 진행해줘. 각 단계마다 확인을 받고 넘어가줘.

Claude Code는 각 단계를 순차적으로 실행하며, 파일 변경 전에 승인을 요청합니다.

8단계: 실행 추적 및 검증

각 단계 완료 후 Claude Code는 진행 상태를 업데이트합니다. 📋 리팩토링 진행 상황:

  1. [✅] UserService 현재 구조 분석
  2. [✅] AuthService 클래스 생성
  3. [🔄] UserRepository 인터페이스 정의 (진행 중)
  4. [ ] UserService 리팩토링
  5. [ ] 테스트 업데이트
  6. [ ] 전체 검증

    각 단계에서 테스트를 실행하여 안전성을 확인합니다. > 현재까지 변경된 부분에 대해 테스트를 실행해줘.

실전 예제: 모놀리식 함수 분해

다음은 하나의 거대한 함수를 여러 모듈로 분해하는 실전 시나리오입니다. [plan] > src/utils/processOrder.ts의 processOrder 함수가 450줄입니다. 다음 기준으로 분해 계획을 세워줘: - 검증 로직 → OrderValidator - 가격 계산 → PricingEngine - 재고 확인 → InventoryChecker - 알림 발송 → NotificationDispatcher 각 모듈은 단일 책임 원칙을 따르고 단위 테스트 가능해야 합니다.

Claude Code는 파일별, 함수별로 상세한 이동 계획을 수립하며, 각 단계에서 어떤 코드가 어디로 이동하는지 명확하게 보여줍니다.

Pro Tips

  • CLAUDE.md 파일 활용: 프로젝트 루트에 CLAUDE.md 파일을 만들어 코딩 컨벤션과 아키텍처 규칙을 명시하면, Plan Mode가 이를 반영한 계획을 생성합니다.- 점진적 실행: 대규모 리팩토링은 한 번에 실행하지 말고, 계획의 각 단계를 개별 커밋으로 분리하세요. > 이 단계를 커밋해줘 명령으로 중간 저장이 가능합니다.- Auto 모드 주의: Shift+Tab으로 Auto 모드에 진입하면 모든 파일 변경이 자동 승인됩니다. 리팩토링 초기에는 Normal 모드를 유지하고, 반복적인 패턴 적용 시에만 Auto 모드를 사용하세요.- CLI 플래그 활용: claude —plan 플래그로 세션 시작 시 바로 Plan Mode로 진입할 수 있습니다.- 복잡도 기준: 3개 이상의 파일을 동시에 수정해야 하는 작업이라면 항상 Plan Mode를 먼저 사용하세요.

Troubleshooting

문제원인해결 방법
Plan Mode에서 코드가 직접 수정됨모드가 Normal로 되어 있음Shift+Tab으로 모드 확인. 프롬프트에 [plan] 표시 확인
계획이 너무 추상적임프롬프트가 구체적이지 않음파일 경로, 클래스명, 메서드명을 명시적으로 포함하여 요청
단계 실행 중 테스트 실패의존성 순서 문제계획의 실행 순서를 재조정하도록 요청. 인터페이스 → 구현 → 테스트 순서 권장
컨텍스트 윈도우 초과프로젝트가 너무 큼리팩토링 범위를 모듈 단위로 나누어 별도 세션에서 진행
ANTHROPIC_API_KEY 오류환경 변수 미설정export ANTHROPIC_API_KEY=YOUR_API_KEY 재실행
## 자주 묻는 질문 (FAQ)

Q1: Plan Mode에서 생성된 계획을 파일로 저장할 수 있나요?

네, Claude Code는 계획을 ~/.claude/plans/ 디렉토리에 자동으로 저장합니다. 세션이 종료된 후에도 다음 세션에서 이전 계획을 이어서 진행해줘라고 요청하면 저장된 계획을 불러와 이어서 실행할 수 있습니다. 또한, 계획 내용을 복사하여 프로젝트 문서로 관리하는 것도 좋은 방법입니다.

Q2: Plan Mode와 Normal Mode를 작업 중간에 자유롭게 전환할 수 있나요?

네, Shift+Tab 키로 언제든 모드를 전환할 수 있습니다. 실행 중 예상치 못한 문제가 발생하면 Plan Mode로 전환하여 나머지 계획을 수정한 후, 다시 Normal Mode로 돌아와 실행을 계속할 수 있습니다. 이 유연한 전환이 Plan Mode의 핵심 장점입니다.

Q3: 여러 사람이 동시에 같은 프로젝트에서 Plan Mode를 사용해도 되나요?

각 개발자는 독립적인 Claude Code 세션에서 작업하므로, 동시 사용이 가능합니다. 다만 동일한 파일을 수정하는 계획이 있다면 Git 브랜치를 분리하여 작업하고, 나중에 병합하는 방식을 권장합니다. Plan Mode에서 먼저 계획을 공유하고 작업 범위를 조율하면 충돌을 최소화할 수 있습니다.

다른 도구 둘러보기

Antigravity AI 콘텐츠 파이프라인 자동화 가이드: Google Docs에서 WordPress 퍼블리싱까지 가이드 Bolt.new 사례 연구: 마케팅 에이전시가 하루 만에 클라이언트 대시보드 5개 구축 사례 Bolt.new 베스트 프랙티스: 자연어 프롬프트로 풀스택 앱 빠르게 생성하기 모범사례 ChatGPT 고급 데이터 분석(코드 인터프리터) 완벽 가이드: 업로드부터 시각화까지 가이드 ChatGPT Custom GPTs 고급 가이드: Actions, API 통합, 지식 베이스 설정 가이드 ChatGPT 음성 모드 가이드: 음성 중심 고객 서비스와 내부 워크플로우 구축 가이드 Claude API 프로덕션 챗봇 가이드: 안정적인 AI 어시스턴트를 위한 시스템 프롬프트 아키텍처 가이드 Claude Artifacts 활용 베스트 프랙티스: 인터랙티브 대시보드, 문서, 코드 미리보기 만들기 모범사례 Claude Code Hooks 가이드: Pre/Post 실행 훅으로 커스텀 워크플로우 자동화하기 가이드 Claude MCP 서버 설정 가이드: Claude Code와 Desktop을 위한 커스텀 도구 통합 가이드 Cursor 사례 연구: 1인 창업자가 AI 코딩으로 2주 만에 Next.js SaaS MVP 구축 사례 Cursor Composer 완벽 가이드: 멀티 파일 편집, 인라인 Diff, 에이전트 모드 가이드 Cursor Rules 고급 가이드: 프로젝트별 AI 설정과 팀 코딩 표준 가이드 Devin AI 팀 워크플로우 통합 베스트 프랙티스: Slack, GitHub, 코드 리뷰 자동화 모범사례 Devin 사례 연구: 500개 패키지 Python 모노레포 의존성 자동 업그레이드 사례 ElevenLabs 사례 연구: 에드테크 스타트업이 6주 만에 200시간 강의를 8개 언어로 현지화 사례 ElevenLabs 다국어 더빙 가이드: 글로벌 콘텐츠를 위한 자동화된 영상 현지화 워크플로우 가이드 ElevenLabs Voice Design 완벽 가이드: 게임, 팟캐스트, 앱을 위한 일관된 캐릭터 음성 만들기 가이드 Gemini 2.5 Pro vs Claude Sonnet 4 vs GPT-4o: AI 코드 생성 비교 2026 비교 Gemini API 멀티모달 개발자 가이드: 이미지, 비디오, 문서 분석 코드 예제 가이드