클로드 코드

[클로드 코드 완독 챌린지] - 2주차 : 클로드 실행 모드 마스터하기

sson-coding 2025. 10. 4. 16:31

클로드는 단순히 대화만 하는 도구가 아니라, 실행 모드와 권한 옵션을 달리하면서 작업 맥락에 최적화된 방식으로 동작할 수 있다.

클로드 코드의 실행 모드 체계

실행 모드는 크게 세 가지 축으로 나눌 수 있다.

  1. 기본 동작 모드
    • 인터랙티브 모드 : 대화형으로 질문과 답변을 주고 받으며 작업
    • 프린트 모드 : 단순 출려, 비대화형 처리
  2. 권한 설정
    • 일반 모드 : 안전장치를 유지한 기본 실행
    • YOLO 모드 : 권한 확인 단계를 스킵하고 속도에 집중
  3. 인터랙티브 모드의 확장 기능
    • 플랜 모드 : 파일 쓰기나 도구 실행 없이 분석 기능만 제공
    • Default : 툴 사용 시 권한 확인
    • Auto-Accepts Edits : 파일 수정에 대한 자동 권한 수락
    • Bypass Permissions : 모든 권한 자동 수락

클로드 실행 모드의 체계를 정리하고, 상황별로 어떤 모드를 선택해야 하는지 실전 예시와 함께 알아보자.


클로드 코드의 실행 모드 개요

기본 동작 모드

모드 입출력 방식 사용자 상호작용 적용 상황

인터랙티브 대화형 실시간 피드백 일반 개발,탐색,학습
프린트 비대화형 단방향 출력 스크립트,자동화, CI/CD

권한 및 안정성 옵션

모드 권한 확인 안전성 적용 상황

일반 매번 확인 높음 프로덕션 작업
YOLO 권한 스킵 낮음 빠른 프로토타이핑

YOLO 모드는 편리하고 속도가 빠르지만 변경 승인 없이 진행된다. 프로덕션 브랜치/민감 코드에서는 주의해야 한다.

인터랙티브 모드 내 추가 기능

모드 특징 적용 상황

일바 기본 상태, 각 편집 확인 일반적인 개발 작업
Auto-Accept Edits 편집 자동 수락 반복 작업,리팩토링
플랜 모드 실행 전 계획 수립 복잡한 작업
Bypass Permissions 모든 권한 자동 수락 좀 더 다양한 작업

Shift + Tab 으로 모든 순환할 수 있다.

구조 변경, 대규모 리팩토링은 플랜 모드로 계획부터 받은 뒤, 반복 적용 구간만 Auto-Accept Edits 로 전환하는 식으로 접근하면 된다.


인터랙티브 모드(대화형)

기본 사용법

기본 모드로, 실행 후 필요 시 /status 로 현재 상태를 확인하고, 전혀 다른 주제로 전환할 때 /clear 로 초기화하면 된다.

특징

  1. 실시간 질문과 답변
  2. 단계별 확인과 피드백
  3. 복잡한 작업을 점진적으로 진행
  4. 사용자 승인 하에 파일 수정

사용 시기

  1. 이해 목적 : 새로운 기술 탐색, 코드 리뷰/해설, 난해한 개념 분석
  2. 탬색적 개발 : 요구가 불명확할 때, 옵션 비교가 필요할 때, 실험적 기능 초안
  3. 페어 프로그래밍 개념으로 세밀한 의사결정이 잦은 작업 전반

프린트 모드(비대화형)

기본 사용법

사용자 개입 없이 결과를 출력하는 모드이다.

# 기본 프린트 모드 실행
$ claude --print "테스트를 실행하고 실패한 부분을 수정해줘"

# 짧은 형태
$ claude -p "코드 리뷰를 수행해줘"

특징

  1. 비대화형 실행
  2. 결과를 직접 출력
  3. 스크립트 및 자동화에 적합
  4. 단일 명령으로 완료

장점

  1. CI/CD 파이프라인 통합 가능
  2. 자동화 스크립트 작성 용이
  3. 빠른 실행 속도
  4. 배치 작업 처리 가능

예시

깃허브 액션 워크플로에서 프린트 모드를 활용한 예가 있다. PR 의 변경사항을 클로드가 리뷰하면서 코멘트를 넣을 수 있다.


YOLO(권한 스킵)

기본 사용법

권한 확인을 건너뛰어 빠르게 작업한다. 이는 인터랙티브 모드와 프린트 모드 모두에서 사용할 수 있는 옵션이다.

# 인터랙티브 + YOLO
$ claude --dangerously-skip-permissions "빠르게 React 컴포넌트를 만들어줘"

# 프린트 + YOLO
$ claude --print --dangerously-skip-permissions "전체 프로젝트를 TypeScript 로 변환"

특징

  1. 매우 빠른 실행 속도
  2. 프로토타이핑에 최적화
  3. 반복 작업 자동화
  4. 최소한의 질문과 확인

주의사항

  1. 최소한의 안전 검사
  2. 개발 환경에서만 권장
  3. 되돌릴 수 있는 변경만 수행
  4. 중요한 파일 수정 시 주의
  5. 격리된 환경에서 사용 권장

YOLO 모드 안전하게 사용 : Dev Container 환경

