클로드는 단순히 대화만 하는 도구가 아니라, 실행 모드와 권한 옵션을 달리하면서 작업 맥락에 최적화된 방식으로 동작할 수 있다.
클로드 코드의 실행 모드 체계
실행 모드는 크게 세 가지 축으로 나눌 수 있다.
- 기본 동작 모드
- 인터랙티브 모드 : 대화형으로 질문과 답변을 주고 받으며 작업
- 프린트 모드 : 단순 출려, 비대화형 처리
- 권한 설정
- 일반 모드 : 안전장치를 유지한 기본 실행
- YOLO 모드 : 권한 확인 단계를 스킵하고 속도에 집중
- 인터랙티브 모드의 확장 기능
- 플랜 모드 : 파일 쓰기나 도구 실행 없이 분석 기능만 제공
- Default : 툴 사용 시 권한 확인
- Auto-Accepts Edits : 파일 수정에 대한 자동 권한 수락
- Bypass Permissions : 모든 권한 자동 수락
클로드 실행 모드의 체계를 정리하고, 상황별로 어떤 모드를 선택해야 하는지 실전 예시와 함께 알아보자.
클로드 코드의 실행 모드 개요
기본 동작 모드
모드 입출력 방식 사용자 상호작용 적용 상황
| 인터랙티브 | 대화형 | 실시간 피드백 | 일반 개발,탐색,학습 |
| 프린트 | 비대화형 | 단방향 출력 | 스크립트,자동화, CI/CD |
권한 및 안정성 옵션
모드 권한 확인 안전성 적용 상황
| 일반 | 매번 확인 | 높음 | 프로덕션 작업 |
| YOLO | 권한 스킵 | 낮음 | 빠른 프로토타이핑 |
YOLO 모드는 편리하고 속도가 빠르지만 변경 승인 없이 진행된다. 프로덕션 브랜치/민감 코드에서는 주의해야 한다.
인터랙티브 모드 내 추가 기능
모드 특징 적용 상황
| 일바 | 기본 상태, 각 편집 확인 | 일반적인 개발 작업 |
| Auto-Accept Edits | 편집 자동 수락 | 반복 작업,리팩토링 |
| 플랜 모드 | 실행 전 계획 수립 | 복잡한 작업 |
| Bypass Permissions | 모든 권한 자동 수락 | 좀 더 다양한 작업 |
Shift + Tab 으로 모든 순환할 수 있다.
구조 변경, 대규모 리팩토링은 플랜 모드로 계획부터 받은 뒤, 반복 적용 구간만 Auto-Accept Edits 로 전환하는 식으로 접근하면 된다.
인터랙티브 모드(대화형)
기본 사용법
기본 모드로, 실행 후 필요 시 /status 로 현재 상태를 확인하고, 전혀 다른 주제로 전환할 때 /clear 로 초기화하면 된다.
특징
- 실시간 질문과 답변
- 단계별 확인과 피드백
- 복잡한 작업을 점진적으로 진행
- 사용자 승인 하에 파일 수정
사용 시기
- 이해 목적 : 새로운 기술 탐색, 코드 리뷰/해설, 난해한 개념 분석
- 탬색적 개발 : 요구가 불명확할 때, 옵션 비교가 필요할 때, 실험적 기능 초안
- 페어 프로그래밍 개념으로 세밀한 의사결정이 잦은 작업 전반
프린트 모드(비대화형)
기본 사용법
사용자 개입 없이 결과를 출력하는 모드이다.
# 기본 프린트 모드 실행
$ claude --print "테스트를 실행하고 실패한 부분을 수정해줘"
# 짧은 형태
$ claude -p "코드 리뷰를 수행해줘"
특징
- 비대화형 실행
- 결과를 직접 출력
- 스크립트 및 자동화에 적합
- 단일 명령으로 완료
장점
- CI/CD 파이프라인 통합 가능
- 자동화 스크립트 작성 용이
- 빠른 실행 속도
- 배치 작업 처리 가능
예시
깃허브 액션 워크플로에서 프린트 모드를 활용한 예가 있다. PR 의 변경사항을 클로드가 리뷰하면서 코멘트를 넣을 수 있다.
YOLO(권한 스킵)
기본 사용법
권한 확인을 건너뛰어 빠르게 작업한다. 이는 인터랙티브 모드와 프린트 모드 모두에서 사용할 수 있는 옵션이다.
# 인터랙티브 + YOLO
$ claude --dangerously-skip-permissions "빠르게 React 컴포넌트를 만들어줘"
# 프린트 + YOLO
$ claude --print --dangerously-skip-permissions "전체 프로젝트를 TypeScript 로 변환"
특징
- 매우 빠른 실행 속도
- 프로토타이핑에 최적화
- 반복 작업 자동화
- 최소한의 질문과 확인
주의사항
- 최소한의 안전 검사
- 개발 환경에서만 권장
- 되돌릴 수 있는 변경만 수행
- 중요한 파일 수정 시 주의
- 격리된 환경에서 사용 권장
YOLO 모드 안전하게 사용 : Dev Container 환경
강력하지만 위험할 수 있으므로, 높은 보안 수준을 요구하는 환경에선 이를 보다 격리된 환경에서 사용하는 것이 좋다. Dev Container 는 이러한 목적에 부합하는 솔루션이다.
Dev Container
devcontainer 는 개발환경을 코드로 정의해주는 설정 파일로, 일관된 개발 환경을 자동으로 구성할 수 있게 해준다.
도커 기반 컨테이너 안에 필요한 언어, 라이브러리, 툴을 미리 정의하여 팀원 간 환경 차이를 줄이고, 로컬 세팅 부담 없이 바로 개발을 시작할 수 있다.
인터랙티브 모드의 특수 키 기능
작업 제어 - ESC
- 1번 - 작업 중단
- 클로드의 현재 작업 즉시 중단
- 컨텍스트는 유지되어 다른 지시사항 제공 가능
- 2번 - 히스토리 점프
- 대화 히스토리로 이동하여 이전 프롬프트 편집 가능
- 다른 방향으로 작업을 탐색하고 싶을 때 사용
- 새로운 분기를 만들어 대안적 접근 시도 가능
모드 전환 - Shift + Tab
- 일반 보드 : 각 편집 사항을 개별적으로 확인
- Auto-Accept Edits : 모든 편집을 자동으로 수락
- 플랜 모드 : 복잡한 작업의 계획을 먼저 수립(읽기 전용)
모드별 상세 설명
Auto-Accept Edits(자동 편집 수락)
기본 사용법
인터랙티브 모드 내에서 클로드가 제안하는 모든 파일 편집을 자동을 수락하는 기능이다.
특징
- 자동 편집 수락
- 빠른 작업 속도
- 대량 작업에 최적화
- 인터랙티브와 프린트의 중간 : 대화는 가능하지만 편집은 자동 수락
장점
- 반복 작업 자동화 : 비슷한 패턴의 수정 작업을 빠르게 처리
- 리팩토링 효율성 : 대규모 코드 개선 작업에 이상적
- 생산성 향상 : 신뢰할 수 있는 작업에서 확인 시간 절약
- 일관된 코드 스타일 : 전체 코드 베이스에 일관된 규칙 적용
플랜 모드(계획 수립)
기본 사용법
클로드가 복잡한 작업을 수행하기 전에 상세한 계획을 먼저 수립한다.
# Shift+Tab 을 두 번 눌러 플랜 모드로 전환
# [Plan Mode On] 표시가 나타남
전체 애플리케이션을 마이크로서비스 아키텍처로 리팩토링해줘
특징
- 단계별 계획 수립 : 복잡한 작업을 작은 단계로 분해
- 위험 분석 : 각 단계의 잠재적 위험 사전 식별
- 영향도 평가 : 변경사항이 미칠 영향 사전 분석
- 롤백 전략 : 문제 발생 시 복구 계획 포함
장점
- 리스크 최소화 : 실행 전 충분한 검토로 위험 감소
- 팀 혐업 강화 : 계획을 팀과 공유하고 검토 가능
- 복잡한 작업 관리 : 대규모 변경사항을 체계적으로 관리
- 문서화 : 작업 과정이 자동으로 문서화됨
모드별 사용 시나리오
프로젝트 개발 시나리오
프로젝트 초기 단계
인터랙티브 모드를 활용해 클로드와 대화하며 프로젝트 구조를 함께 설계할 수 있다. 즉시 피드백을 받으며 아키텍처와 기술 스택을 논의할 수 있어, 기초를 빠르게 다지는 데 유용하다.
$ 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 "전체 프로젝트 품질 검사 및 리포트 생성"
'클로드 코드' 카테고리의 다른 글
| [클로드 코드 완독 챌린지] - 2주차 : MCP 연동 (1) | 2025.10.04 |
|---|---|
| [클로드 코드 완독 챌린지] - 2주차 : 클로드 코드의 내장 도구와 터미널 확장 (1) | 2025.10.04 |
| [클로드 코드 완독 챌린지] - 2주차 : 프롬프트 잘 작성하기 (0) | 2025.10.04 |
| [클로드 코드 완독 챌린지] - 2주차 : CLAUDE.md (0) | 2025.09.29 |
| [클로드 코드 완독 챌린지] - 1주차 : 고양이가 나오는 웹 페이지 생성 (0) | 2025.09.28 |