강력하지만 위험할 수 있으므로, 높은 보안 수준을 요구하는 환경에선 이를 보다 격리된 환경에서 사용하는 것이 좋다. Dev Container 는 이러한 목적에 부합하는 솔루션이다.

Dev Container

devcontainer 는 개발환경을 코드로 정의해주는 설정 파일로, 일관된 개발 환경을 자동으로 구성할 수 있게 해준다.

도커 기반 컨테이너 안에 필요한 언어, 라이브러리, 툴을 미리 정의하여 팀원 간 환경 차이를 줄이고, 로컬 세팅 부담 없이 바로 개발을 시작할 수 있다.


인터랙티브 모드의 특수 키 기능

작업 제어 - ESC

  1. 1번 - 작업 중단
    1. 클로드의 현재 작업 즉시 중단
    2. 컨텍스트는 유지되어 다른 지시사항 제공 가능
  2. 2번 - 히스토리 점프
    1. 대화 히스토리로 이동하여 이전 프롬프트 편집 가능
    2. 다른 방향으로 작업을 탐색하고 싶을 때 사용
    3. 새로운 분기를 만들어 대안적 접근 시도 가능

모드 전환 - Shift + Tab

  1. 일반 보드 : 각 편집 사항을 개별적으로 확인
  2. Auto-Accept Edits : 모든 편집을 자동으로 수락
  3. 플랜 모드 : 복잡한 작업의 계획을 먼저 수립(읽기 전용)

모드별 상세 설명

Auto-Accept Edits(자동 편집 수락)

기본 사용법

인터랙티브 모드 내에서 클로드가 제안하는 모든 파일 편집을 자동을 수락하는 기능이다.

특징

  1. 자동 편집 수락
  2. 빠른 작업 속도
  3. 대량 작업에 최적화
  4. 인터랙티브와 프린트의 중간 : 대화는 가능하지만 편집은 자동 수락

장점

  1. 반복 작업 자동화 : 비슷한 패턴의 수정 작업을 빠르게 처리
  2. 리팩토링 효율성 : 대규모 코드 개선 작업에 이상적
  3. 생산성 향상 : 신뢰할 수 있는 작업에서 확인 시간 절약
  4. 일관된 코드 스타일 : 전체 코드 베이스에 일관된 규칙 적용

플랜 모드(계획 수립)

기본 사용법

클로드가 복잡한 작업을 수행하기 전에 상세한 계획을 먼저 수립한다.

# Shift+Tab 을 두 번 눌러 플랜 모드로 전환
# [Plan Mode On] 표시가 나타남
전체 애플리케이션을 마이크로서비스 아키텍처로 리팩토링해줘

특징

  1. 단계별 계획 수립 : 복잡한 작업을 작은 단계로 분해
  2. 위험 분석 : 각 단계의 잠재적 위험 사전 식별
  3. 영향도 평가 : 변경사항이 미칠 영향 사전 분석
  4. 롤백 전략 : 문제 발생 시 복구 계획 포함

장점

  1. 리스크 최소화 : 실행 전 충분한 검토로 위험 감소
  2. 팀 혐업 강화 : 계획을 팀과 공유하고 검토 가능
  3. 복잡한 작업 관리 : 대규모 변경사항을 체계적으로 관리
  4. 문서화 : 작업 과정이 자동으로 문서화됨

모드별 사용 시나리오

프로젝트 개발 시나리오

프로젝트 초기 단계

인터랙티브 모드를 활용해 클로드와 대화하며 프로젝트 구조를 함께 설계할 수 있다. 즉시 피드백을 받으며 아키텍처와 기술 스택을 논의할 수 있어, 기초를 빠르게 다지는 데 유용하다.

$ claude "프로젝트 구조를 설계해줘"

빠른 프로토타이핑

아이디어를 빠르게 검증하려면 속도가 중요하다. 이때 YOLO 모드를 Dev Container 와 같은 격리된 환경과 함께 사용하면, 권한 확인 과정을 생략하고 최소한의 상호작용만으로 프로토타입을 생성할 수 있다.

# Dev Container 환경에서 YOLO 모드로 빠른 프로토타입 생성
# 먼저 격리된 환경 준비
$ code --install-extension ms-vscode-remote.remote-containers
$ code .devcontainer/

# Container 내에서 YOLO 모드 실행
$ claude --dangerously-skip-permissions "기본 CRUD 기능이 있는 프로토타입 생성"

품질 관리

프린트 모드를 활용하면 대화식 개입 없이 정기적인 코드 분석과 리포트를 자동으로 생성할 수 있다. 이를 CI 파이프라인에 추가하면, 배포 전마다 품질 상태를 기록으로 남길 수 있다.

# claude --print "코드 품질 검사 및 개선점 제안" > quality-report.md

리팩토링

다양한 리팩토링 작업을 브랙치로 나눠서 커밋을 PR 하는 루틴을 담은 스크립트를 정의해서 여러 파일에 걸쳐 적용하면 수백 개의 파일도 일관되게 처리할 수 있다.

# 스크립트로 체계적 변경
$ ./refactoring-script.sh

배포 전 최정 검토

프린트 모드를 활용하면 코드 전체를 스캔하고, 잠재적인 문제나 개선 사항을 리포트로 남길 수 있다. 이를 통해 최종 안정성을 확보하고 배포 리스크를 줄일 수 있다.

$ claude --print "전체 프로젝트 품질 검사 및 리포트 생성"